英文:
go language license
问题
我之前问过一个类似的问题,但这次我想专注于go
语言。我一直在阅读go
语言的维基页面,并意识到在摘要中有一个许可证部分,其中提到了BSD风格+专利授权
。我知道go
还有一个gcc
前端,我猜它可能有类似于GPL
许可证的东西,尽管维基页面上没有提到,这让我想知道:
提到的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..
答案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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论