Happy birthday: 10 years with pcsc-lite

10 years ago

I started working on pcsc-lite 10 years ago.

$ pcscd --version
pcsc-lite version 1.7.4.
Copyright (C) 1999-2002 by David Corcoran <corcoran@linuxnet.com>.
Copyright (C) 2001-2011 by Ludovic Rousseau <ludovic.rousseau@free.fr>.
Copyright (C) 2003-2004 by Damien Sauveron <sauveron@labri.fr>.
Report bugs to <muscle@lists.musclecard.com>.
Enabled features: MacOS i386-apple-darwin10.8.0 serial usb usbdropdir=/tmp/lib/pcsc/drivers ipcdir=/tmp/run/pcscd configdir=/tmp/etc/reader.conf.d

I do not have a trace of my exact first change in 2001. Maybe it was before CVS was used to manage the source code. The oldest trace I found is in the ChangeLog file:

pcsc-lite-1.0.2beta: (Ludovic Rousseau)
29 Nov, 2001

I released version 1.0.2beta in November 2001. But I started hacking on the code a few months before that.

First source code commit

My first CVS commit is a test :-) now know under SVN revision number 23.
2002-04-04  Ludovic Rousseau
    * [r23] ChangeLog: test

My next change (revision 24) is a "complete and automatic reindentation of *.c and *.h files". 54 files were affected by this patch. Yes, I do not like to work on badly formatted files.

My history

I already blogged about pcsc-lite history in October 2010 in Subversion statistics for pcsc-lite at September 2010. You can also access a specific page for each maintainer. My page is here.

One nice graphic is the activity by hour. You can clearly find the two lunch times and sleep time.

Next 10 years


The PC/SC API is (should be) fixed by the PC/SC workgroup. But Microsoft does not want to change anything in its implementation. So the PC/SC workgroup does not propose any change that would need a modification of the Microsoft parts. Any change made by the PC/SC workgroup are implemented by drivers instead.

So I do not expect any change of the WinSCard API.


The pcsc-lite TODO list contains only 3 points.
  1. include Apple patches and improvements (if possible/needed)
  2. allow to have pcscd and libpcsclite on two different machines.
    That would be needed to support remote PAM login. Maybe use unix2tcp (http://dizzy.roedu.net/unix2tcp/)
  3. manage power suspend/resume (in a laptop for example) and coordinate with the driver (when/if possible)
Point 1: Apple has its own version of pcsc-lite, now hosted on http://smartcardservices.macosforge.org/. I don't think Apple is interested in merging their code with the "official" pcsc-lite version.

Point 2: It is more of less already possible by redirecting /var/run/pcscd/pcscd.comm (see PC/SC client and server on two different hosts). Or using another remote desktop solution like rdesktop.

Point 3: I do not have a laptop any more. So I have no idea of what is needed here. The only request I have is Debian bug #382282 "pcscd needs to be restarted across suspend" opened since Aug 2006.

New blood?

I do not see any new blood on the MUSCLE mailing list working on pcsc-lite code. The pcsc-lite project may suffer from the bus factor.


I am happy to continue maintaining pcsc-lite for the next few years. Maybe I will also create a new blog entry for my 20 years with pcsc-lite.