Parts of this library are free; this means that everyone is free
to use it and free to redistribute it on a free basis.
is not in the public domain; it is copyrighted and there
are restrictions on its distribution, but these restrictions are
designed to permit everything that a good cooperating citizen would want
to do. What is not allowed is to try to prevent others from further
sharing any version of
gpks11 that they might get from
Specifically, we want to make sure that you have the right to give
gpkcs11, that you receive source code or else can get
it if you want it, that you can change these functions or use pieces of
them in new free programs, and that you know you can do these
The fact that you must allow the recipient of the software to give it away, does not mean that you are not allowed to charged for software that is based on this library and its acompanying componentst. You are even encouraged to charge whatever the market will give you. But you are not allowed to take away the rights granted to you from your customer. Free in this context does not mean free beer but free speech instead.
To make sure that everyone has such rights, we have to forbid you to
deprive anyone else of these rights. For example, if you distribute
gpkcs11, you must give the recipients all
the rights that you have. You must make sure that they, too, receive or
can get the source code. And you must tell them their rights.
Also, for our own protection, we must make certain that everyone finds
out that there is no warranty for anything in the
If these functions are modified by someone else and passed on, we want
their recipients to know that what they have is not what we distributed,
so that any problems introduced by others will not reflect on our
Warning: due to a number of practical, political and commercial considerations the licensing for the whole package is rather complex and please make sure that you understand them before distributing code or use/build derivative products. This somewhat messy solution is a attempt to get the most out of the free software concept without undermining its useability by blocking the support of smartcard that are not availiable as free software. The maintainer and his supporting company are dedicated to choosing and developing free solutions over proprietary ones, but not to a point of making the use of the software impossible due to the lack of support for vital cards.
gpkcs11 in Version 0.5.4 was distributed under the terms of the GNU General
Public License, Version 2. (NOT under the GNU Lesser General
Public License.) A copy the GNU General Public License is included with
the distribution of
gpkcs11. If you are dedicated to free
software without commercial constraints, please continue to maintain
from this codebase.
As of Version 0.5.5 and later, different components of the package are released under different licenses. The code falls under four basic categories: free code, lesser free code, OpenSSL Group code and proprietary code.
the basic interface library
libgpkcs11 is release under the
GNU Lesser General Public License. This basically allows you to
statically link it or dynamically link it at compile time to your
application, regardless wether it is proprietary or free. This is an
example of lesser free code.
ceay-token is released under the BSD style code used by the
Crypto Algorithm implementation of the OpenSSL Group, based on code by
Eric A Young. Since it copies code from those packages it must be
released under the same code. This is an example of OpenSSL Group
cryptsh and all scheme scripts that acompany it, are released
under the GNU General Public License. Not only is this needed due
to the use of
guile, but it is the only component that does not
suffer from the license dependencies of the other components. It is as
free as can and should be.
Go to the first, previous, next, last section, table of contents.