软件(代码)开源,协议声明

简介:

注意:对于协议有个大概的了解就行了,本文叙述不是很标准,如果要做具体了解,请戳文中给出的链接。

关于开源协议网上有很多说明,不过写的都十分晦涩,让人木有读下去的欲望,下面给大家简单的科普一下。

一般很少人关注代码开源的协议说明,我们平时看到的 MIT Apache BSD 等,一堆英文的缩写,也懒得去看具体的内容,这说明你的维权意识还不是很强。辛辛苦苦写了一堆代码,贴到某个分享区,啪一下被人家复制走了,然后别人改个名字,捎带加个协议,说是自己写的,一般情况下这种事情的发生我们可以忽视之,当如果这串代码被人家作为商用,成为挣钱利器,那个时候你后悔也来不及了。

目前市面上看到的协议种类还是挺繁多的,同一种协议可能还有几个版本,每个版本之间存在细微的差异,如何给自己的代码添加合适的协议?太宽松了,自己劳动成果容易被人家窃取;太苛刻了,人家也不想用你的东西。

1. 如果你想使用一个简单不那么麻烦的协议,可以选择 MIT

别人需要注意什么呢?署上你的大名,就可以带走你的代码了。你不用为他项目中因使用你的代码出现的问题承担任何责任。

2. 如果你顾及到专利,可以选择 Apache

可能代码中的某个技术或者创新点,你申请了专利,使用这个协议可以保护你专利的一些权力,简单点说就是让别人免费使用你这专利中的东西。

3. 如果你很在意别人对你代码的修改,希望分享并得到促进,可以选择 GPL

GPL 分为两个版本一个是 V2,一个是 V3,作品带上这个协议之后,别人想分享的话也得加上这个协议,对代码作出比较大的更改也是需要附带说明的。

上面提到的几个是比较常见的,也提一下其他几个。

  • LGPL 在GPL前面多了个 L,内容和 GPL 差不多,适合一些代码库或者框架使用。
  • BSD 也有两个版本,类似 MIT
  • No License 注意,这可不是没有版权声明,只是作者保留版权(包括分发,复制或者创造衍生物),只是你分享的时候允许分享平台附带的一些操作。如代码扔到 gitlab 上,就表示你允许别人查看并且 fork 你的代码。
  • Public domain dedication 这玩意儿才是不保留版权,也就是版权自由(Copy Left),跟保留版权(Copy Right)是相对的。基本就是放弃对这段代码的任何权利,可以自由使用。他和不声明版权的区别就是,告诉别人,兄弟,我这代码是没版权的,你随便使用~

如果还想具体了解其他相关的知识,请直接去http://choosealicense.com/,这里有最权威最全面的的说明。

汉化版地址:http://choosealicense.gitcafe.com/

 




本文转自Barret Lee博客园博客,原文链接:http://www.cnblogs.com/hustskyking/p/open-source.html,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
Cloud Native Unix Go
开源协议对比:局限性、应注意事项与详细对比
开源协议对比:局限性、应注意事项与详细对比
233 0
|
7月前
嵌入式开发中自定义协议的解析与组包
嵌入式开发中自定义协议的解析与组包
|
缓存 算法 安全
2333:NHRP 协议适用性声明
根据路由协议标准 [RFC 1264] 的要求,本备忘录讨论了下一跳解析协议 (Next Hop Resolution Protocol,NHRP) 在非广播多路访问 (Non-Broadcast Multiple Access,NBMA) 网络(例如 ATM、SMDS 和 X.25)上路由 IP 数据报的适用性。
141 0
2333:NHRP 协议适用性声明
|
运维 负载均衡 安全
SecDevOps,软件定义安全来了吗?
SecDevOps,软件定义安全来了吗?
264 0
SecDevOps,软件定义安全来了吗?
|
存储
swift4.1 系统学习十四 协议
// 协议 /* OC中也有协议,swift中的协议的作用与OC中基本一样,只是在写法上有一点区别。 我们使用 protocol关键字来定义一个协议。在一个协议中只能存放计算式属性以及方法的声明, 而不能对他们进行定义。
1088 0
|
网络协议 Linux 测试技术
网络开发注意事项
自己实现server时,一定要对内核TCP有关的参数做一些调整,才能使系统的吞吐量处于最佳值。需要注意的是建立连接的吞吐量,网络IO吞吐量,以及连接关闭的处理。 建立连接 我们在做性能测试的时候也许会发现,机器的硬件配置很好,但不管我们怎么调整并发数,机器的load就是一点也上不去。
1382 0