|
@@ -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.
|
|
|
-
|
|
|
-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".
|
|
|
+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.)
|
|
|
+
|
|
|
+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. :(
|
|
|
+```
|