之前我曾问过类似的question,但这次我想专注于go
语言。我一直在阅读wiki page of go language,并意识到摘要中有一个许可证段,其中显示BSD style + Patent grant
。我知道gcc
还有一个go
前端,我猜测它有GPL
许可证,虽然在维基页面中没有提到它,这让我感到惊讶难怪:
上述BSD
许可是否适用于:
是否有这样的区别?
一个实用的答案是受欢迎的(即我如何获得源或二进制文件的许可?)以及与旧语言(C
,C++
,Java
)的对比,如果任何..
答案 0 :(得分:8)
Go的大多数部分都是在three-clause BSD style license和patent grant下获得许可的。这包括gc编译器,标准库和其他相关工具。我知道有两个值得注意的例外:
language specification和其他网站文档根据知识共享署名3.0许可进行许可。滚动到golang.org上任意页面的最底部查看。 (我想这意味着一些源代码注释以相同的方式获得许可,这看起来有点奇怪。)
gccgo的前端使用与Go的其余部分相同的BSD风格许可证,但是因为它必须与gcc的其余部分链接,所以它实际上是GPLv3。 (注意,与janneb的说法相反,gccgo不与其他编译器共享任何代码。它确实共享一些运行时代码。)
正在不断努力将gccgo前端的部分分离出来,这些部分依赖于gcc,因此它可以用作其他Go编译器的前端,例如可能是基于LLVM的编译器。这样的编译器可以完全在BSD样式许可下发布。
答案 1 :(得分:0)
BSD许可证适用于编译器和标准库。我不知道“语言本身”的许可证是什么;这甚至意味着什么,语言规范的文本,还是?
GCC的前端也是BSD许可(AFAIK它与其他go编译器共享代码),尽管GCC编译器的其余部分仍然在GPLv3下。