区块链软件开发者需要注意的几种软件许可协议

2018-09-28 13:26:03 来源:tuicool
标签:

在开放源码许可(OSS)下发布的软件对区块链项目的成功至关重要。此类许可允许用户就开源软件进行协作和分布式开发,鼓励用户迅速采用该类软件,并且允许社区成员“fork”特定项目以解决他们策略上的分歧。

 

事实上,OSS许可除了在以太坊和比特币这两个主要的公共区块链均有使用以外,在其他主要的区块链项目也有使用,包括HyperLedger项目和和R3开发的Corda。

 

然而,OSS许可通常跟传统意义上的专有软件许可存在一定的差异。尽管如此,社区中却少有讨论到,关于选择合适的OSS许可和遵守该许可条款的重要性。

 

如果区块链项目想要被企业采用,那么对OSS许可的选择将会对其采用率产生实质性的影响。即使对于像以太坊这样的既定项目,潜在的企业用户也会仔细考虑可能会使用到的OSS许可。

 

例如,IBM的Jerry Cuomo最近在Frederick Munawa的Blockchain Innovation播客中指出,以太坊OSS许可的复杂性是IBM决定从以太坊转移到自己的区块链项目的原因之一,而该项目最终成为HyperLedger项目的一部分。

 

在选择时,区块链项目的潜在企业用户会以统一的标准来评判其他OSS许可项目和区块链项目:(1)OSS项目许可或许可的复杂性; (2)遵守此类OSS许可义务的潜在困难; (3)区块链项目与其他软件项目集成时可能面临的挑战。

 

不同的OSS许可在条款上有很大的差异。Open Source Initiative (OSI) 已批准83个许可作为“开源”许可。

 

然而,OSS许可完整的复杂性(full complexity)是由Linux基金会管理的SPDX项目提出的,该基金会目前已经确定了345个“主要”许可; Black Duck Software在其知识库中列出了2,500个版本的OSS类型的许可,涵盖了来自9,000多个开源项目的forge和存储库(repository)中的超过530亿行的OSS代码。Black Duck指出,其中94%的OSS项目都使用了前十大OSS许可。

 

其中两种主要类型的OSS许可是“著佐权”(copyleft)和“宽松式许可”(permissive)。 以太坊主要使用了两个著佐权许可:次要通用公共许可第三版本( Lesser General Public License version 3 ,LGPLv3)和通用公共许可第三版本(General Public License version 3,GPLv3)。 另一方面,比特币核心钱包(Bitcion Core)使用了世面上最受欢迎的一种许可,MIT许可。

 

著佐权许可对OSS的使用施加了最严格的条款。最常见的著佐权许可的例子,是用于Linux操作系统程序的通用公共许可版本2(GPLv2)。

 

据Black Duck Knowledge Base称,GPLv2是第二受欢迎的许可,有14%的OSS项目采用了该许可。以太坊所使用的GPLv3是2007年出版的GPLv2的更新版本。著佐权许可的最基本特征是其“互惠”(reciprocal)条款:法律上要求原始OSS和原始OSS所有的“衍生作品”(derivative work)仅根据著佐权许可的条款分发。“衍生作品”是美国版权法下的专业术语,表明作品是基于一个或以上已有原创作品的作品。

 

版权法最初旨在保护书籍、歌曲和电影,但也保护软件。比如,“权力的游戏”系列电视剧,就是基于同名小说系列的衍生作品。尽管衍生作品通常意味着对软件进行修改,但衍生作品也可以通过其他方式被创造出來:例如,两个编译在一起的程序通常被视为衍生作品。

 

但是,版权法在软件中的应用仍然充满不确定性。因此,将著佐权许可项目与使用了其他OSS许可或专有许可的项目集成在一起,需要进行复杂的法律分析。

 

因为著佐权许可具有更复杂的义务,遵守著佐权许可比遵守宽松式许可更具挑战性,而且当缺乏明确性的版权法应用于软件时也会造成其他的问题。支持著佐权许可的OSS社区非常担心专有供应商会滥用OSS。

 

该类社区在寻求用户遵守此类许可方面非常积极。事实上,所有关于OSS许可提出的诉讼都是由著佐权许可的执行而造成。

 

宽松式许可

“宽松式”许可在OSS使用上施加的条款非常少,通常只要求用户包含通知和许可副本。与著佐权许可不同,它们不包括“互惠”义务。

 

支持宽松式许可的OSS社区通常认为,宽松式许可会鼓励OSS项目更加快速地被采用,并且开发出成功的区块链项目是不需要的著佐权许可中的“互惠”条款。

 

使用宽松许可最著名的例子是比特币所使用的MIT许可。根据Black Duck Knowledge Base,其中38%的OSS项目采用了MIT许可,也使MIT许可成为最受欢迎的OSS许可。

 

大多数区块链项目历来都没有关注选择OSS许可的重要性。但是,慎重考虑对OSS许可的选择,花时间了解不同OSS许可的合规性要求和执行方法的差异,应该能为項目带來长远的利益。

 

许可选择不仅会影响企业采用该项目的意愿,同时也控制着项目的合规理念和社区文化。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
区块链的下半场,为何说是产业升级的好机会?

2018年,区块链世界的寒意潺潺,与去年热闹非凡、利好不断的繁荣形成鲜明对比,区块链行业俨然进入寒冬。

2019年,物联网技术和应用领域有这些大事将发生

以下预测探讨了2019年物联网的发展状况,内容涵盖物联网对业务和技术等方面的影响,包括数字化转型、区块链、人工智能(AI)和5G。

贾跃亭与恒大这场充满了炒作气息的事件背后,是一场双方期望空手套白狼的数字游戏
贾跃亭与恒大这场充满了炒作气息的事件背后,是一场双方期望空手套白狼的数字游戏

贾跃亭、FF公司、区块链创业公司、STO……当链得得App将这些关键人物和关键词层层剥开,结果却并不尽如人意,这场充满了炒作气息的事件背后,又是一场双方期望空手套白狼的数字游戏。

加密货币阴云笼罩,亚马逊依旧进军区块链市场

北京时间11月29日早间消息,加密货币市场阴云笼罩,不过亚马逊仍然认为区块链技术潜力无穷。

民族科技的技术突破口究竟在哪里?

当前,中美贸易摩擦频生,核心技术成为掣肘,发展和培育民族科技,实现在核心、前沿技术领域的创新突破,显得尤为重要。而民族科技的技术突破口究竟在哪里?

更多资讯
简单几步让你看懂单片机时序图

操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了。而提取芯片器件手册上有用的信息是使用芯片的最基本步骤。

如何实现SoC全生命周期的监测?

SoC的设计越来越复杂,上市时间、软硬件集成、系统级验证、系统性能、异构、网络安全/功能安全等都是设计人员需要考虑的因素。流片前,设计师能通过仿真软件进行验证,但是流片过程中很多意想不到的结果,需要在流片后仍能被准确的检测出来。

如何将单片机的波特率作为形参的函数

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。

代码分享教你如何使用msp430单片机延时函数

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

如何控制51单片机液晶实现计时器的功能?

要想实现人机交互,显示装置是不可缺少的。前面讲到了如何利用单片机控制数码管的显示,这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示的定时器搬到液晶屏上来。

Moore8直播课堂