如今GitHub已成为全球最流行的开源项目托管平台,但也有质疑声音——“Github中的大多数项目并不算是开源项目”。这是因为Github中大多数项目并没有明确声明所使用的许可证。
根据版权法规定,如果开源项目中没有包含任何一种OSI批准的开源许可证,那么其他用户将没有权利以任何目的任何形式去使用这些代码或fork这些项目。
但是繁多的许可证及条款可能会令开发者迷惑,不知道究竟该选择哪一种。对此,GitHub今天发布了choosealicense.com网站,在呼吁开源项目开发者选择一个许可证的同时,还提供了许可证的一些简要说明。
1. 我想要一个简单宽松的许可证
建议: MIT许可证。这是一个宽松的、简明扼要的许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。
使用该许可证的项目:jQuery、Rails
2. 我比较关心专利
建议: Apache许可证。这类似于MIT许可证,但它同时还包含了贡献者向用户提供专利授权相关的条款。
使用该许可证的项目:Apache、SVN和NuGet
3. 我关心项目的共享改进
建议:GPL( V2或 V3)许可证。这是一种copyleft许可证,要求修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。V3版本与V2类似,但其进一步约束了在某些限制软件更改的硬件上的使用范围。
使用该许可证的项目:Linux、Git
关于如何选择许可证,详细信息可参阅: http://choosealicense.com/licenses/
为了使开发者养成选择开源许可证的习惯,Github在创建新库的表单中添加了一个许可证选项。该选项中提供了一组简化的开源许可证,开发者选择后,Github会自动在其库的根目录中创建一个readme文件。
如果你不想选择许可证,Github也不会勉强。Github表示,选择许可证只是你的权利,不是你的义务。但是需要注意的是,拒绝开源许可证并不意味着你拒绝了项目版权。没有许可证意味着你默认接受版权法中的规定,比如你可以保留你的项目源码被复制、分发、创建衍生版的权利,但有可能这不是你希望做的。
在Github中,如果你的项目以公共库的形式发布,表明你已经接受了Github的服务条款,该条款赋予了其他Github用户一些权利,比如允许他们查看你的项目库或fork等。
如果你想与他人分享你的项目,还是建议你选择一种开源许可证。