Commercial Products in Python

  • Thread starter Bruno Desthuilliers
  • Start date
B

Bruno Desthuilliers

Paulo J. Matos a écrit :
Hi all,

I was just wondering, if you wish to commercialize an application
developed in Python, what's the way to go?
I guess the only way is to sell the source, right?

Nope, why ?
This is because (and tell me if I am wrong):
1) You can't sell an executable because Python doesn't compile to native
code (the usual approach, afaik);
2) You can't sell the bytecode, otherwise you get the client stuck with
a specific python version (given bytecode might vary between versions)
(the alternative);

This is the case for quite a few languages (VB6 and Java just to name a
few), and it seems like it didn't prevent anyone writing and selling
commercial software written with these languages.
 
B

Bruno Desthuilliers

Paulo J. Matos a écrit :
Truth is I am ignorant as how Java packages are sold. :) About VB I
thought they generate an executable and that is installed on the clients
computer (at least in old VB5, I guess).

This 'executable' is of the same sort of what you'd get using py2exe or
some similar solution : the application's code and the necessary runtime
bundled together as a nice package that Windows can run. FWIW, using
vb6, you didn't even had a standalone "executable" - you had to install
vb6 runtime and possibly a couple dll's too.
Question remains, how would you do it with Python? (I am not saying that
you can't in Python, I just really don't know!)

It all depends on what kind of application you're talking about
('grand-public' GUI app ? High-end server app ? Web app ?) and the
people you expect to buy it (Joe Average WindowsUser ? Wall-street co ?
etc...)
 
P

Paulo J. Matos

Hi all,

I was just wondering, if you wish to commercialize an application
developed in Python, what's the way to go?
I guess the only way is to sell the source, right?

This is because (and tell me if I am wrong):
1) You can't sell an executable because Python doesn't compile to native
code (the usual approach, afaik);
2) You can't sell the bytecode, otherwise you get the client stuck with
a specific python version (given bytecode might vary between versions)
(the alternative);

Cheers,
 
V

Ville M. Vainio

Paulo J. Matos said:
Hi all,

I was just wondering, if you wish to commercialize an application
developed in Python, what's the way to go?
I guess the only way is to sell the source, right?

That should be a good way to go about it. It doesn't make it "open
source", you can still bundle the source with a cut-throat license
that does not allow derived products.

1) You can't sell an executable because Python doesn't compile to native
code (the usual approach, afaik);

You can sell py2exe:d package for windows.
 
P

Paulo J. Matos

Bruno said:
Paulo J. Matos a écrit :

Nope, why ?


This is the case for quite a few languages (VB6 and Java just to name a
few), and it seems like it didn't prevent anyone writing and selling
commercial software written with these languages.

Truth is I am ignorant as how Java packages are sold. :) About VB I
thought they generate an executable and that is installed on the clients
computer (at least in old VB5, I guess).

Question remains, how would you do it with Python? (I am not saying that
you can't in Python, I just really don't know!)
 
P

Paulo J. Matos

Grant said:
You can bundle bytecode with a minimal Python snapshot into an
"application". Under Windows, it'll be mostly .dll, .zip, and
.exe files, so the customer need not know it's Python at all
(though it's not hard for an experienced person to figure that
out).

Ah, ok, thanks, that's exactly what I wanted to know! :) So, there is an
automatic way of creating a python 'package' that bundles the source
code with a Python snapshot! :) Any reference on how to do that?

Thanks,
 
R

Robert Kern

Stef said:
Paulo J. Matos wrote:
Which of the programs there makes an "real" executable,
I mean an executable that can't be reversed engineered in less than 2
minutes ?

None of them, most likely. That's not the use case they were written for.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 
E

Erich

Hi all,

I was just wondering, if you wish to commercialize an application
developed in Python, what's the way to go?
I guess the only way is to sell the source, right?

If this application is a Windows app, and can use .Net, you may wish
to look at how Resolver Systems [1] did it. Their products are written
in IronPython, a python implementation for .Net.

1. http://www.resolversystems.com/products/

Regards,
Erich
 
D

Diez B. Roggisch

Which of the programs there makes an "real" executable,
I mean an executable that can't be reversed engineered in less than 2
minutes ?


None. Who cares? I work for a company that produces a C++ application
with quite a few embedded license checks.

The cracks are available a few hours after a release.

It's as simple as this: all you have against piracy are laws.
Ofuscation, compilation - nothing really helps.

Diez
 
P

Paul Boddie

I was just wondering, if you wish to commercialize an application
developed in Python, what's the way to go?

See here for some answers:

http://wiki.python.org/moin/HowDoYouProtectSource

As I've already said a few times when answering these kinds of
questions, I've seen proprietary software which incorporated Python
bytecode-only modules, and it merely served up inconvenience to the
user for no practical "secret sauce" benefit to the vendor.

Paul
 
A

azrael

Why don't you give a try to IronPython. I began playin with it
yesterday, and as far as I can see, My worries about selling a python
application are gone, so far.
 
D

Diez B. Roggisch

azrael said:
Why don't you give a try to IronPython. I began playin with it
yesterday, and as far as I can see, My worries about selling a python
application are gone, so far.

Why? It's byte-compiled as the CPython code, and needs an explicit
interpreter installed. So where is the advantage?

Diez
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,005
Messages
2,570,264
Members
46,859
Latest member
HeidiAtkin

Latest Threads

Top