Protect Python Source

David Brown david at no.westcontrol.spam.com
Fri Nov 1 08:15:34 EST 2002


"TuxTrax" <TuxTrax at fortress.tuxnet.net> wrote in message

>
> Your comments reveal a thoughtful and curious approach that is quite
healthy.
> It also reveals a world view that has in large part been shaped by the
> philosophies of proprietary software companies.
>
> Is a python compiler available for linux? I don't know. I do know that no
> Linux users I know would even consider using one. It would never cross our
> minds to make our source closed to others. This is where the whole open
source
> software movement takes a completely different world view. In open source
> software, you retain the right to make a profit from your work, while
still
> granting others the right to copy, distribute, modify and view the source
> code. Just a year ago, this whole concept was horrifying to me. I could
> not concieve of allowing others to have free access to my source code. As
> a Long time windows user, I had some un-learning to do. But unlearn I did.
> I started thinking in terms of the advantages of open source. First, it
keeps
> you honest; you write your best code because you know that your peers are
> going to be seeing it all over the world. Second, with open source, once
> you release it, other programmers may modify it helping it to become more
> than you ever could have made it on your own (unless you choose to forbid
> the modification of your code, but that's another subject). Third, the
> distribution of your product using the open source community, has no
equal,
> and will cost you nothing. You can provide support to your users via
> that same community at little or no cost to you, and support is the number
> one ongoing cost that software developers get saddled with. You can use
> the resources of such organizations as the free software foundation to
> defend your copyright (don't let the "free" in FSF throw you; you can
still
> market your product using the GPL licence).
>
> And finally, you get to give something back. This is a philosophical point
> for me, but giving something back to the community that you benefit from,
> whether it be your local community, or the computer community, is very
> important for us as people. It is a common and refreshing view that you
> will find in the open source world, and one reason that I left the
> windows world for good. But thats a soapbox for another time. <grin>
>
> Cheers,
>
> Mathew
>

I think you are making the mistake many "born again" open-source advocates
make, and one that many anti-open-source people also make.  There is plenty
of place in the world for both open and closed source software.  In some
situations, one is far better than the other, in some cases either will do
the job.  Saying that everything should be open source is as bad as saying
everything should be closed source.  It's a common misunderstanding about
Linux ("Software companies should not write for Linux because then they
would have to give away all their source code...").

Consider, for example, the program I am writing at the moment.  It is in
Python - a language whose licence is very clear in stating that all
Python-licenced code can be used in open and closed source software (keeping
copyright messages intact).  The program provides a gui for an embedded
motor controller card, and our customer is paying good money for me to write
the program.  He intends to sell the cards on to his customers, with this
controller program to go with it.  In the future, he will want a bigger
version of the program (supporting several cards simultaneously).  He may
well want to charge his customers for that software upgrade.  He certainly
won't want his customers to have full access to the code - they may modify
it for use with other supplier's motor cards.  This is not a program for
which either myself or my customer will gain any benifits from releasing it
as open source - no one is going to be making improvements to it that will
benifit us.  However, there are certainly *parts* of the program that could
be released seperately.  For example, I may seperate out the graphing parts
of the gui into a nice, modular graph widget.  That could easily be released
as open source (Python licence), for the benifit of others and for our own
benifit - if people like it, they will contribute improvements which I can
then use.  If I make any changes or improvements to the pyserial module that
I am using, then I certainly will pass those changes back to the community.
But by the time I get as far as making distribution copies of the program,
I'll be making two sorts of packages - py2exe packages for easy installation
on Windows machines, and .pyc byte-code files for use on Linux (and for
Windows users who already have Python).

I fully agree that there are often direct benifits from making your own
software open source.  There is also the personal satisfaction factor - I
have not written much that could be of direct benifit to others (my job is
embedded systems development - you need our company's hardware to run our
software), but I have enjoyed the feeling I get from the few direct
contributions I have made.  But there are many reasons to write closed
source code as well.  You do not speak for the Linux-using community when
you say that writing closed source is against your principles.  From a
user's viewpoint, open source is definitely an advantage - just like lower
cost, better documentation or more functionality is an advantage.  But from
the writer or sellers viewpoint, it is a mixed blessing which must be
considered sensibly - just like the selling price, the level of
documentation and the functionality of the software.  The aim of all
businesses is to make money - preferably by providing good products and
services to their customers.  If that end can be best achieved by openning
their software, great.  If it is best achieved by closing their software,
then that's the way it is.







More information about the Python-list mailing list