There are many good questions out there about choosing an open source license, reasons to go open source, etc. However I have not seen an answer to this question and I feel like more people could relate...

Say I am working on a project, putting up code on GitHub for the world to see. At what point do I go about selecting and using an open source license? Should I have done that already? After a few forks? Does interest matter?


All code is protected by copyright in one form or the other (unless it has been placed explicitly in the public domain). If you do not attach an explicit copyright license, the default copyright license applies, which amounts to "the code belongs to the author and nobody else can use it."

If you publish your code, especially if it is on a code sharing site like GitHub, you should decide on the license you want to use before committing the very first revision.

Some things to remember:

  • If you don't have a license that allows making copies, forking your repository is a violation of your copyright.
  • Once you have uploaded a revision of a file with a particular copyright license, you can't change that license. You can upload a new version with a different copyright license (either more or less restrictive), but people will only ever be bound by the license that was in effect at the time that they copied/forked your repository.
  • "Once you have uploaded a revision of a file with a particular copyright license, you can't change that license." Can't the copyright owner retroactively apply a more lenient license? – Siyuan Ren Nov 12 '14 at 7:42
  • 1
    @SiyuanRen: the author can upload a new version with a less restricting license, if he wants to (even if that is the only change to the code file), but technically that is not a license change of the previous version. In practice, this won't make a big difference. Typically the license or a reference to it is part of the comment section of each code file. – Doc Brown Nov 12 '14 at 7:47

Your Answer

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