去语言许可证 [英] go language license
问题描述
我之前曾问过类似的问题但是这次我想着重于 go
语言。我一直在阅读 go language的wiki页面,并意识到有一个许可证在 BSD风格+专利授权
的摘要中的段。我知道,还有一个 gcc
前端为 go
,我猜测它有类似于 GPL
许可证,尽管在wiki页面中没有提及它,这让我想知道:
是否存在这样的区别? 一个实际的答案是值得欢迎的(即,我如何许可源代码或二进制文件?)以及与旧语言( Go的大部分内容都是根据适用于BSD风格的许可证和。这包括gc编译器,标准库和其他相关工具。我知道有两个值得注意的例外: 语言规范和其他网站文档根据知识共享署名3.0许可证进行许可。滚动到golang.org上任何页面的最底部以查看。 (我想这意味着一些源代码注释的许可方式是相同的,这似乎有点奇怪。) gccgo的前端使用与其他BSD样式许可证相同的许可证Go的,但是因为它必须与gcc的其他部分相关联,所以它实际上是GPLv3。 (请注意,与janneb的说法相反,gccgo不会与其他编译器共享任何代码,它共享一些运行时代码。) 目前正在努力分离gccgo前端的部分依赖于gcc,因此它可以用作其他Go编译器的前端,例如可能是基于LLVM的编译器。这样的编译器可以在BSD风格的许可证下完全发布。 BSD
许可证适用于:
C ,
C ++
, 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..
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.
这篇关于去语言许可证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!