On 27/12/2009 05:18, Stephen Hansen wrote:
Jonathan Hartley <tart...@tartley.com <mailto:tart...@tartley.com>> writes:

     These

    are non-technical users, so I'd rather send them a single executable
that 'just works',
[break]

    rather than asking them to install Python and then
    coach them through running a script - they would HATE that as a
    solution.


Whoa... How can you go from "single executable that 'just works'" to "asking them to install Python and then coach them" -- there's /miles/ of difference between the two of those options and countless places for you to sit between them.

This isn't an issue which is unique to Python, or which has anything to do with Python at all-- or that Python has any power to do anything about. This is the platform and ecosystem that Microsoft has made for you, and they alone have any power to change anything in this arena. This is their code, not Python's, and they define the rules by which you can use it.

One way to get those files is to just install python, yes. As Python was compiled with a legally licensed version of Visual C++ (though gratis from Microsoft, I believe), they have the rights to redistribute those files. Here though, /you/ are creating a new work-- and even though it includes Python its not a derivative of Python-- and distributing it. The question is, do /you/ have the right to distribute those files? That Python did originally, and you're using Python, does not automatically mean that yes you do-- lawyer-logic does not necessarily equate to layman-logic.

I have no idea what the answer to that question is, actually; IANAL and I have never needed to make a stand-alone windows exe out of python where it wasn't a simple matter to include a link to Microsoft's website where anyone is free to download and install those redistributable components.

This came up a few years ago if memory serves, and I don't remember anyone having a conclusive answer to it, and people argued a bit over Microsoft's EULA granting redistribution rights. I don't remember any actual lawyers chiming in, so I think the question was never solved: and that means in the end you should assume you do not have the right, as the assumption in the other direction is sorta bad.

Yes, in an ideal world people wouldn't need to run anything but your .exe. But the reality is, they probably will need to install the redistributable -- but come on.. The VC2008 (which is VC++ 9.0, which is what Python was compiled with) package is only 1.7 megs. Its not *that* big of a deal to say hey, if it doesn't work install this.

There's nothing else you (or anyone else) can do about it. Until Microsoft open-sources Visual Studio :)

--S

Thanks Steve, there's clearly much sense is what you say.

I recognise that this isn't unique to Python, nor the result of anything Python has any control over. However, I keep imagining slash hoping that we might have *engineered* our way around the situation. :-)

For example, I clearly don't know what I'm talking about, but might it be possible to bundle the VC redistributable installer with your exectutable, such that if the required DLL's are not already on the user's system, then we run the installer to create them. The logic to do this could be in a PyPI package, or else built into py2exe and similar. Then the application developer would only need to add a single option to py2exe in order for this whole issue to pretty much go away? Or am I misunderstanding?

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to