I started my project with the GPLv3 license, but I haven't released or made available any code related to it yet. As I move further along in my project, I am starting to realize that it is something I could potentially sell and would not the code being made freely available. Since I haven't released the source code at all yet, could I remove the current license and re-license with something else?

edit: The main concern here is the fact that the current license is GPLv3. Even if I change the license now, will the old version of my project be considered to be licensed under GPLv3. If so, will the new version be considered a modification of that, and carry the same requirements of the GPLv3 license?

  • Possible duplicate of How can a project be relicensed? Jun 20, 2019 at 18:40
  • 1
    @BartvanIngenSchenau If I'm reading this right, I disagree. This question is about the case where a person privately puts GPL headers on their own freshly-written code, and the code never leaves the perimeter of their house. Later, they want to remove the headers and put it the code on the Internet. This differs substantially from that target question, since in this case the code has not been licensed (insofar as a "license" is permission granted to another person, no person in the world has received any permission related to this unreleased code).
    – apsillers
    Jun 20, 2019 at 18:50
  • @apsillers: The top answer of the possible duplicate fits perfectly to the situation you describe and that I also understand from the question: As you are the sole copyright holder, there is nothing to stop you from changing those license headers. Jun 20, 2019 at 18:56
  • 1
    The key words are Any one receiving a copy of the code, has the following rights. So has any one received a copy. The other important part is you are not under the licence. If you wrote (all of) the software (or own the copyright). Jun 20, 2019 at 19:17

1 Answer 1


You need not change your project's license because your project does not have a license. A license is a legal granting of rights between two people (or other legal entities). If there is only one party involved (i.e., you) then there can't be a license in effect.

It seems like you added some license headers and a copy of the GPLv3 to your code. This doesn't have legal effect until you share the software. You may remove those components (taking care not to miss any!), add different licensing information, and release it under those other licensing terms.

To put it very simply, I could take a file on my hard drive, privately add the line, "Anyone may modify and/or reproduce this file for any purpose," at the top, then immediately erase the line before showing it to anyone. This action of mine has no practical legal effect.

If you are using any code not written by yourself, for which you do not own the copyright, then you must abide by any licensing requirements on those other people's code, of course.

  • Thanks. This has really helped my understanding of the issue. Does this hold though if I have, say, a Github page? If a switch the page from private to public, people could still view past commits with the old GPL license.
    – decaract10
    Jun 20, 2019 at 22:36
  • 1
    @decaract10 if the code is all yours, changing hte project to private, etc. is no issue. However, anyone who pulled a copy of the code while it was available and had a Free license on it would retain the rights that license grants to that particular copy of the code. Note this does not mean if their hard drive dies you are obligated to provide a fresh copy of that version, etc.
    – ivanivan
    Jun 21, 2019 at 0:14
  • @ivanivan I think the OP is asking about if the code was never published when the HEAD commit had a GPL license, but was later released for the first time ever with a non-GPL HEAD but some prior commits in the commit chain, from a pre-release time, that include GPL licensing information.
    – apsillers
    Jun 21, 2019 at 0:40
  • 3
    @decaract10 I really don't know; how the law interprets version control information is probably not well tested. I would err on the side of caution and assume that if you can use your commit chain to rewind to a state that appears validly GPL-licensed, the law may indeed find that past commit-state to be GPL-licensed. Strive to retroactively clean up any commits/diffs that added GPL headers or licenses. (How to do that is on-topic for Stack Overflow and may have already been asked in some form.)
    – apsillers
    Jun 21, 2019 at 0:43
  • Thank you all for the thoughtful answers, and for helping me out! You really nailed what I was trying to ask @apsillers. I am probably going to try cleaning up my git history if possible, and avoid making the same mistake in the future.
    – decaract10
    Jun 21, 2019 at 2:35

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.