473,804 Members | 3,312 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

python+py2exe+p ygame 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 3113
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*****@NOSPAM udel.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*****@NOSPAM udel.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
1824
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 projects, but will actually have real world application. I've spent years writing C++ and Perl code, but I would like to try "this Python language" out in their implementation, as I have the luxury of slack deadlines for the next little while. ...
4
2536
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 import setup | import glob | import py2exe |
0
1195
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 to be missing: AppKit, Foundation, dotblas, objc." And then my EXE crashes with a "segmentation fault." I tried the command: python setup.py py2exe --ignores It then compiles w/o complaint, but the EXE still crashes. The setup.py is very...
0
1252
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 to be missing: AppKit, Foundation, dotblas, objc." And then my EXE crashes with a "segmentation fault." I tried the command: python setup.py py2exe --ignores It then compiles w/o complaint, but the EXE still crashes. The setup.py is very...
1
2596
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 skillz</sarcasm>. Everything was going great I went and got all the newest software (including Distutils and PY2EXE) and read the docs on making a setup py.
3
1884
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 with his XML writer. It appears to be fouling up on the encoding, ONLY in the exe version. Runs fine and great as a python script. What this does is leave the file hanging open...
2
1645
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 and I look forward to keeping it every bit as useful in the future. I plan to make the transition as smooth as possible for users of py2exe. I don't plan to make changes to the license other than adding my name to the list of people not to sue....
122
7927
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 has largest community/buzz about it?
2
7506
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 and pygame2exe, but I'm not sure on how to use them to create: a.- standalone exe files with a single .py program.
0
9708
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10340
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9161
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7623
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6857
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5527
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5662
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4302
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3827
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.