ABOUT LICENCE WE NEED TO KNOW

关于许可

总是能从开源项目中看到各种各样的LICENSE, 一般看上去是这样的

The MIT License (MIT)
  
  Copyright (c) 2024 Author
    
  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:
  
  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.
  
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.

为什么我们需要软件许可呢, 都有哪些软件许可, 我们该如何选择软件许可呢?

好在Everything is Googlable!


  • 为什么我们需要软件许可

在我们生活的大环境中, 契约精神与法制意识正开始慢慢觉醒, 比如我们租个房,办张信用卡都免不了要与中介或银行签订长长的“协议”, 这些协议是限定合作双方的权力与义务的,当纠纷产生, 这些协议将成为维权的依据. 像软件这种没有实物的虚拟产品, 它的交易与传播其实是更加频繁的, 因此软件的“生产者”与软件的“使用者”之间也就需要签订类似的“约定”来约束双方的行为, 这就是软件许可.

对于那些闭源的商业软件, 它们的软件许可相对好理解, 一般一些比较有财力的软件开发商会雇佣专门的律师团队为他们编写许可, 以使得自己符合自己公司的商业利益得到最大的保障.

而“开源软件”的作者虽然无私地选择了自己软件的开源特性, 但他们依然有通过签订许可来保障自己权益的需求, 但通常他们没有这样的财力(或必要)去自己编制许可, 于是就是“网上既然有人弄出来了个许可了”那么咱就拿来用就是了. 当然虽然只是一段话,许可本身也是有版权的,好在像MIT|APACHE|GNU等这样的组织, 开放了许可的使用权, 那么开源软件的开发者们就从它们提供的更专业的许可声明中选取一个使用就是了. 当然, 根据开源社区的价值观, 通过许可我们希望给予使用者的不是“限制”, 而是“自由”, 所以它们创造了一个区别于Copyright的词: “Copyleft”


  • 都有哪些开源软件许可

在Wikipedia里, 我们可以看到所有的开源软件许可

在GNU官网里, 也可以看到类似的列表

它们对于软件的使用条件的约束各有不同.


  • 如何选择开源软件许可

我们可以根据自己软件的应用场景和特别来选择相应的许可证类型. 网上流转得最广的一幅用于帮助你选择软件许可的图来自乌克兰程序员Paul Bagwell, 后经阮一峰翻译如下

how-to-choose-fsl

有点晕? Github也提供了一个专门的业面引导你如何选择一个协议


  • 最彪悍的许可

Google了一遍, 在所有开源软件许可中, 找到了最彪悍的一个: “WTFPL”证书

条款只有一条:“你TM爱咋用就咋用”

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
  
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
  
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
  
           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  
0. You just DO WHAT THE FUCK YOU WANT TO.

作者Sam Hocevar, 是个法国软件工程师,曾是Debian Project的Selected Leader, 开源果然够彻底


  • REFERENCE

  1. https://www.zhihu.com/question/19962512
  2. https://www.zhihu.com/question/28292322
  3. http://blog.csdn.net/wadefelix/article/details/6384317
  4. http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
  5. http://coolshell.cn/articles/4657.html
  6. http://www.gnu.org/licenses/license-list.html
  7. https://en.wikipedia.org/wiki/Sam_Hocevar