tags:

views:

432

answers:

5

Say for example, I've written some code under GPL 3. My company wants to use that code for a commercial product. Am I allowed to then say to them that they can use it under LGPL/MIT or any other license? If so, would I then have to change the included header at the top of each file? If so, what is stopping someone else from changing the license on my code?

+5  A: 

You, as the owner of the copyright of your product can put as many licenses on your program as you like, and license the software depending on agreements with particular users of your program. There are many examples of dual or even triple licensed programs. Nothing is stopping anybody from "changing the license" on your source code, but that is illegal, of course. Same thing, nothing is stopping anybody from using proprietary software without payment but it's illegal as well.

Check this link out.

Vinko Vrsalovic
+1  A: 

Any code that you own (as in, you are the owner of the "intellectual property"), you can license however you see fit (within the bounds of law). You would have to include whatever license details wherever your code changes hands, and ought to specify that the same is true if it changes hands to a third party.

The only thing stopping someone else from changing the license text in your source files is their ability to edit the files. That is, however, illegal unless allowed in the terms of your license, which will stop... most people who aren't script kiddies.

eyelidlessness
+10  A: 

If the code in question is completely your own work, you can release it under as many licenses as you like. You can simultaneously have a GPL fork and a BSD or commercial fork under completely different licenses, even if the actual code is the same. This is, indeed, quite common. The main issue with this approach is that when other people contribute code to the GPL fork, you would have to get their explicit permission to copy and re-license it into the non-GPL fork.

Changing the information in the headers of the non-GPL fork is not strictly necessary to grant someone extra rights over what the GPL offers, but it would certainly be a good idea to reduce confusion.

What's stopping someone else making an unauthorized derivative version with the license changed? Well, the same copyright law that stops us downloading pirated copies of commercial software. (Good thing that never happens eh!)

bobince
A: 

Yes, you can specify different licences, and make some only available to certain user groups. The users can then choose under which licence they use it.

If you licence the software under GPL to the general public, and under LGPL/MIT/$$$ to your company, they obviously can choose: either they use your software under GPL terms, or abide to the other licence terms you set.

However, GPL does not allow to exclude someone: you cannot say "Everybody else can have this under GPL, but Peter has to pay for it!"


IMO it is enough if the software is accompanied with a written statement that sets the additional licence terms (roughly: this SOFTWARE is made available to COMPANY under terms of XYZ licence). You may want to add a statement like "this software may also be available under a different licence". I don't think that's necessary, though.


If the code is your intellectual property, you set the licence terms, and they are legally binding. GPL does not allow changing the licence terms, but it allows supplementing them.

>> If so, what is stopping someone else from changing the license on my code?

Lawyers? :) Your licence says who can use it under which licence.

peterchen
A: 

A license isn't really coupled to a product but rather to a person acquiring the product by legal means. The license is a contract between you (as the owner of the product's rights) and that person.

The direct implication here is that you can have different contracts (and thus different licenses) for the same product. It's actually quite common to attach several licenses to a piece of source code, usually in order to give the user a broader choice (as in your case, where GPL'ed code is probably not something your company wants to use).

(Ah, yes … IANAL, of course.)

Konrad Rudolph