diff --git a/docs/why_public_domain.md b/docs/why_public_domain.md index 141e4b6..8636921 100644 --- a/docs/why_public_domain.md +++ b/docs/why_public_domain.md @@ -3,47 +3,114 @@ in the public domain: 1. Public domain vs. viral licenses -Why is this library public domain? -Because more people will use it. Because it's not viral, people are -not obligated to give back, so you could argue that it hurts the -development of it, and then because it doesn't develop as well it's -not as good, and then because it's not as good, in the long run -maybe fewer people will use it. I have total respect for that -opinion, but I just don't believe it myself for most software. + Why is this library public domain? + Because more people will use it. Because it's not viral, people are + not obligated to give back, so you could argue that it hurts the + development of it, and then because it doesn't develop as well it's + not as good, and then because it's not as good, in the long run + maybe fewer people will use it. I have total respect for that + opinion, but I just don't believe it myself for most software. 2. Public domain vs. attribution-required licenses -The primary difference between public domain and, say, a Creative Commons -commercial / non-share-alike / attribution license is solely the -requirement for attribution. (Similarly the BSD license and such.) -While I would *appreciate* acknowledgement and attribution, I believe -that it is foolish to place a legal encumberment (i.e. a license) on -the software *solely* to get attribution. + The primary difference between public domain and, say, a Creative Commons + commercial / non-share-alike / attribution license is solely the + requirement for attribution. (Similarly the BSD license and such.) + While I would *appreciate* acknowledgement and attribution, I believe + that it is foolish to place a legal encumberment (i.e. a license) on + the software *solely* to get attribution. -In other words, I'm arguing that PD is superior to the BSD license and -the Creative Commons 'Attribution' license. If the license offers -anything besides attribution -- as does, e.g., CC NonCommercial-ShareAlike, -or the GPL -- that's a separate discussion. + In other words, I'm arguing that PD is superior to the BSD license and + the Creative Commons 'Attribution' license. If the license offers + anything besides attribution -- as does, e.g., CC NonCommercial-ShareAlike, + or the GPL -- that's a separate discussion. 3. Other aspects of BSD-style licenses besides attribution -Permissive licenses like zlib and BSD license are perfectly reasonable -in their requirements, but they are very wordy and + Permissive licenses like zlib and BSD license are perfectly reasonable + in their requirements, but they are very wordy and + have only two benefits over public domain: legally-mandated + attribution and liability-control. I do not believe these + are worth the excessive verbosity and user-unfriendliness + these licenses induce, especially in the single-file + case where those licenses tend to be at the top of + the file, the first thing you see. + + To the specific points, I have had no trouble receiving + attribution for my libraries; liability in the face of + no explicit disclaimer of liability is an open question, + but one I have a lot of difficulty imagining there being + any actual doubt about in court. Sometimes I explicitly + note in my libraries that I make no guarantees about them + being fit for purpose, but it's pretty absurd to do this; + as a whole, it comes across as "here is a library to decode + vorbis audio files, but it may not actually work and if + you have problems it's not my fault, but also please + report bugs so I can fix them"--so dumb! + +4. full discussion from stb_howto.txt on what YOU should do for YOUR libs + +``` +EASY-TO-COMPLY LICENSE + +I make my libraries public domain. You don't have to. +But my goal in releasing stb-style libraries is to +reduce friction for potential users as much as +possible. That means: + + a. easy to build (what this file is mostly about) + b. easy to invoke (which requires good API design) + c. easy to deploy (which is about licensing) + +I choose to place all my libraries in the public +domain, abjuring copyright, rather than license +the libraries. This has some benefits and some +drawbacks. + +Any license which is "viral" to modifications +causes worries for lawyers, even if their programmers +aren't modifying it. + +Any license which requires crediting in documentation +adds friction which can add up. Valve used to have +a page with a list of all of these on their web site, +and it was insane, and obviously nobody ever looked +at it so why would you care whether your credit appeared +there? + +Permissive licenses like zlib and BSD license are +perfectly reasonable, but they are very wordy and have only two benefits over public domain: legally-mandated attribution and liability-control. I do not believe these are worth the excessive verbosity and user-unfriendliness these licenses induce, especially in the single-file case where those licenses tend to be at the top of -the file, the first thing you see. +the file, the first thing you see. (To the specific +points, I have had no trouble receiving attribution +for my libraries; liability in the face of no explicit +disclaimer of liability is an open question.) -To the specific points, I have had no trouble receiving -attribution for my libraries; liability in the face of -no explicit disclaimer of liability is an open question, -but one I have a lot of difficulty imagining there being -any actual doubt about in court. Sometimes I explicitly -note in my libraries that I make no guarantees about them -being fit for purpose, but it's pretty absurd to do this; -as a whole, it comes across as "here is a library to decode -vorbis audio files, but it may not actually work and if -you have problems it's not my fault, but also please -report bugs so I can fix them". \ No newline at end of file +However, public domain has frictions of its own, because +public domain declarations aren't necessary recognized +in the USA and some other locations. For that reason, +I recommend a declaration along these lines: + +// This software is in the public domain. Where that dedication is not +// recognized, you are granted a perpetual, irrevocable license to copy +// and modify this file as you see fit. + +I typically place this declaration at the end of the initial +comment block of the file and just say 'public domain' +at the top. + +I have had people say they couldn't use one of my +libraries because it was only "public domain" and didn't +have the additional fallback clause, who asked if +I could dual-license it under a traditional license. + +My answer: they can create a derivative work by +modifying one character, and then license that however +they like. (Indeed, *adding* the zlib or BSD license +would be such a modification!) Unfortunately, their +lawyers reportedly didn't like that answer. :( +```