Why your next project should be public domain
nightweb.net
nightweb.net
I'd give you some links but I'm on my phone, and IANAL.
The OSI links are here http://opensource.org/faq#cc-zero the issue is about the patent clause in the fallback.
(For those who may not know, Rosen is the former general counsel and secretary of OSI.)
However, that article was incorrect on a number of issues, as Bernstein points out. And indeed, Rosen has last year at long last recanted his previous views on public domain software:
> I have already voted +1 to approve the CC0 public domain dedication
> and fallback license as OSD compliant. I admit that I have argued for
> years against the "public domain" as an open source license, but in
> retrospect, considering the minimal risk to developers and users
> relying on such software and the evident popularity of that "license",
> I changed my mind. One can't stand in the way of a fire hose of free
> public domain software, even if it doesn't come with a better FOSS
> license that I trust more.
Source: http://projects.opensource.org/pipermail/license-review/2012...The "fire hose" Rosen mentions can be witnessed in action at e.g. GitHub, with volumes of code now being put into the public domain on an everyday basis: https://github.com/search?q=%22public+domain%22&type=Code&s=...
Note: Not having a LICENSE.txt does not make Github projects public domain. They are simply unlicensed. There are many projects which are unlicensed on Github. File an issue for each one you find!
I'm now curious how many of these intersect with the crowd that thinks when I've released my own code under the GPL, that I must never make use of that code (that I own the rights to) in some proprietary project.
> Not having a LICENSE.txt does not make Github projects
> public domain.
+1. From the U.S. Copyright Office FAQ: > Do I have to register with your office to be protected?
>
> No. In general, registration is voluntary. Copyright
> exists from the moment the work is created. You will
> have to register, however, if you wish to bring a
> lawsuit for infringement of a U.S. work... [1]
(Many other countries have similar rules.)This is why open source projects often require a "contributor agreement" when submitting patches.
Often "contributor agreements" are only desired by (large) projects so that the large project owns the copyright on your contributions. This will allow them to change the licence at a later date (if they want). Without copyright assignment to them, they have a much harder time changing licence.
There are some cases where relicencing is good (OpenStreetMap had to change it's licence, and had to delete old contributions), and sometimes when it's bad.
(Note: GitHub ToS says if you put copyright code on it, then you are by default allowing others to fork & download it, so the default licence is looser than the legal default)
From https://help.github.com/articles/github-terms-of-service:
> ...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.You hint at this with suggesting that you're doing MIT but without the last bit of covering your ass. But depending on where in the world you are, you're being significantly _more_ restricted than the MIT, all because of (your words) some 'internet bravado.'
Yes, licenses suck. I'm -1 on most forms of property, and "intellectual property" most of all. But ignoring reality harms more than it helps. Just MIT/BSD and be done with it, or, if you want to be silly, WTFPL.
I understand this distinction won't matter to someone in such a country who wants to use my code while remaining legally compliant. My own feeling is that in such a country, I would carry on writing software and stop worrying about legal compliance.
I am all about direct action, but you have to pick your battles. This one seems to me to be all downside with very, very little upside. Especially, as my sibling states, when you just say 'public domain' without mentioning your politics.
Have a little peek at how much public domain software is already being produced daily on GitHub:
https://github.com/search?q=%22public+domain%22&type=Code&s=...
Consider also that the majority of repositories on GitHub contain no license declaration at all, which should be a clear enough indicator of where these trends are going:
http://www.theregister.co.uk/2013/04/18/github_licensing_stu...
Further, as explained in another comment, when even the most prominent and harshest former critics of public domain software (cf. Larry Rosen) have recently changed their mind and, if not exactly pushing the public domain as yet, at least see no problem with it, how much more could you want?
Secondly, a mass of people _creating_ public domain software isn't the issue: the mass would be of people _breaking the laws of the jurisdiction in which they live by using public domain software as public domain even though it's not recognized_.
Personally, I currently BSD/MIT all of my code, but am considering AGPLing it all from now on. I don't think that the negligible difference between BSD/MIT and public domain is worth _any_ headache at all; they're effectively the same from my viewpoint.
I don't care what you do. Writing obscure software is great! Have fun! Even put it in the public domain, you obviously know exactly what you're doing, and I think your principles are fine.
I don't think that advocating that others should follow along with what your doing is the most responsible of choices, especially if you don't care about achieving some sort of goal.
Anyway, as I said elsewhere, rock on. I've already made my point.
My code, outside the day job, is GPL. Why should I let others commercialize it without giving anything back? But I want to allow noncommercial use for everyone, and commercial use for those who will contribute their changes.
I'm not saying everyone should have these preferences - in fact I admire the generosity of anyone who donates valuable IP to the public domain. It's just that the title is "Why your next project should be public domain", yet the author does not explain the motive for this type of licence over others.
The restrictions for GPL code is nothing to do with whether it's used commerical or noncommerically, the same restrictions apply.
Someone can use your GPLed code commerically without paying you or asking your permission, and someone can use your GPL code noncommerically as well. In both cases they have to abide by the GPL conditions.
The point is that my motive is giving value to the public, in a way that prevents it "leaking" into private profits without compensation. The effect of the article-author's licensing is giving some of the value to the public and some to private profit-oriented exploiters, while the motive for preferring the latter over the former is not stated.
See this recent talk by Rob Landley, of BusyBox fame, on how casual and widespread GPL infringement is in large corporations, and why he no longer advocates the use of the GPL:
http://www.youtube.com/watch?v=SGmtP5Lg_t0
Landley's the guy who started the infamous BusyBox GPL lawsuits that then spiraled totally out of his control, so he has more skin in the game than most.
Obviously there will be some that violate the license, as there is with any license. But the point is that you do have _some_ sort of legal recourse if they do, and also, you make your intent clear as an author: this is supposed to be Free forever.
If your anti-argument is "people will just ignore the license," then using a permissive license isn't an argument either. After all, people will just ignore it.
The point is that users who would give credit will do so anyway (without needing a gun held to their heads), and those who won't, won't. A license only changes things by giving the recourse to sue in the latter case. If you aren't going to sue anyway (as Landley isn't, anymore), then there's not much point to using a relatively restrictive license.
I recommend watching the Landley talk. He used to be among the most rabid copyleft advocates, before the BusyBox fiasco and GPLv3.
For me, I don't believe I (or anyone) have any rights over information. Therefore, I use a license that assumes the smallest amount of rights possible (subject to legal interpretations).
I don't think he gave a reason why he switched to public domain a few years back, but it was clear by that point that he wasn't doing any more work on qmail or djbdns and the non-licensing was holding back further development and adoption by others.
If I was making a stand alone program, then it would probably be GPL or AGPL (for anything that could provide a service over the web).
However I would probably avoid it if I could see the potential for it to be made into a library and many stand alone programs can benefit from that (Look at Clang vs GCC). Ideally you make the core meat of your program as a library from the beginning but and just provide a thin frontend but thats not always how projects go. For example if you make a GUI app but now have a save file format that you could allow others to interoperate with.
For a library I look at either MIT style, or CC0. MIT does seem like a silly requirement. Yeh some outsourcing company somewhere can legally dump your code into their project and charge for it, (and with CC0 not tell anyone it was your code but) that doesn't really hurt you. If it's a closed project no one will be looking at the code anyway. And you can always point to the code and prove it's yours (well someone could claim you stole their code and re-licensed it but that can happen with any license).
I tend to avoid the LGPL, the restrictions seem like a massive pita to me. You now have to deal with dynamic libraries rather than static due to stupid legal issues with what should be a technical decision.
I also don't like that GPL'd stuff can take from MIT/CC0 and the reverse isn't true (without converting their codebase). Seems kind of unfair in the opensource environment.
> The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
You're right that if it's just a copyright on the source code, then it's probably a restriction on redistribution, which means you couldn't _use_ that code for evil and then share it with others. But using it for evil for yourself: totally fine.
If he thinks so little of software copyright because it's "old-fashioned" and cancer-ridden, shouldn't he think the same of physical property law? Is this the kind of person that would steal your wallet too?
So, I cannot use your code. Many open source projects are developed by volunteers around the world, they will also not be able to legally use your code. If this is your intent, that is fine, it is your choice. Usually that is not what people intend when they try to put their code in the public domain.
For all I know the MIT license might be (say) invalid in France, because it's written in the wrong language, or invalid in Russia because the the first paragraph isn't written in ALL CAPS, or invalid in Taiwan because it doesn't expressly waive moral rights to the integrity of the work.
There are perfectly valid reasons do disagree with physical private property, but repudiating copyright does not entail repudiating private property.
Physical goods have a significant difference, which makes property, if not indispensable, at least reasonably sensible: scarcity. Each tangible good is scarce, and its use by multiple people is conflictive. Property as an institution reduces conflict by determining who can use each good at any time. Copyrighted goods have no need for such mechanism - you can just create more.
See "Against Intellectual Property": http://mises.org/journals/jls/15_2/15_2_1.pdf
It seems to preempt the question you are asking. I get the sense that the "old-fashioned property" in the last sentence is referring to physical stuff as much as to software.
Add this to your README and to your source files:
This is free software released into the public domain (CC0 license).
See the COPYING file or <http://creativecommons.org/publicdomain/zero/1.0/>
for more details.
Then wget http://creativecommons.org/publicdomain/zero/1.0/legalcode.txt > COPYING