Next: , Up: Legal concerns

1.5.1 Complying with the gnu GPL

The GPL licensing of the virtual machine means that all derivatives of the virtual machine must be put under the same license. In other words, it is strictly forbidden to distribute programs that include the gnu Smalltalk virtual machine under a license that is not the GPL. This also includes any bindings to external libraries. For example, the bindings to Gtk+ are released under the GPL.

In principle, the GPL would not extend to Smalltalk programs, since these are merely input data for the virtual machine. On the other hand, using bindings that are under the GPL via dynamic linking would constitute combining two parts (the Smalltalk program and the bindings) into one program. Therefore, we added a special exception to the GPL in order to avoid gray areas that could adversely hit both the project and its users:

In addition, as a special exception, the Free Software Foundation give you permission to combine gnu Smalltalk with free software programs or libraries that are released under the gnu LGPL and with independent programs running under the gnu Smalltalk virtual machine.

You may copy and distribute such a system following the terms of the gnu GPL for gnu Smalltalk and the licenses of the other code concerned, provided that you include the source code of that other code when and as the gnu GPL requires distribution of source code.

Note that people who make modified versions of gnu Smalltalk are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The gnu General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.