5 ms·
Why your next project should be public domain
- jeena 13y agoI almost don't mind releasing my code public domain (and in fact I often do that) but lately I was thinking about if there is a license I could use which forbids the usage of my code for weapons, and now with all the NSA stuff perhaps even spying or more general "harming humanity" or something?
- steveklabnik 13y agoI don't know if this matters to you, but use restrictions go against the Open Source Definition.
- Flimm 13y agoIf you do choose to license your code under such a license, it would not be considered open source (according to the OSI) or free software (according to the FSF). Here's the relevant part of the Open Source Definition: > 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.
- mordae 13y agoOr from being used by your usual evil scientist.
- drakeandrews 13y agoYou can insert a morality clause into your code. However, a broad one ("do no evil" essentially) will make your code unusable unless you define, in exact detail and in legalese, your own moral code. You could prohibit individual activities, but then you run the risk of having your code used for undesirable activities that you previously could not have foreseen.
- lmm 13y agoThe HESSLA is the most popular license along those lines AFAIK. (Note that, as other replies have said, it's not open source).
- pbnjay 13y agoIf the code is never put into a public project I don't see how this would have any effect. I'm not required to abide by every license on everything I slap together on my laptop, it's when I distribute it or allow others (outside my organization) to use it that matters.
- steveklabnik 13y agoIt depends on what kind of license it is: if it's an end-user license, then yes, you do (in theory) have to abide by it. 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.
- pbnjay 13y agoFor an end-user license, sure. But even so the license restrictions only apply to the _recipients_. So if I'm the NSA and use GPL code, and only distribute it to NSA colleagues, I only have to provide my NSA colleagues with the license and code. (IANAL, but seems pretty clear to me on this)
- tjaerv 13y agoThe notion that the NSA would deem it worth their while to go out of their way to honor GPL legalese seems not a little …optimistic.
- Flimm 13y agoIt's not legally possible to dedicate your project to the public domain in many jurisdictions. That's why CC0 exists: http://creativecommons.org/about/cc0 http://creativecommons.org/about/cc0
- steveklabnik 13y agoNote that there's some argument about the CC0's appropriateness for code; apparently the OSI's lawyers said it wasn't good, but now say it's okay, and the FSF's lawyers say it's not cool. I'd give you some links but I'm on my phone, and IANAL.
- justincormack 13y agoThis FSF link says it is fine http://www.gnu.org/licenses/license-list.html#CC0 http://www.gnu.org/licenses/license-list.html#CC0 The OSI links are here http://opensource.org/faq#cc-zero http://opensource.org/faq#cc-zero the issue is about the patent clause in the fallback.
- cygx 13y agoSee also https://creativecommons.org/weblog/entry/27081 https://creativecommons.org/weblog/entry/27081
- steveklabnik 13y agoThank you!
- warp 13y agoThe reason OSI didn't approve it is because CC0 does not grant you a patent license. So you if you use CC0 "licensed" code in your own projects, you are free to do anything with such code from a copyright perspective -- but the author of the CC0'ed code has explicitly not given you a patent license for that work.
- arto 13y agoAs detailed on D.J. Bernstein's page at http://cr.yp.to/publicdomain.html http://cr.yp.to/publicdomain.html, a lot of the fear, uncertainty, and doubt about public domain software can be traced back to Lawrence Rosen's influential 2002 Linux Journal article "Why the Public Domain Isn't a License". (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-March/000345.html 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=indexed https://github.com/search?q=%22public+domain%22&type=Code&s=...
- steveklabnik 13y agoPublic domain as a concept does not exist in all jurisdictions, so placing something into the public domain doesn't actually do what you intend it to do.
- gw 13y agoWhat is it that you think I intend to do? I am fully aware that public domain doesn't exist in all jurisdictions; by the looks of it, it may not exist for long in my own legal jurisdiction! Whether it is legally recognized or not is irrelevant to me.
- steveklabnik 13y agoI meant 'you' in a slightly broader sense; people who want to put things in the public domain intend their use to be free for anyone to use for any purpose. 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.
- gw 13y agoLet's not equivocate on the term "restricted". My software is more restricted by your government if it doesn't recognize the public domain, but that is entirely different from (for example) saying that the GPL is more restricted than the MIT license. 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.
- steveklabnik 13y agoYeah egoism/illegalism is fun and all, but until you can get a significant mass to participate, you're actively harming those who may be sympathetic, yet don't want to violate their own country's laws. This harms the organizing you'd need to do in order to bring about meaningful change. 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.
- nrhtr 13y agoI don't see how this is at all supposed to be convincing. Furthermore: "In my lifetime, I expect the copyright cancer to complete its metastasis. I expect that old-fashioned physical property rights will decline by the same magnitude. When I reach my deathbed and find myself ready to will that old-fashioned property to my unlikely-to-exist children, I'll be sure that document has a nice big public domain dedication at the bottom." 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?
- gw 13y agoThis piece isn't meant to be an indictment of intellectual property in general (I'll save that for another time). I'm arguing that even those who believe in copyright should agree that it should be optional. The fact that it is now encompassing all creative work, regardless of the creator's desires, is what I regard as cancerous.
- warp 13y agoI agree copyright SHOULD be optional, it should NOT be automatic. However, it currently is. Which then means if I use your public domain code in a project, I am probably infringing your copyright because there is no such thing as public domain in my country. 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.
- gw 13y agoUnderstood, but not being able to "legally" use my code is not the same thing as not being able to use my code. Public domain is an important enough principle that I don't think we should be ceding so readily, just so we can appease the dysfunctional copyright regimes around the world.
- 4ad 13y agoD. J. Bernstein (qmail, djbdns, the man responsible for making encryption legal in the United States) places everything into the public domain and has written more about it: http://cr.yp.to/publicdomain.html http://cr.yp.to/publicdomain.html
- bbanyc 13y agoFor many years Bernstein explicitly refused to place any sort of license conditions on most of his software on the grounds that he didn't want modified versions floating around and copyright law allowed most of the things he wanted to allow people to do with his programs. (It's unclear whether or not he was right on the latter point. You can dig up Bernstein's flamewars with Theo de Raadt and Rick Moen on the topic and decide for yourself.) 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.
- tjaerv 13y agoOn that note, Bernstein on Moen: http://cr.yp.to/distributors.html http://cr.yp.to/distributors.html
- zeckalpha 13y ago> I do not regard the LICENSE.txt in your Github project as a serious abrogation of ethics. It inspires more of a shallow sigh ... 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!
- arto 13y agoProperly, projects lacking licensing information are known as "license-free software": http://en.wikipedia.org/wiki/License-free_software http://en.wikipedia.org/wiki/License-free_software http://ar.to/2010/12/licensing-and-unlicensing http://ar.to/2010/12/licensing-and-unlicensing
- delinka 13y agoThe general population of devs seem to have this misunderstanding. Since many just Do Their Jobs and don't release personal projects (and thus feel they have no immediate need to understand copyright and licensing), it's understandable. 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.
- jt2190 13y ago> 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. [1] http://www.copyright.gov/help/faq/faq-general.html http://www.copyright.gov/help/faq/faq-general.html
- rmc 13y agoThis 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.
- arto 13y agoZach, awesome stuff, hadn't noticed that Nightweb was in the public domain. We've added a link to your project just now in the Unlicense.org featured project list: http://unlicense.org/#unlicensed-free-software http://unlicense.org/#unlicensed-free-software
- ds9 13y agoThe author compares PD with MIT/BSD type licences, but does not explain why he/she wants to give everyone the relatively full set of rights that these alternatives represent. 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.
- rmc 13y agoMy 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. 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.
- ds9 13y agoCorrect, I was just using "commercial" as a shorthand for "closed source". It is only commercial users that would use it with concealed changes if it were PD or BSD-type licence. This would enable privatizing public value. 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.
- tjaerv 13y agoSlapping a copyleft license on your project doesn't mean that people magically won't use it where that use would be "infringing". It only means that you can sue, if you should learn of it. 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 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.
- gioele 13y agoHere is quick way to release your project in the public domain. 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
- Filligree 13y agowget won't do what you think it does; simplest fix is to use curl.
- H3g3m0n 13y agoUse the right license for the job. 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.