Me and 2 of my friends been working on a small app. The source code of the app is on a private repository on BitBucket but now we would like to make the code of our app public under the terms of GPL.

The problem is, when we started the application, we did not put in the classes or anywhere for that mater the copyright as stated in the GNU manual on how to apply the terms to your new programs

My question is: Can we annotate the classes now and make a commit with them and the app is under gpl license.(even if our previous commits did not include any of the copyright text. Or we should make a new repository and upload the software with the updated gnu license text.

We would prefer the first method if possible, but if it is a must we can make a new repository.

  • 3
    You can add the GPL license if all contributors agree: see opensource.stackexchange.com/q/33/64 Commented Sep 2, 2015 at 15:02
  • And on the technical side, you can add the headers retroactive in git: stackoverflow.com/questions/8866416/…
    – kat0r
    Commented Sep 2, 2015 at 15:03
  • 6
    One thing to be aware of: the GPL is often seen as the "default" open source license, but it carries a lot of political baggage with it. It's been deliberately designed for a very specific purpose: to proclaim that all proprietary software is inherently evil and to attempt to use the force of law to make the development of proprietary software more difficult. If you agree with this philosophy, go ahead and use the GPL. If you just want to publish your code as open-source so others can use (and help contribute to) it, I'd suggest looking at other options as well. Commented Sep 2, 2015 at 15:04

2 Answers 2


If you and your two friends are all in agreement on this course of action, and the three of you created 100% of the codebase, you can change its licensing without any legal trouble.

If you've accepted any outside submissions, that's when things get complicated. The outside authors may hold copyright to the code they wrote, and you're using it under the terms of the license as it existed when they contributed their code, so unilaterally changing the licensing out from under them may upset them. If so, you'd need to clear it with all of your contributors first. But if you don't have any external contributors, then it's your code. License it however you want.

WRT license notifications, it's no different from any other software licensing: the end user is bound by the terms of the license that they received. If they downloaded your software or your code without the new license, they don't have to comply with it. If they later update to the new version with the new license, then they will have to comply with the terms of the new license. But you can't go back and "change history" by changing the license.

  • 1
    @Rat2000: Edited. Commented Sep 2, 2015 at 15:20
  • 1
    Without a licence means that a downloader has no rights at all to use it. The default is that you own all rights on the code, the licence allows others to do stuff with it.
    – kat0r
    Commented Sep 2, 2015 at 15:28
  • 1
    @Rat2000: You can't retroactively apply changes to license terms, if that's what you're asking. Otherwise, nobody would be able to rely on a particular license, because it would be subject to change at any time. Whether the code is in the same repository or a new repository doesn't matter. Commented Sep 2, 2015 at 15:28
  • 2
    If you've accepted any outside submissions -- That's why Zamarin (the Mono Project) requires contributors to assign copyright to them. Commented Sep 2, 2015 at 15:29
  • 1
    In the US at least, if you have no license for your code it is implicitly covered by copyright with "All rights reserved." Code without a license may not be used without permission.
    – Craig
    Commented Sep 2, 2015 at 15:29

If your repository was private, unlicensed code, and now you want to make the code public under an open-source license, then what's the problem?

You can't retroactively apply changes to license terms. Otherwise, nobody would be able to rely on a particular license, because it would be subject to change at any time. But since the code currently has no license and no rights of use, adding a license to add rights of use and distribution is how the licensing process is supposed to work.

Make sure you ask any contributors to either agree to the new licensing terms or assign copyright to the project, so that there are no licensing or distribution problems later on. Whether the code is in a different repository or not doesn't matter.

  • So you are saying that, since I didn't had any license before, other are not allowed to use the code in the first place? so basicaly addingthe license know does no harm to me? WHat I want to do basicaly is make sure that nobody else used my code, adds some things to it and does not share back. that's all I want to do(my friends included)
    – Mihai
    Commented Sep 2, 2015 at 15:40
  • 1
    That has to do with the licensing terms. The GPL accomplishes that, but before you use the GPL you should try to understand it first. Consider using the LGPL instead; it has the guarantee you described (sharing changes with the community), but doesn't force your users to open source all of their code as well. Commented Sep 2, 2015 at 15:43
  • please answer my question(comment) and stop trying to convince me what license to use. this is not the point of this question...
    – Mihai
    Commented Sep 2, 2015 at 15:46
  • in other word. Having an app with no license on a public git repository means that nobody can basically use or modify the code except me(or sombody I give permission to)?
    – Mihai
    Commented Sep 2, 2015 at 15:48
  • 2
    @Rat2000, others: FYI, GPL doesn't require licensees to share the code "back", it is more like it requires users to share the code "forward". It just requires that uses of the code share/publish somewhere (with the same GPL). They are not required to notify you where they have shared it or even that they have done so, let alone that they've used your code at all. (All: if I'm wrong about this pls let me know.)
    – Erik Eidt
    Commented Sep 2, 2015 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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