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 Tobin
    Commented Jun 11, 2014 at 19:10

2 Answers 2


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.

  • 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
    Commented Jun 2, 2014 at 13:25
  • 1
    A nice example of relicensing for commercial use while still providing an open-source version is Qt.
    – Cole Tobin
    Commented Jun 11, 2014 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

  • Did you mean to imply that a corporation could fork a gpl'd project and then arbitrarily change to an incompatible license?
    – DougM
    Commented Jun 2, 2014 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.
    Commented Jun 2, 2014 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 Tobin
    Commented Jun 11, 2014 at 19:10

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