假设我有一个使用知识共享许可的博客。此类许可证将显示在每页底部,并带有指向实际许可证的链接等。
但是,显然,知识共享许可并不真正适合于软件或源代码的分发,那么,可以成为博客文章一部分的任何代码(例如,片段/片段甚至完整程序)怎么办?
如果我选择以GPLv3的形式发布此代码,那么在页面底部是否可以接受并且足够清楚地表明:“ Foo先生的此网站是根据知识共享而发布的,除了任何源代码片段/片段/样本形式的源代码,这些代码在GPLv3下发布?
还是有更好/不同/更正式的方式来澄清这种情况?
假设我有一个使用知识共享许可的博客。此类许可证将显示在每页底部,并带有指向实际许可证的链接等。
但是,显然,知识共享许可并不真正适合于软件或源代码的分发,那么,可以成为博客文章一部分的任何代码(例如,片段/片段甚至完整程序)怎么办?
如果我选择以GPLv3的形式发布此代码,那么在页面底部是否可以接受并且足够清楚地表明:“ Foo先生的此网站是根据知识共享而发布的,除了任何源代码片段/片段/样本形式的源代码,这些代码在GPLv3下发布?
还是有更好/不同/更正式的方式来澄清这种情况?
Answers:
通常,面向开发的网页上存在三种类型的内容,这些内容可能由不同的许可证涵盖:
文字内容本身,即博客文字,
源代码,
视觉设计(设计本身和图形元素,例如徽标)。
我在许多网站(例如)上使用的以及也可以用于博客的是类似于以下内容的标题:
版权所有©2015 Example Corp.保留所有权利,但以下列举的部分除外:
- 该产品的源代码受BSD 3-条款许可。
- 此页面内容(不包括视觉设计和徽标)受创用CC署名/类似共享许可保护。
这实际上意味着:
注意:
如果您博客上的代码段很小,则很有可能不需要特定的许可证(即使有特定的许可证,读者也会将其驳回,并且无论如何您都无法强制执行其条款)法庭)。
例如,此MSDN文章中的摘录很难被许可所涵盖:从未读过该文章的任何人都可以自己编写完全相同的代码,并且几乎不可能向法官证明代码实际上是复制粘贴的。
如果您博客上的代码段很大,则许可证可能包含在标题中。不是全文(请不要这样做;文件标题中的使用大写字母表示的许可非常难看),而是最后提到链接的提及。与在页面页脚中提到许可证相比,这有一个好处:如果代码被复制粘贴,则许可证保留的机会更大。
/**
* Author: Somebody <somebody@example.com>
* Original source: http://blog.example.com/123/
* License: BSD 3-Clause License (http://opensource.org/licenses/BSD-3-Clause)
**/
// Code goes here.
另外,如果您希望实际使用代码,请考虑使用不同于GPL的许可。由于GPL是非常严格的许可,因此可能不适合您博客中放置的代码段。
您可以将代码段保存在带有其自己的LICENSE文件的在线存储库中,以便人们知道如何重用它。您还可以将代码片段编写为Github Gists,然后将其嵌入到博客文章中:由于每个Gist可以具有多个文件,并且您可以分别嵌入它们(如本SO答案所述),因此可以在其中添加单独的许可证文件。每个要点,或具有多个代码段的单个大要点。