473,385 Members | 1,324 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

python+py2exe+pygame licensing ?


Just a quick shoot... can I produce a "closed source"
program using "core" python, pygame (and eventually psyco),
packaging it by using py2exe and a custom installer ?

A clear yes/no answer is something I'll be asked about
when proposing python as an interesting alternative.

If the answer is "no" (as I fear) what's the minimum
of "opening" that must be done ?

If the problem is pygame I may decide to rewrite the
little part of it that I need as a python extension...

Andrea
Jul 18 '05 #1
5 3062
Andrea Griffini wrote:
Just a quick shoot... can I produce a "closed source"
program using "core" python, pygame (and eventually psyco),
packaging it by using py2exe and a custom installer ?

A clear yes/no answer is something I'll be asked about
when proposing python as an interesting alternative.

If the answer is "no" (as I fear) what's the minimum
of "opening" that must be done ?

If the problem is pygame I may decide to rewrite the
little part of it that I need as a python extension...

Andrea


Since Python byte-code can be decompiled, I'm not sure how
"closed-source" you could make a Python program. However, legally I see
no reason why you couldn't try. The Python license puts no restrictions
on closed sourcing. Py2exe and psyco are covered by the MIT license,
which also doesn't restriction proprietary source. Pygame is licensed
under the LGPL, so you the only source you'd have to release are the
modifications you'd make to pygame itself, not the code utilizing the
pygame API.
Jul 18 '05 #2
On Sat, 12 Jun 2004 18:11:01 -0400, "Chris S."
<ch*****@NOSPAMudel.edu> wrote:
Since Python byte-code can be decompiled, I'm not sure how
"closed-source" you could make a Python program.
Legally closed source is one thing, technically closed
source is another. Anyway I was wondering that if there
is anything in the license that *forces* me to put an
easily re-usable source code the impression on the
management could be quite worse.

If I can distribute a copyrighted compiled-only version,
and take you to a court if I discover that you used
part of it then things are different. The fact that
there are decompilers around that can take the compiled
version a produce a very good source version is not central.
I've found even someone that sells this as a *service* on
the net (it's not for cracking or illegal inspection,
it's in case you lost the source code of your programs...
of course :-) ).

That anthing of this is important from a pratical point
of view is quite questionable; but I'm talking about
explaining to management that python is an interesting
alternative for more than internal prototyping...
However, legally I see no reason why you couldn't try.
The Python license puts no restrictions on closed sourcing.
Py2exe and psyco are covered by the MIT license, which also
doesn't restriction proprietary source.
I suppose then that I'll only need to copy a few license
text files in the final directory...
Pygame is licensed under the LGPL, so you the only
source you'd have to release are the modifications you'd
make to pygame itself, not the code utilizing the
pygame API.


This is something that always puzzled me. If I include
an LGPL'ed part and a new version of that part is not
100% interface-compatible with an old one (as sometimes
happens with specific libraries), am I forced to allow
my clients to adapt to the new version ? Am I forced
to provide upgrades forever ?

When I first read the LGPL, my impression was that it
was suited more for incredibly stable libraries (at
least stable at the interface level). For example the
standard C library...

But english legalese is not my natural language... :-)

Andrea
Jul 18 '05 #3
Andrea Griffini wrote:
Just a quick shoot... can I produce a "closed source"
program using "core" python, pygame (and eventually psyco),
packaging it by using py2exe and a custom installer ?

A clear yes/no answer is something I'll be asked about
when proposing python as an interesting alternative.


You'll get safe answers about this only if you hire a
lawyer. And clear ones only if you hire a bad lawyer. <wink>

On the other hand, you might improve the quality of the
responses if you would take the time to include links
to the relevant licenses for each of the components that
interest you. At least that way you aren't expecting
those people who might respond to duplicate all the legwork
that you should already have done...

-Peter
Jul 18 '05 #4
Andrea Griffini wrote:
On Sat, 12 Jun 2004 18:11:01 -0400, "Chris S."
<ch*****@NOSPAMudel.edu> wrote:

Since Python byte-code can be decompiled, I'm not sure how
"closed-source" you could make a Python program.

Legally closed source is one thing, technically closed
source is another. Anyway I was wondering that if there
is anything in the license that *forces* me to put an
easily re-usable source code the impression on the
management could be quite worse.

If I can distribute a copyrighted compiled-only version,
and take you to a court if I discover that you used
part of it then things are different. The fact that
there are decompilers around that can take the compiled
version a produce a very good source version is not central.
I've found even someone that sells this as a *service* on
the net (it's not for cracking or illegal inspection,
it's in case you lost the source code of your programs...
of course :-) ).

That anthing of this is important from a pratical point
of view is quite questionable; but I'm talking about
explaining to management that python is an interesting
alternative for more than internal prototyping...


Exactly the point. We have a patch to distutils that lets you build an
installer with only cmopiled files (no source) to do this very thing.
See the following:
https://sourceforge.net/tracker/?fun...&group_id=5470
This is something that always puzzled me. If I include
an LGPL'ed part and a new version of that part is not
100% interface-compatible with an old one (as sometimes
happens with specific libraries), am I forced to allow
my clients to adapt to the new version ? Am I forced
to provide upgrades forever ?

When I first read the LGPL, my impression was that it
was suited more for incredibly stable libraries (at
least stable at the interface level). For example the
standard C library...

But english legalese is not my natural language... :-)


I think as long as you 1) release the source code to the LGPL'ed part
and 2) allow people to substitute in a different library (with Python
that's easy) you will be safe with no problems...
Whether the original library will work with your game is not an issue,
as long as people have the ability to substitute in a modified library

David
Jul 18 '05 #5
Andrea Griffini wrote:
This is something that always puzzled me. If I include
an LGPL'ed part and a new version of that part is not
100% interface-compatible with an old one (as sometimes
happens with specific libraries), am I forced to allow
my clients to adapt to the new version ? Am I forced
to provide upgrades forever ?


Pygame is LGPL specifically so you can use it in close-sourced projects.
For an example of a shareware pygame project, see BaseGolf,
http://alitius.com .

In a nutshell, the LGPL allows you to use the library "as-is". If you do
make any changes to pygame itself, you must release those changes under
a compatible license (or maybe the exact same license, unsure).

Once you have made those changes available your obligation is finished.
If future generations want to take you changes and apply them to a
modern pygame, the burden is on them.

Of course, since Pygame itself is written on top of basic SDL, you could
actually add quite a bit of functionality that would still be considered
part of your game, and you need not release that. As long as you are not
recompiling pygame or modifying things inside .../site-packages/pygame
you don't need to release source.

Of course, if you do release the source for your game, it helps ensure
future generations could get your game running on modern computers. Or
just play it on other platforms than you originally intended (osx,
linux, bsd, etc)
Jul 18 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Michael L. Labbe | last post by:
Hello. I'm an experienced programmer who is evaluating learning Python if it is applicable to a few projects. The programs I am going to list are production software - they are not throwaway toy...
4
by: Sarah Mount | last post by:
Hi everyone. I'm trying to create an exe for a simple pygame app on Win XP. I think I've got the latest (python, py2exe, pygame) and my setup.py file looks like this: | from distutils.core...
0
by: upward_spiral2001 | last post by:
Hi. I've got a neat artificial intelligence project I want to distribute as an EXE. I'm using Python, Pygame, and Numeric. My problem is: When I use py2exe, I'm told "The following modules appear...
0
by: kschnee | last post by:
Hi. I've got a neat artificial intelligence project I want to distribute as an EXE. I'm using Python, Pygame, and Numeric. My problem is: When I use py2exe, I'm told "The following modules appear...
1
by: Funduk | last post by:
Hello, So I've been playing with Python and Pygame for a while and I decided I wanted to make a real executable so I could send that stuff over to my friends to show off my <sarcasm>maad...
3
by: Erik Bethke | last post by:
Hello All, So I have been using Effbot's XML stuff a lot! And I have been using py2exe, pygame and wxPython all mixed together... I am getting this strange error log when writing XML files...
2
by: Jimmy Retzlaff | last post by:
I am taking over the maintenance and support of py2exe from Thomas Heller. As he announced a few weeks ago he is looking to focus on other things. py2exe has been very useful to me over the years...
122
by: seberino | last post by:
I'm interested in knowing which Python web framework is most like Ruby on Rails. I've heard of Subway and Django. Are there other Rails clones in Python land I don't know about? Which one...
2
by: Santiago Romero | last post by:
Hi... I'm a Linux user, and I would like some windows-friends to test a game I'm writing with python+pygame without they needing to install python, pygame, and so on. I've heard about py2exe...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.