Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

If I release some code and binaries, but I don't include any license at all with it, what are the legal terms that apply by default (in the US, where I am). I know that I automatically have copyright without doing anything, but what restrictions are there on it?

If I upload my code to github and announce it as a free download / contribute at will, then are people allowed to modify and close source my work? I haven't said that they cannot, as a GPL would, but I don't feel that it would by default be acceptable to steal my work either.

So what can and cannot people do with code that is freely available, but has absolutely no licensing terms attached?

share|improve this question
Dan Bernstein, for many years, released his software without a licence. Many free software distributors refused to distribute his software, because "no licence" was construed by them to mean "all rights reserved". However, Bernstein has a slightly different take. Probably, you can only get a straight answer from a copyright lawyer. –  Chris Jester-Young Dec 15 '10 at 6:14
Of course, Dan Bernstein's opinions are just that. In reality, the opinions that count are those of judges and juries in the event that a dispute results in a court case. –  Stephen C Dec 15 '10 at 15:53
Dan Bernstein is actually pretty correct in the linked article, but there is no mention of one point: in worst case scenarios lawful acquisition of the software needs to be proven. A download link may be ambiguous, (e.g. "it was only meant for paying customers that where upgrading") a long winded explicit license referred to in every source code file included and in the about box of the compiled program, much less ambiguous. Let's not forget a developer may always die and an angry former wife whose kids are inheriting his copyright may try to bend reality in weird shapes. –  ZJR Mar 23 '12 at 1:46
@ChrisJester-Young The linked page doesn't discuss the "licenseless" software disputes and talks about a different legal issue; viz, the enforceability of EULAs. With "licenseless" software, Bernstein's point was that software distributors should not redistribute his software -but only patches against it- and have scripts wget from his site so only he was distributing his software. Laughable, because Bernstein's website doesn't have the redundancy of the zillions of mirrors of real linux distros, and nobody wants to give Bernstein "pull the plug" rights on their Linux distro. –  Atsby Mar 22 at 10:53

8 Answers 8

up vote 17 down vote accepted

Without a license, companies and individuals may be reluctant to use your code, because you don't grant them specific rights to do so.

Even when you put the code into the public domain, you are granting rights to use. So you might as well make a statement of acceptable use that is acceptable to you.

Without such a statement or license, there is nothing preventing people from using your code in whatever way they see fit. There is, of course, nothing preventing bad people from violating your license, but most good people and companies will respect your terms if you tell them what those terms are.

In short: you should have some form of license, even if that license grants unrestricted use.

share|improve this answer
I don't believe the statement "when you put the code into the public domain, you are granting rights to use" is correct globally. If I remember my professional practice in computer science course correctly, copyright law on source code is treated the same as other written works in Canada. Any work that is unlicensed can only be used as satire or under fair use, whether in the public domain or not. I think that only enforces your opinion that you should have a license on all your code to avoid this sort of confusion. –  AndrewKS Dec 15 '10 at 16:59
@AndrewKS: When you put material into the public domain, you relinquish your copyright. –  Robert Harvey Dec 15 '10 at 18:20
@Robert Harvey - in fact Wikipedia seems to be saying that the public domain is by definition the set of all information that is not copyrighted. So the act of renouncing your copyright makes it public domain by definition ... not the other way around. (OK, I'm splitting hairs. But that's what a lawyer would do ...) –  Stephen C Dec 16 '10 at 7:45
Thanks for the response. Now I believe that your answer is the right one. It raises the question though of whether code that has been put on the internet or passed around through other means is in the public domain or not, which I'm sure is a huge debate in itself. In this case, if the author knowingly "releases" his code, like the OP is doing, it implies that it is being put in the public domain. To paraphrase Zen of Python, which I'm not sure whether it's in context here or not, "Explicit is better than implicit". –  AndrewKS Dec 16 '10 at 18:20
You actually cannot globally put something into the public domain, because some countries don't recognise that. So the best thing to do is to put it under a very permissive license, such as WTFPL 2.0 (for code) or CC0 (for writing). –  TRiG Feb 8 '11 at 21:35


Depending on the size of the posted code, most people just assume it's public domain, though that's not actually the case. (It's actually not possible to dedicate a work to the Public Domain in the US.)

For small code snippets - like just a single small function or an algorithmic example - any use would be a fair use since it's too small to be considered a "Work."

For larger snippets - small libraries, for example - no one can really make an assumption. Most programmers will probably assume it's free for use, but organizations will be hesitant to give it a look.

My suggestion is to just put a little preamble that summarizes the terms of use. If I want others to use it, I might simply say, "This code is free for any use," and leave it at that.

share|improve this answer

The purpose of a copyright license is to give the licensee rights he would not otherwise have. Without a license, the only rights remaining are the ones guaranteed by copyright law, which are basically none.

Without a license, you aren't even allowed to download the code, since that implies making a copy, which is forbidden by copyright law. You cannot distribute it, since that implies making a copy. You cannot even run it, since that implies copying it into RAM.

However, you wrote:

If I […] announce it as a free download / contribute at will […]

That is a license. Or at least, it may or may not be construed as one.

So what can and cannot people do with code that is freely available, but has absolutely no licensing terms attached?

Nothing. Well, almost. Nothing interesting, certainly.

There are certain fair use rights, that would allow someone to quote parts of the code in a scientific research paper, for example, or to make a parody (but not a satire) of your code.

share|improve this answer
While this may be true not stating your rights clearly (for instance claiming the copyright) makes it very hard to defend them legally. I'd also possibly suggest that as Github is a known host of OSS software (and that that's basically the default position) it might be argued that if you uploaded it there and didn't state otherwise there might be a reasonable expectation of some sort of OSS license. –  Jon Hopkins Dec 15 '10 at 11:33
This is not true. Any step that is necessary for ordinary use is permitted without a license. Otherwise you couldn't read a book if you bought it because reading it would require making a copy of the book on your retina. You wouldn't color in a coloring book because that would be making a derivative work, and so on. In the United States, everyone who comes into possession of a lawfully-created work has the right to its ordinary use. You could download it from the author's site but couldn't put it up for download yourself. (Just as you can't offer a book you bought for download.) –  David Schwartz Aug 13 '11 at 15:44
a) In the absence of any explicit license, putting a work on the Internet for anyone to download means that there is an implied license to download the work (and make any copies that downloading requires). b) In the United States, the Copyright Act specifically states that making copies in RAM (and any other incidental copies required to use software with a computer) is not an exclusive right of the copyright holder. So, as David stated, simply using software for its intended purpose is never copyright infringement. –  Dan Moulding Nov 3 '11 at 17:20

Explicitly mentioning the copyright in your work was an obligation in the past. It is no more required.

If the country you are in is a member of berne convention, then it's automatic. You have the full rights on your work.

The only exception to this is when your work is used in the context of "fair use". For example, I can copy/paste portion of text from internet or a book to illustrate what I explain. That's what I'm going to do right now, I'm fearless...

Copyright does not prohibit all copying or replication. In the United States, the fair use doctrine, codified by the Copyright Act of 1976 as 17 U.S.C. § 107, permits some copying and distribution without permission of the copyright holder or payment to same. The statute does not clearly define fair use, but instead gives four non-exclusive factors to consider in a fair use analysis.

This is from WikiPedia.

However, not explicitly mentioning the copyright may make some companies not very well informed on their rights & obligations to use your code in good faith.

You want to avoid all the paper work to force them to stop using your code, so as a general rules, even if it's not an obligation:

Add copyright statement in each source code file. Attach the full license to the project.

share|improve this answer

The copyright laws vary wildly from country to country. THis means that what is legal in one country is not in another, and using unlicensed code is a ticking bomb.

This in turn means that the code should not be adopted by a team producing production code. (My personal opinion) as you never know when you reach such a situation.

If you want people to use your own code without you having any concerns about for what purpose, then consider the Apache 2.0 license.

share|improve this answer

One thing which may be significant is that you mention Github.

If you're using a free Github account that's an implicit statement that it's OpenSource. Even if you don't include a license the fact that Github free accounts are only permitted to host OpenSource projects would almost certainly allow people to claim a reasonable expectation that that's what it was.

Section F, paragraph 1 of the GitHub Terms of Service says:

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.

share|improve this answer
Excellent. Found this post before I could find the info on github. Bravo. –  Zoot Jul 15 '13 at 19:41
Could you indicate where there is the implicit statement of it being open source? GitHub's VP of marketing seems to claim otherwise. –  MichaelT Mar 12 at 20:46
-1 for "implicit statement that it's OpenSource". Just because people may view your code doesn't mean it's open source. –  CodesInChaos Jul 5 at 11:32

If you provide no license, then all restrictions come from copyright law.

IANAL, but this is how I understand US law. If you want legal advice you can rely on, find somebody competent to give it in the jurisdiction you're interested in.

It is possible for the copyright holder or licensee (if permitted by the license) to distribute copies. Therefore, if I have code with no license, put it on a web site, and say "Feel free to download this", you may download it.

Once downloaded legitimately, you have a legal copy. You can make one backup copy, and use it as you like. You can run it, since US copyright law allows all copies necessary to run legally acquired software. You can, I believe, modify it for your own use (I can modify books I buy, after all). You can transfer your copy to another person, provided you don't keep a copy on your own. You can't legally run your copy on more than one machine at a time (although "machine" may be legally fuzzy here).

I don't know if you could keep downloading copies and selling them; ask a lawyer.

You would also have all "fair use" rights, but those are fairly limited, and apply on a case-by-case basis.

If you don't want people to use your software, don't offer it to them. If you do want them to, come up with a license. An OSI-certified Open Source license has the advantage that it's been vetted for problems, and there's a general understanding of what it means.

share|improve this answer
In the United States, anyone who downloaded a copy could sell that copy, provided they did not keep a copy of that particular copy. See 17 USC 109. –  David Schwartz Aug 13 '11 at 15:47

I think that the legal situation is sufficiently uncertain that even a practicing lawyer couldn't give you a clear cut answer.

On the one hand, you as copyright holder have not explicitly granted permission to anyone to make copies. On the other hand, it could be construed that people have an implicit right to copy because you uploaded to github. And there are various legal defenses that might apply to someone that you (hypothetically) sued; e.g. laches or estoppel.

Either way, you are not helping anyone by not putting a license on your code. My advice is to do the right thing and create a new release with a reputable open source license. And if you care about protecting your IP rights on the software going forward, talk to a copyright lawyer.

share|improve this answer

protected by gnat Jul 5 at 9:37

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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