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?
GitHub hosts most open source projects but ships closed source software.
Yes, it is possible to make an open source project into a closed source project. The copyright holder can change the license of a project at any time, or cease to distribute source code of new releases. New releases can therefore be made closed source.
GitHub is not open source. Pragmatically, this doesn't make much of a difference to most users. The vast majority of code put onto GitHub is, presumably, encouraged to be shared by everyone, so GitHub's primary function is a sort of public backup service.
Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.
(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.
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. Github's Plans and Pricing state 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, or they would have a tremendously broken business model.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With