Commercial Products in Python?

Georg Mischler schorsch at schorsch.com
Fri Mar 23 20:23:06 CET 2001


Victor Muslin wrote:

> A friend of mine is considering developing a shrink-wrapped commercial
> product. Python seems like a possible choice, but it is not clear
> whether there are any precedents (though probably similar concerns
> apply to a Perl-based product).
> 
> I would very much appreciate an advice in this area and possibly
> answers to some of the following questions:

I won't claim to answer your "what is the best way" type of
questions. Instead, I'll just tell you what I have found
reasonable and practical for my own stuff.


> 1. Are there any existing shirnk-wrap commercial products written in
> Python?
>
> 2. If so, what are they?

Not sure if this fits a narrow definition of "shrink wrapped",
but it's definitively a commercial product, shipped to customers
on CD-ROM in a cardboard box: http://www.schorsch.com/rayfront/
Rayfront consists of (among many other things) 30'000 lines
of custom Python code, not counting various included toolkits.


> 3. What is the best way to go about it? Is it better to have customers
> install Python and give them bytecode files or use one of the programs
> that creates an executable?

My installer brings its own (renamed) interpreter, the standard
library in sources, and the custom modules as bytecode files.
A full multiplatform installation of Rayfront consists of about
2'500 files anyway, so that packing 150 of those into a frozen
binary looked rather pointless. For smaller packages, the math
will be different, with other reasons for or against freezing.
Installing the plain byte code files also has the advantage
that any bugfix updates just need to replace a few usually
relatively small files.

Relying on the users to have/install a working Python on
their machine means to build your application on very shaky
foundations. If all your customers were python hackers
anyway, then it might work, but since you're talking about
"shrink wrapped" stuff, it probably won't.


> 4. There is an easy shrink-wrap install for Python (at least on
> Windows NT). Are there such on Unix/Linux platforms? (Typically
> customers don't like having to compile software from source).

I use InstallBuilder on Windows, and custom shell/python
scripts on unix. This may depend on the nature of your software
and your target audience, but you should be careful not to
depend on a GUI for installing on unix. This is especially
true for software that may be installed on server systems
across a local network.

Also check the recent activities of the distutils-SIG.
There are new tools around now that support building your
installable data sets and more, that weren't available yet
when I started my project.


> 5. If the answer to question #1 is "no", why not?

I'll leave that to those who didn't try... ;)


> 6. Are there any licensing issues to be aware of?

I think you will have to include the text of the Python
license somewhere in your installation/documentation, but
I may be wrong. At least that's what I have done.


> Anything else that comes to mind in this direction would be very
> helpful.

Well, my "real" problems were not Python related at all,
so mentioning them here wouldn't help you much.


Have fun!

-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  Lighting Design Tools  --  http://www.schorsch.com/



More information about the Python-list mailing list