views:

63

answers:

4

I'm considering posting some code on github. Older revisions of the code don't have a COPYING file or other licensing information in them. What's the effect of posting this publicly? Would people be able to copy and use that code freely without adhering to any license constraints?

Although there doesn't appear to be a "default license" applied to projects posted on github, their Terms and Conditions document has this to say:

...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.

Which is a bit ambiguous, to say the least: does forking a repository, in itself, enable the forker to do as she wishes with the therein-contained code, or is this concept orthogonal to the actual modification of the code?

edit: added this paragraph: And on a related note: can people attempt to use versions of the code which don't have a warranty disclaimer (eg This program is distributed . . . WITHOUT ANY WARRANTY), and then sue me when it fails?

And my main question: Should I run git filter-branch to add a COPYING file to all revisions before pushing to github? This is a bit of a hassle, as it will invalidate commit id references and require that I re-clone any backup repos.

A: 

There is nothing technologically about Git which prevents others from copying your code. Those who obey licenses will obey licenses. You can try to sue those who don't obey your license.

mcandre
He's asking if a COPYING file describing the license was added in revision X, it's it legal to checkout revision X^ and use all the code however you wish -- does the license cover older revisions of the code
Michael Mrozek
@Michael Mrozek: yes, exactly.
intuited
Again, technology presents no legal answer. All works are technically copyrighted even if they contain no copyright notice. However, if you want to bring someone to court over old, unlicensed code, you will have to file for copyright.
mcandre
That's not true. You can sue without registering. You just can't get statutory damages, and you can't use the copyright registration as prima facie evidence. See [the official FAQ](http://www.copyright.gov/help/faq/faq-general.html#automatic).
Matthew Flaschen
@mcandre: I think the crux of the issue is whether agreeing to github's terms and conditions grants an implied license to the public to reuse the code as they wish. So yes, I still hold the copyright, but I've potentially granted everyone the right to use the code without restriction, which could mean that filing for copyright would be pointless (as I understand it).
intuited
+1  A: 

I agree Github's Terms are ambiguous, and I wouldn't want to rely on them. However, forking implies to me some kind of basic modification rights. It definitely doesn't imply to me unlimited rights. For instance, it doesn't say anything about distributing binaries.

As far as the warranty, I think your disclaimer is probably only valid for the versions that include it. But that doesn't mean that a court would necessarily find there is a warranty.

So, I would play it safe and do the filter-branches despite the inconvenience.

IANAL.

Matthew Flaschen
A: 

The license text is what gives people the right to use the code. Without a license, people other than the copyright holder (you) have no rights to use it for anything.

So your older versions in the history still keep your rights.

orip
+1  A: 

NOT LEGAL ADVICE:::

I would imagine that it would still hold that you would be the copyright owner of all versions, regardless of COPYING file or not.

As orip suggests, the license gives others the right to distribute and copy. Now, the terms of github, I believe, also require that you have an open source license, or one which provides some measure of grant to copying permissions.

So, without COPYING file, as a viewer of your code, I would imagine I am able to download your code, as you have provided it for distribution, but if I wanted to distribute the code, I should contact you to determine under what conditions you would allow me to copy the code.

You are probably safe if you post a disclaimer on the project description, the Web portion of github, saying "unless otherwise stated, code in this branch covered by ABC license, and XYZ disclaimer".

maxwellb
Putting the license info in the project description is a good idea, thanks.
intuited