Van Lindberg <[EMAIL PROTECTED]> added the comment:
Sorry for the long comment. There are two parts to this comment. First,
my recommendation, and second, the somewhat tedious analysis of the
Microsoft EULAs. The second part is the verbiage to justify the first.
Recommendation
==
To comply with Microsoft's EULA, the PSF should include text like the
following in the Windows binary installer license text:
"This program is linked with and uses Microsoft Distributable Code,
copyrighted by Microsoft Corporation. The Microsoft Distributable Code
includes the following files:
[...]
If you further distribute programs that include the Microsoft
Distributable Code, you must comply with the restrictions on
distribution specified by Microsoft. In particular, you must require
distributors and external end users to agree to terms that protect the
Microsoft Distributable Code at least as much as Microsoft's own
requirements for the Distributable Code. See Microsoft's documentation
(included in its developer tools and on its website at microsoft.com)
for specific details.
Redistribution of the Windows binary build of the Python interpreter
complies with this agreement, provided that you do not:
- alter any copyright, trademark or patent notice in Microsoft's
Distributable Code;
- use Microsoft’s trademarks in your programs’ names or in a way that
suggests your programs come from or are endorsed by Microsoft;
- distribute Microsoft's Distributable Code to run on a platform other
than Microsoft operating systems, run-time technologies or application
platforms;
- include Microsoft Distributable Code in malicious, deceptive or
unlawful programs; or
- modify or distribute the source code of any Microsoft Distributable
Code so that any part of it becomes subject to an Excluded License. An
Excluded License is one that requires, as a condition of use,
modification or distribution, that the code be disclosed or distributed
in source code form; or others have the right to modify it.
These restrictions apply only to the Microsoft Distributable Code as
defined above, not to Python itself or any programs running on the
Python interpreter. The redistribution of the Python interpreter and
libraries is governed by the Python Software License included with this
file, or by other licenses as marked.
Commentary on the distribution requirements
===
VS 2008 (labels added for clarity)
--
"ii.Distribution Requirements. For any Distributable Code you
distribute, you must
(A) add significant primary functionality to it in your programs;"
This term is satisfied by the addition of the Python interpreter.
(B) "for any Distributable Code having a filename extension of .lib,
distribute only the results of running such Distributable Code through a
linker with your program;"
This prohibits distributing libraries in .lib form. Based on what I see
in the MSI, we do not do this. We do include _msi.lib, but that is not
Microsoft's _msi.lib, but the ready-for linking version of MvL's msilib.
(C) "distribute Distributable Code included in a setup program only as
part of that setup program without modification;"
Python does not include any Distributable Code included in a setup program.
(D) "require distributors and external end users to agree to terms that
protect it at least as much as this agreement;"
This term specifies that any Distributable Code that we distribute must
itself have some sort of agreement that protects Microsoft's rights in
"it" (the code) "at least as much as this agreement."
The important term here is "it." The antecedent here is "Distributable
Code you distribute," (Microsoft's code, in this case the msvcrt.dll),
not "your programs" (Python).
(E) "display your valid copyright notice on your programs; and"
Python complies with this requirement, as we display our own license
agreement and include sys.copyright.
(F) "indemnify, defend, and hold harmless Microsoft from any claims,
including attorneys’ fees, related to the distribution or use of your
programs."
Under this provision, we agree not to sue Microsoft for distributing Python.
"iii. Distribution Restrictions. You may not
(G) alter any copyright, trademark or patent notice in the Distributable
Code;"
Python complies with this requirement, as the Microsoft Distributable
Code is distributed unaltered.
(H) "use Microsoft’s trademarks in your programs’ names or in a way that
suggests your programs come from or are endorsed by Microsoft;"
Python complies with this requirement, as we do use Microsoft's
trademarks in the program name and we don't suggest that Python comes
from or is endorsed by Microsoft.
(I) "distribute Distributable C