小编典典

语言许可

go

我之前也曾问过类似的问题,但是这次我想专注于go语言。我一直在阅读Go语言Wiki页面,并意识到摘要中有一个许可部分,内容为BSDstyle + Patentgrant。我知道还有一个gcc前端go,我猜想它有类似GPL许可证的内容,尽管在Wiki页面中没有提及它,这使我感到奇怪:

所提到的BSD许可证是否旨在:

  • 编译器
  • 和/或语言
  • 和/或标准库

是否有这些区别?

一个实用的答案会受到欢迎(即我如何可以授权源或二进制?),以及旧的语言对比(CC++Java如果有的话)..


阅读 249

收藏
2020-07-02

共1个答案

小编典典

Go的大多数部分均按照三条款BSD样式许可专利授权进行许可。这包括gc编译器,标准库和其他相关工具。我知道有两个值得注意的例外:

语言规范和其他文件的网站都在Creative Commons Attribution
3.0许可协议进行许可。滚动到golang.org上任何页面的最底部以查看。(我想这意味着某些源代码注释是以相同方式获得许可的,这似乎有些奇怪。)

gccgo的前端与Go的其余部分使用相同的BSD样式许可,但是由于必须与gcc的其余部分链接,因此它实际上是GPLv3。(请注意,与janneb的主张相反,gccgo不与其他编译器共享任何代码。它确实共享一些运行时代码。)

正在进行不断的工作以分离出依赖于gcc的gccgo前端部分,以便将其用作其他Go编译器(例如基于LLVM的编译器)的前端。这样的编译器可以完全在BSD样式许可下发布。

2020-07-02