Go语言许可证

huangapple go评论100阅读模式
英文:

go language license

问题

我之前问过一个类似的问题,但这次我想专注于go语言。我一直在阅读go语言的维基页面,并意识到在摘要中有一个许可证部分,其中提到了BSD风格+专利授权。我知道go还有一个gcc前端,我猜它可能有类似于GPL许可证的东西,尽管维基页面上没有提到,这让我想知道:

提到的BSD许可证是指:

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

如果有这样的区别的话?

一个实际的答案将是受欢迎的(即如何为源代码或二进制文件提供许可证?),以及与旧语言(CC++Java)的对比,如果有的话。

英文:

I have asked a similar question before but this time I want to focus on go language. I have been reading the wiki page of go language and realized there is a license segment in the summary which says BSD style + Patent grant. I'm aware that there is also a gcc frontend for go which I'm guessing have something like GPL license although there was no mention of it in the wiki page, which made me wonder:

Is the mentioned BSD license intended for:

  • the compiler
  • and/or the language
  • and/or the standard libraries

if there are such distinctions at all?

A practical answer would be welcome (i.e. how can I license a source or binary?) as well as a contrast to the old languages (C, C++, Java) if any..

答案1

得分: 11

大部分Go的部分都是根据三条款的BSD风格许可证专利授权进行许可的。这包括gc编译器、标准库和其他相关工具。我知道有两个值得注意的例外:

语言规范和其他网站文档是根据创作共用署名3.0许可证进行许可的。在golang.org的任何页面的最底部可以看到。(我想这意味着一些源代码注释也是以同样的方式进行许可,这似乎有点奇怪。)

gccgo的前端使用与Go的其他部分相同的BSD风格许可证,但由于它必须与gcc的其他部分链接在一起,所以实际上是GPLv3。 (请注意,与janneb的说法相反,gccgo与其他编译器没有共享任何代码。它确实共享一些运行时代码。)

目前正在努力将gccgo前端依赖于gcc的部分分离出来,以便它可以用作其他Go编译器的前端,比如基于LLVM的编译器。这样的编译器可以完全根据BSD风格许可证发布。

英文:

Most parts of Go are licensed under a three-clause BSD style license and patent grant. This includes the gc compilers, standard libraries, and other related tools. There are two notable exceptions I'm aware of:

The language specification and other website documentation are licensed under the Creative Commons Attribution 3.0 License. Scroll to the very bottom of any page on golang.org to see. (I suppose this means that some source code comments are licensed the same way, which seems a little strange.)

gccgo's frontend is uses the same BSD style license as the rest of Go, however because it must be linked with the rest of gcc, it's effectively GPLv3. (Note that, contrary to janneb's claims, gccgo does not share any code with the other compiler. It does share some runtime code.)

There are ongoing efforts to separate out the parts of the gccgo frontend that depend on gcc so that it could be used as a frontend for other Go compilers, such as maybe an LLVM-based compiler. Such a compiler could be released completely under the BSD style license.

答案2

得分: 0

BSD许可证适用于编译器和标准库。我不知道“语言本身”使用的是什么许可证;这是什么意思,是指语言规范的文本吗?

据我所知,GCC中的Go前端也是使用BSD许可证的(我认为它与其他Go编译器共享代码),尽管GCC编译器的其他部分仍然使用GPLv3许可证。

英文:

The BSD license applies to the compiler and the standard library. I don't know what license the "language itself" is under; what does that even mean, the text of the language spec, or?

The go frontend in GCC is also BSD licensed (AFAIK it shares code with the other go compiler), although the rest of the GCC compiler remains under the GPLv3.

huangapple
  • 本文由 发表于 2012年10月9日 15:57:14
  • 转载请务必保留本文链接:https://go.coder-hub.com/12795381.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定