Starting from today, we will open our internal rfid library to the world, first as a public sdk and then as an open source project under GPLv3 license.
RFID and Open Sourcing
We can resume the current state of public contactless libraries to these projects:- PC/SC - pcsclite: not a rfid library.
- rfidiot.org: for Python.
- libnfc-nxp (libnfc.org): nfc oriented library, mainly supported by NXP. In fact LibLogicalAccess could support libnfc-nxp as a Reader Provider.
- libfreefare: api based on libnfc-nxp to manage mifare chips family
- Virtual Smart Card and PC/SC Relay projects: smart card emulation
- OpenNFC: NFC oriented library, mainly supported by InsideSecure.
- librfid from OpenPCD guys: this project looks abandoned - no update since 4 years.
- OpenSC: smart card library, not oriented to manage rfid chips
- SpringCard pc/sc sdk: C oriented sdk for pc/sc and springcard readers. Its license doesn't allow free use if you're not using hardware from this company.
LibLogicalAccess project vision
It was designed to be the contactless layer for most of our products. It provides low level commands access and high level generic abstraction for several chips and reader of the market on 125Khz, 13.56Mhz (ISO14443 / ISO15693) and 433Mhz frequencies. The abstraction allows software using that library to support newly implemented technologies without any modification.Developed in C++, the library is available on Windows and Linux operating systems, 32-bit and 64-bit, user mode only. The build process is not maintained anymore on Mac OS X but it should still work with limited modifications. More precisely, the current build and test process is on Windows >= XP SP3 and Debian Squeeze.
On Windows we wanted to support mainly used development language like C# / VB.NET (and by extension VB and Delphi). C++ objects are wrapped into COM objects layer that can be used directly into these languages.
Why
Because we already have a well internally used rfid library. Why not making it open for everyone?Because transforming a company project into an open source project is a bit challenging.
Because we are already convinced about the community advantage as most of the development tools, applications server and libraries we use are open source. Giving back to the community what we get from the community.
Because some of our customers use our software for security purpose. Making the rfid layer open source will serve that purpose.
Because we are a small company always looking for new competencies.
What will change
For our customers
In the immediate effect: nothing. Our products (IDTransfer, DataWriter, ...) will work as usual and we don't have any plan for open sourcing end-user products. Step by step... we want to get some feedbacks first.For our partners
Even if we encourage public information you don't have to worry about our mutual agreement.If you act as a reader manufacturer with specific api and your reader is supported by LibLogicalAccess, it has even more value for you as new people can develop application with your hardware more quickly.
For our current LibLogicalAccess library users
You will now have a dedicated LibLogicalAccess web space where you can find information, get fresh news, freely download updates and the possibility to contribute.For you
If you are reading this post I believe that you are interested about rfid development. This library will allow you to go ahead with many already supported technologies with some helper on business target like Access Control and NFC use.For us
More coffee. We have to adopt few changes in our work to be community driven instead of being corporate driven. Changes are technical (see next point) but also organizational.Next stages
- Making the library available publicly as a sdk without source code. Documentation, headers, binaries and dependencies will be freely available for download without registration. A specific web space and communities tools must be set-up (mailing list, ...).
- Making uniform the build process between the different platforms. On Windows the build process is managed by Maven, on Linux you have to use SConstruct directly.
- Cleaning code and separate few content that we are not allowed to communicate into another library. That's the hard stuff because we are using several libraries and information under different licenses and sometimes NDA that doesn't match well with GPLv3. In the result we have to add a dynamic plug-in functionality where plug-ins are also under GPLv3 but with license exception because they are linking with NON-GPL libraries.
- Making the source code available on a public git repository. Setting-up a new Continuous Integration Server and Maven repository for the community.
License
At the end the project will be available under GPLv3 license with an exception for ISLOG.Because in the coming weeks we will focus on Stage 1 only, until we reach Stage 4 the library will be temporary available under another license that GPLv3.
Stage 1 in the coming weeks. I believe everything should be ready for October but do not hesitate to give feedbacks asap.
We look forward to give you some news soon !



