[OT} How to un-GPL parts of a GPL'd module.

Ian Bicking ianb at colorstudy.com
Tue Oct 8 16:38:06 EDT 2002


There's a lot of crap in this discussion.  From my understanding of the
GPL, this is my opinion of what you can do:

On Tue, 2002-10-08 at 07:33, Anton Vredegoor wrote:
> how can I use a class or a function from a GLP'd module (cut-and-paste
> style) in a module with BSD or public domain style release?

You can cut and paste it in.  This means that the *over-all* work falls
under the requirements of the GPL, but you can apply a GPL-compatible
license to the portions of the code you wrote (BSD, public domain,
etc).  At a later time if someone has a problem with the GPL, they can
rewrite just the portion that's under the GPL.  You should make clear
that there are GPL components, and what those are, keeping copyright
messages in tact, etc.  You can also use a dual-license for your code,
if you want to make it more explicit -- you own the copyright to the
code you write, and you can license it however you choose, under
multiple licenses if you choose.

> I guess I could e-mail the author for permission but if I would have
> to wait for them to answer, it would slow my coding process down to a
> snail's pace, and there's always the possibility of the author being
> unwilling. 

It's unlikely this would be a problem, but sometimes people are hard to
contact or otherwise unwilling.  If your ultimate intention were to
integrate this into a proprietary piece of code, the author would
probably not cooperate.  If a permissive license is a sneaky way to
achieve this, you could probably defraud the author into thinking
otherwise, and then all you'd lose is your soul.  But I don't think
that's your intention -- lots of people change to permissive licenses to
facilitate integration. 

> So that's not an option for me. I would rather rethink the problem and
> start writing a new script.
> 
> But here's where the problem begins. Having seen the algorithm it's
> almost impossible for me to forget it and write code as if I had never
> seen it. On the other hand, is it enough to just cut and paste, change
> maybe a few variable names, credit the author for the original concept
> in the sourcode, send some email to inform the author and go on with
> life?

Well, if you want to do it right, rewrite the module with no cutting and
pasting, and without looking at the original module side-by-side with
yours (though you don't have to try to forget what you saw).  It's fine
if you are using algorithms and ideas you got from reading the original
module.  You signed no NDA or other contract, and the GPL does not
assert any rights over the algorithms used.  It is entirely okay to get
ideas from GPL code, and use them in whatever way you want.  Ideas are
not copyrighted -- implementations are.  Also, no copyright is asserted
over the API, and copying the module's API should be fine.

I don't know where people are getting ideas that you are somehow tainted
by having read this module.  I like the GPL, I use the GPL, I agree with
GNU philosophy, and that sort of coercion does not fit into its
philosophy.  They are projecting the sorts of coercions that proprietary
companies use onto the GPL and the software in question, and that's
simply not correct.

> I know a lot of people rely on writing sourcecode for a living but I
> have been unemployed as a programmer for so long know that the concept
> of owning sourcecode or getting payed for producing it is completely
> alien to me. I think I'll be writing free sourcecode till I die just
> hoping some pieces of my code will survive into eternity. If someone
> has a problem with that, hire me.

Well, then I don't see any particular reason why you couldn't just use
the GPL yourself, but that's up to you.

  Ian






More information about the Python-list mailing list