Say, for example I published my code under GPL.

A month after release, I decide evil corporations (*cough*) are allowed to use my code after all, because it's so brilliant and bug-free. Can I just relicense my own code, or have I locked myself out of the right to do so?

  • Something you may want to consider is the LGPL. – Cole Johnson Jun 11 '14 at 19:10

As a copyright holder you can license the code any which way you want, again and again and again. You could license it as GPL, and then have a client ask for a license for the MS-Pl for one of their projects, and then license it again under BSD...

You, the copyright holder, always have the power to decide to release the work under a different license. You can't revoke how people got it previously, but you can always release it under a new license.

That 'you can't revoke' does have some implications. If someone went to your GPL version and forked it form there, with their contributions being GPL licensed, that code would still be GPL licensed.

The license is something you use to instruct other people on how they can use your code - and the license for it sticks with it. It never limits how you can use it or decide to license and relicense your code.

| improve this answer | |
  • 3
    Please take careful note of MichaelT's prefix, "As a copyright holder." If you've used any outside code (contributions from other people, code from other sources, etc.), you probably aren't the copyright holder on that code. For example, when contributing to GPL projects, people tend to GPL license their code, rather than assigning copyright to the project owner. In theory you could still fork a non-GPL version of such a project, but doing so would require it to get rid of the GPL code (and since that code is in your head, rewriting those portions of the project w/o GPL is difficult). – Brian Jun 2 '14 at 13:25
  • 1
    A nice example of relicensing for commercial use while still providing an open-source version is Qt. – Cole Johnson Jun 11 '14 at 19:08

Yes, the license says what other people can do to the code not what you (the copyright holder) can.

Of course GPL does not prevent a corporation from using code - or even distributing code, however they may want to license under a different license to prevent their code needing to be GPL

| improve this answer | |
  • Did you mean to imply that a corporation could fork a gpl'd project and then arbitrarily change to an incompatible license? – DougM Jun 2 '14 at 12:59
  • 3
    no but they can fork a gpl project and use it internally, or they can fork a gpl project and release the fork as gpl – jk. Jun 2 '14 at 13:03
  • However, if that GPL project is required to either have a basic functioning program, or it's distributed with their program, their program must be under GPL. That's where the LGPL comes in. – Cole Johnson Jun 11 '14 at 19:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.