Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

go language license [closed]

Tags:

go

licensing

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..

like image 769
none Avatar asked Oct 09 '12 07:10

none


People also ask

Is Golang free for commercial use?

To that end, I would say, no.

Why Go language is not popular?

It's not the most popular programming language in the world. There are a relatively smaller number of developers using it and there are some good reasons for that. Go is relatively new and immature. It's a bare-bones language lacking a lot of the syntactical sugar that other languages have.

Is Golang open source?

You can use almost any programming language in the cloud, but there are a few languages that stand out from the rest. Let's talk about one of those languages, Go. Go is an open-source programming language focused on simplicity, reliability, and efficiency.


1 Answers

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.

like image 80
Evan Shaw Avatar answered Oct 06 '22 23:10

Evan Shaw