浏览代码

Merge branch 'master' of https://github.com/nothings/stb

Sean Barrett 10 年之前
父节点
当前提交
e5a2c3cf86
共有 1 个文件被更改,包括 99 次插入32 次删除
  1. 99 32
      docs/why_public_domain.md

+ 99 - 32
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.
-
-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. :(
+```