OpenPGP Card

Alon Bar-Lev alon.barlev at
Tue Sep 6 10:09:25 CEST 2005

Lionel Elie Mamane wrote:

> But there is indeed a case to be made that if the library implements a
well-known, standard ABI, then linking to it is not a GPL violation.
> <shrug> Legally it depends whether the linked program is a "derived work"
from the program or not.

But PKCS#11 is not a library you link against!
It is an API specification.
There is no proprietary code you link into your program in order to
implement this standard.

> GnuPG doesn't *link* to RAID drivers or video drivers. They don't end up
"running linked together in a shared address space".
> They communicate over syscalls or sockets; mechanisms that are well-known
as to be "GPL-safe" (as long as the coupling between them isn't
> too tight). See .

I think you should read PKCS#11 specification... You cannot call it
"combining two parts into a program" PKCS#11 is a specification, you don't
provide the implementation along with your program, the specification is
EXACTLY the same as protocol or command line specification. Like you can use
HTTP protocol, since you have RFC that state how, you use cryptographic
token since you have PKCS#11 that tells you how.

Since you don't provide the PKCS#11 provider implementation along with your
GPLed distribution and that there is a complete API specification of the
interface,  it does not fall into the "combined program".

> On the other hand, some people interpret the GPL in a way saying that if a
library implements a "standard" ABI, then one can link GPL software
> to it. <shrug> I think it is a good idea to stick to the copyright
holder's interpretation.

I don't understand this statement...

>> I can show you that it GPLed program loads these drivers...
> Yes, show me, I'm curious.

opensc from - LGPL uses PKCS#11
pkcs11_login from - LGPL uses PKCS#11
openCryptoki from - GPL uses

Best Regards,
Alon Bar-Lev.

More information about the Gnupg-users mailing list