[Python-3000] C API for ints and strings (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Sun Sep 9 11:24:55 CEST 2007
- Previous message: [Python-3000] C API for ints and strings
- Next message: [Python-3000] C API for ints and strings
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
You're being awfully selective in your reading.
On purpose. All alternatives can be ruled out quickly as unfeasible, or equivalent to "distribute the source code".
6a is but one of 5 choices.
So which of these would you recommend?
"b) Use a suitable shared library mechanism for linking with the Library."
This is shortened. The full text reads
b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
So this is only an option if "a copy of the library [is] already present on the user's computer system". This may work for Linux, but not for Windows, or Solaris (not sure about OSX).
"c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution."
I find that equally unacceptable for Python. People distributing Python should not be required to include written offers.
"d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place."
This is the same as "distribute the source code".
"e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy."
This may work for a limited number of copies, where you know all recipients personally, but won't work for Python.
Also, the LGPLv3 in section 4d.1 specifies the same "Use a suitable shared library mechanism for linking with the Library." This is more relevant, since GMP is licensed under v3 and not v2.1.
And it has the same restriction: the shared library must already be present on the user's computer system. So again, this won't work for the Windows binaries that we distribute. We (python.org) could place the source code of GMP along with the MSI binary, but then people redistributing the MSI binary would break the LGPL, unless they also distribute the GMP sources.
Regards, Martin
- Previous message: [Python-3000] C API for ints and strings
- Next message: [Python-3000] C API for ints and strings
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]