什么是license
·
比如我们建了一个nodejs项目,里面的package.json会有license属性。那么license是什么?
定义
license,即许可证。
许可证在我们在发布自己的软件的时候跟软件代码一起发布。
它用来规定使用该软件的开发人员或组织对该软件的使用权限。拥有清晰的许可证有助于明确定义该软件可以使用的范围。
比如,如果想完全开源,用Apache2.0就行,googlecode就是用的这个,很多的框架和开源软件也是这个。如果不想开源也可以自己写,列明软件使用者的注意事项,随软件一起发布。
常见的许可证
可以看到,一共有九种非常常用的许可证。
下面以Apache许可证为例,进行介绍。
Apache许可证
Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布 (作为开源或商业软件)。
同时规定了以下条件:
- 需要给新代码的用户Apache License
- 如果你修改了代码,需要在被修改的文件中说明
- 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
- 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache License。你可以在Notice中增加自己的许可,但不可以表现为对Apache License构成更改。
更多推荐
已为社区贡献2条内容
所有评论(0)