Open Source License Question

Andrew Dalke adalke at mindspring.com
Sun Oct 31 14:10:16 EST 2004


Donnal Walter wrote:
> This is not an exact analogy, but if Python were licensed under GPL (or 
> OSL), would *all* programs written *in* Python need to have the same 
> license?

It's in the GPL FAQ:
  http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL

"""
    If a  programming language interpreter is released under the GPL,
    does that  mean programs written to be interpreted by it must be
    under GPL-compatible licenses?

    When the interpreter just interprets a language, the answer is
    no. The interpreted program, to the interpreter, is just data;
    a free software license like the GPL, based on copyright law,
    cannot limit what data you use the interpreter on. You can run
    it on any data (interpreted program), any way you like, and
    there are no requirements about licensing that data to anyone.

    However, when the interpreter is extended to provide "bindings"
    to other facilities (often, but not necessarily, libraries),
    the interpreted program is effectively linked to the facilities
    it uses through these bindings. So if these facilities are
    released under the GPL, the interpreted program that uses them
    must be released in a GPL-compatible way. The JNI or Java Native
    Interface is an example of such a facility; libraries that are
    accessed in this way are linked dynamically with the Java programs
    that call them.

    Another similar and very common case is to provide libraries with
    the interpreter which are themselves interpreted. For instance,
    Perl comes with many Perl modules, and a Java implementation
    comes with many Java classes. These libraries and the programs
    that call them are always dynamically linked together.

    A consequence is that if you choose to use GPL'd Perl modules or
    Java classes in your program, you must release the program in a
    GPL-compatible way, regardless of the license used in the Perl
    or Java interpreter that the combined Perl or Java program will
    run on.
"""

				Andrew
				dalke at dalkescientific.com



More information about the Python-list mailing list