Go语言工具箱--选择开源License

1,397 阅读2分钟

很多时候在把代码分享到Github仓库中,大多不会为仓库增加License说明,没有意识去做,也没有想过是否有相关的风险,或者是别人是否能够在他们自己的项目中引用你提供的代码。

今天,我们就来了解一下github上的常见的各种开源协议。

首先,如果没有任何开源License,他人有权限引用你的代码码?

没有。没有证书说明,默认代码作者保留了代码使用权,他人无权使用。

Github上常见的License都有哪些呢?

  • MIT

如果你只想安静的写代码,选择MIT吧。

MIT License 是一个宽松的协议,它允许别人用你的代码做任何事情,但必须保证你的所有权,并且你无须承担代码使用产生的风险。

MIT许可证内容

  • Apache License 2.0

如果你想要保留自己的专利,同时也愿意大家放心使用,选择Apache License 2.0吧。

Apache License 2.0 与 MIT License 比较类似, 但提供了专利贡献者的明确授权,使用者需要放置版权说明。

LICENSE-2.0许可证内容

  • GNU GPLv3

如果你关心项目分享与改进,比较在意使用方的情况,选择GNU吧。

GNU GPLv3 是一个Copyleft协议,所有使用了你源代码的人都必须按照相同的协议提供源代码, 使用者需要放置版权说明,协议比较激进和严格。

GNU许可证内容

License对比说明

如何在github项目中设置License?

第一种,在项目根目录的创建的LICENSE.txt或者LICENSE.md,将证书内容放置到文件中。

第二种,添加在README.md文件中,如:This project is licensed under the terms of the MIT license.

参考文档:

欢迎关注公号:程序员的金融圈

一个探讨技术,金融,赚钱的小圈子,为你提供最有味道的内容!