I have recently created a small project and pushed it to GitHub. I now plan on applying an open-source license. Once I choose a license and commit it to the project, are the older versions subjected to that license?
1 Answer
Yes and no.
If you have previously released versions of your software to the public, you generally can't revoke any license you have already released it under (doing so would cause massive issues for anyone who has already made use of the software).
However, as the copyright owner, you retain the exclusive right to re-license (including dual licensing) any version of your software at any time (providing of course you are the sole copyright holder, or that you continue to comply with the licenses of any other software you include).
In your case I'm assuming you have not specified any particular license on your project thus far. That means that until now, the project is effectively 'all rights reserved'. Once you apply a license, it applies to the state of the project at the time of that commit. If someone comes along and forks your repository, then reverts to a previous commit, it is technically no longer licensed to them and they cannot use it in any meaningful fashion.
If you wanted to, you could of course just specify that 'any commit is covered by this license', or, you could even include for clarity that 'this license applies only from commit abc123 forward'.
This is a bit of a general answer to a general question, as I'm unclear on your exact intentions, but I'd be happy to clarify further if you want to add more specifics to your question.
-
1That is all I was asking. I wondered what happened to commits that did not contain the license. Even if someone did use a previous version, I would expect there to be no trouble, since I don't plan on taking any legal action against them. Commented Jul 28, 2016 at 3:28
-
1@CalebReister In some cases, committing adds a license, generally through a CLA. The Apache license includes a CLA - if you contribute to an apache licensed project, then your contributions are available under the Apache license. Commented Jul 28, 2016 at 21:39
-
-
@CalebReister It's a Contributor Licensing Agreement. It basically states that the contributor provides their contributions under a license, as specified in the agreement. There's more information in this post: opensource.stackexchange.com/a/862/69 Commented Jul 28, 2016 at 22:37