views:

461

answers:

5

Can the owner of an open source github repository later decide to close it? What about other people's contribution to that project?

Edit - several people focused only on the legal aspects. Besides them there exists the technical question: Is it technically possible to take a public repository I own on github, and turn it private at a later date? Assuming nobody created a public forked from it, will this in effect hide the source code for this project?

+5  A: 

(Note that I am not a lawyer.) From the GitHub Terms of Service, paragraph F.1:

We claim no intellectual property rights over the material you provide to the Service. Your profile and materials uploaded remain yours. However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories.

In other words, GitHub itself has nothing to do with how you license your code. So you can decide to stop publishing your source via GitHub, but everything that has been forked and cloned from it up to that point is of course still "out there" under the open source license you originally used.

The same holds for other people's contribution to the project: whatever was permitted by the original license remains, so it is between you and the other contributors. GitHub has little to do with it.


As to the updated question:

It is safest to assume that anything you put on the web is out there forever. GitHub allows you to browse the source code through the web. It seems that GitHub's robots.txt asks crawlers to stay away from the source code, but there's no guarantee that they will do this. I can easily imagine Google Code Search starting to index GitHub, for example (if they're not doing that already.)

Bottom line: once the source is public, you can never make it private anymore.

Thomas
... However, for most projects (which want to go closed source), the transition is usually full of controversy
Aviral Dasgupta
Or, in the case of GPL-licensed code, illegal. Assuming that binaries compiled from the closed source continue to be published, of course.
Thomas
@Thomas, it's not illegal if you own the copyright in the first place and no one else contributed to it.
hasen j
To be exact, it's legal if you own the copyright on all the code contained *or* have the (formal) agreement of all the copyright holders. Which is a reason I don't like signing over the copyright on anything I write to anyone else where not strictly necessary (e.g., according to a contract of employment). OTOH, legality isn't the same thing as morality, and if someone has a fork of the code you're SOL anyway.
Donal Fellows
@hasen j, Donal Fellows: I overlooked that case. Thanks for clarifying.
Thomas
Thanks for the answer - I meant 'technically possible' (see edited question).
ripper234
+3  A: 

It depends on the license. If it's BSD or similar, then yes, it can be close-sourced from a future point in time, incorporating third-party contributions (because the license allows it). (Any code released before the source is closed remains open under whatever license was chosen.)

If it's GPL, then any third-party GPL'd code can no longer remain in the closed-source repository, unless a separate license to use it in a commercial, closed-source application is granted by each and every third-party author.

Brock Batsell
+4  A: 

The copyright owner can choose whatever license he wants for code. However, changing a license is not a retroactive decision, it won't revoke the license of stuff that has already been released. Unhappy users can thus still fork the code and continue the work under the terms of the previous license.

But you should really ask this question to a lawyer (which I'm not). For example I'd tempted to say that released = publicly available but this is just my interpretation. Really, ask a lawyer.

Pascal Thivent
+2  A: 

There isn't really an opensource license out there that is retroactive. So even though you close source it later, the people before still have the old code with the old open source license...

Also, if a lot of people contributed, or one person contributed a large amount of code, then certain pieces of code may be more theirs than yours, which means you'd have to get permission from them to change the license of it(if the license is restrictive that is, such as the GPL. With BSD-style, there is no such restriction)

If in doubt, consult a lawyer and not a forum of people

Earlz
I wish I could add +100 here. "When in doubt, ask a lawyer, not random strangers on the Internet" needs to be branded on the forehead of a lot of people.
JUST MY correct OPINION
... except that finding and talking to a lawyer takes time and money. If only we all had the luxury of a lawyer on retainer that would answer our copyright questions!
emddudley
+3  A: 

Is it technically possible to take a public repository I own on github, and turn it private at a later date?

You cannot have private repositories unless you pay for them. It says here that you can sign up for the free public repositories, and upgrade/downgrade your account at any time, so they almost certainly have a way to make your free public repositories private by upgrading to a paid account.

After reading their help files, you can indeed mark a public repository as private if you have a paid account.

You could also just delete the repository from your free account, and start hosting the repository yourself if you want to stop sharing it.

meagar
It's possible from the GitHub side. Legally possible is an entirely different matter.
Earlz