Earing money with Python software (was: More on Protecting Source Code)

Richie Hindle richie at entrian.com
Wed Sep 18 06:06:42 EDT 2002


> How can I get some reward back when writing software like
> decompyle and bridgekeeper?
> [...]
> - Develop two different versions, a "free" one which is missing some
>   features and a commercial/registered/supported one offering more
>   sophisticated functionallity?

For library code (and tools like bridgekeeper which have a library
component), my approach is to release a single version under two
licenses, one free (as in both speech and beer) for use in Open Source
projects and one with a fee for use in closed source projects. 
Sleepycat seems like a good Open Source license to use - it's OSI
certified, GPL-compatible (but free from political problems) and
demands that projects using Sleepycat-licensed code must themselves be
open source (but not necessarily Sleepycat-licenced).  While there are
commercial users who release their source code, most don't, so this
pretty much catches all the people who I feel should pay.  There'll
always be exceptions but it's a simple way to get most of the way
there.

Making code free for Open Source projects effectively makes it free
for personal/evaluation use as well - if you're using it for a toy
project then you're probably happy to ship your source, and if you're
only using it for evaluation then you won't be redistributing your
project.  If your 'personal' use is in a project that you intend to
sell in a closed-source way, that makes you a commercial user.

Things are a bit different for tools like decompyle with no
redistributable components.  I don't have any better suggestions
there, other than a free (as in beer but not as in speech) license
that allows use only _with_ open source projects, and another paid-for
license allowing unrestricted use.  Whether licenses like that -
governing the class of software that a tool may be used with - are
feasible, I don't know.  I'm not a lawyer.

I've haven't properly started distributing code yet (it's all from
spare-time projects that my life and my day job leave me little time
for - what little there is is on my incomplete website at
www.entrian.com) so it's too early to say whether this approach is
working for me or not...

-- 
Richie Hindle
richie at entrian.com



More information about the Python-list mailing list