禅道创始人王春生:如何选择开源软件协议

原创
2016-12-24 15:08:13
潘仙芝
8653
开源协议,是开源项目发展的一个重要保证,但目前国内开源项目作者往往不太重视开源协议的选择。如何选择对项目发展有利的开源协议?下面,我们一起来听听王春生自己的经验。
 
禅道团队先后开发了三款开源软件产品:
蝉知企业门户系统

然之协同管理系统


这三款产品分别面向企业的不同领域,其授权协议也略有不同。其中禅道和然之协同目前是以LGPL协议发布,而蝉知企业门户系统则使用了我们自己拟定的协议。那我们是如何来选择开源软件协议的呢?在此和大家分享一下我们关于开源软件协议的一些考虑。
 
禅道项目管理软件和然之协同管理系统是以LGPL协议发布的。为什么用这样的协议呢?我们来逐一分析一下。常见的开源软件协议有GPL, LGPL, AGPL, Apache, BSD, MIT。从授权的严格程度来讲,AGPL最为严格,Apache、BSD和MIT授权比较宽松。
 
我们没有选择GPL协议和AGPL协议,是因为这两款协议过于严格,有一些公司会限制GPL协议软件的使用,不利于软件的推广。而BSD, Apache, MIT协议过于宽松,其他公司很容易会把代码拷贝,加以改动,然后发布一个类似的产品出来(尤其是在国内山寨风行的情况下面),而你又无法吸取衍生产品优秀的改动。综合考虑之下,我们为这两款软件选择了相对中庸的LGPL协议。
 
蝉知企业门户系统最开始的时候也是以LGPL协议发布的,但后来我们改成了自己拟定的协议。这是为什么呢?蝉知企业门户系统比较特殊,它主要是帮助企业来搭建自己的企业官网。蝉知系统功能丰富、操作简单,有很多的建站公司或者个人工作室选择使用蝉知系统为他们的客户来搭建网站,我们非常欢迎这些朋友来使用蝉知系统。但往往有一些朋友使用蝉知系统搭建网站之后,会把蝉知系统的标志去掉。从我们产品宣传的角度来讲,我们还是希望大家能够保留蝉知的标志和链接,但LGPL协议无法限制这种行为。
 
还有一点,就是禅道项目和然之协同是内部使用的,大家并不太关心授权协议。但蝉知系统是对外使用的,用户对授权协议比较敏感,但LGPL协议是英文的条款,国内很少有人能够搞清楚具体的条款是什么,后来我们重新拟定了蝉知系统的授权协议。这个协议用一句话来讲的话就是:你可以用蝉知系统做各种事情,但必须保留蝉知系统的标志和链接,具体的协议条款大家可以参考此页内容。
 
除了上述问题之外,还经常有朋友问我们,你们接受不接受第三方作者的代码?我们的回答是:不。我们为什么这样做呢?也是有我们的考虑,主要是保证代码版权的纯粹性。很多比较成熟的开源软件,都需要代码提交者签署相应的版权声明才接受其提交的代码的。
 
相反,看国内很多的开源软件,往往都是把自己上班时候的代码直接拿出来发布,其实这从法律上来讲是有问题的。这些代码是你的职务所得,没有明确约定的话,代码版权都是属于公司所有。如果公司没有签署明确的开源软件许可声明,是不能随便拿出来开源的。
 
基于此考虑,我们原则上是不接受第三方作者的代码的,但我们也提供了更加灵活的插件机制。第三方的作者可以把自己的代码以插件的形式发布出来,代码的版权都归作者所有,也可以开源,也可以收费,都很灵活,也保证了系统代码版权的纯粹性。这样后续我们如果有一些大的举措,比如若干年后我们也许会把代码捐献给某个基金会,因为代码都是我们公司所有的,就不用大费周折再找相应的代码提交者签署许可。
 
开源软件协议的选择往往和作者的目的有关系。作为商业公司,在选择授权协议的时候应该谨慎一些更好。如果大家更多的是兴趣爱好,可以选择BSD之类宽松的协议。(本文发布时较原文有改动)
 
【编辑注:开源协议,是开源项目发展的一个重要保证,但在大陆知识产权保护较弱的情况,国内开源项目作者也往往不重视开源协议的选择。如果不重视开源协议,不重视对开源项目的保护,则对开源项目和开源社区是一个重大隐患,虽然在当前情况下即使选择了恰当的开源协议,也会遭遇践踏开源协议的情况。】
发表评论
评论通过审核后显示。