The Google CLA is based on the Apache CLA <https://www.apache.org/licenses/icla.txt>, which shares the same copyright language as the Apache 2.0 License <https://www.apache.org/licenses/LICENSE-2.0> (section 2). The vast majority of Google's open source projects use the Apache license, so in those cases the copyright language is the same. I get why it can seem a little bit odd for BSD licensed projects like Go, but as Ian mentions, we use a single CLA for all projects, so there will be some minor discrepancies like this from time to time.
(not on from my google.com account right now, but I manage Google's CLA system) On Thu, Jan 5, 2017 at 9:48 AM, Ian Lance Taylor <i...@golang.org> wrote: > On Wed, Jan 4, 2017 at 10:58 PM, Xavier Combelle > <xavier.combe...@gmail.com> wrote: > > Le 05/01/2017 à 07:01, Ian Lance Taylor a écrit : > > > >> On Wed, Jan 4, 2017 at 8:21 PM, Xavier Combelle > >> <xavier.combe...@gmail.com> wrote: > >>> I was interested in contributing in golang, but was afraid to > contribute > >>> because of signing the CLA. After rereading it, I thought that I might > be > >>> too much worrying. > >>> > >>> Can someone explain in non juridical words what it means. > >>> > >>> I was particularly worried by the copyright license terms. > >>> > >>> "Grant of Copyright License. Subject to the terms and conditions of > this > >>> Agreement, You hereby grant to Google and to recipients of software > >>> distributed by Google a perpetual, worldwide, non-exclusive, no-charge, > >>> royalty-free, irrevocable copyright license to reproduce, prepare > derivative > >>> works of, publicly display, publicly perform, sublicense, and > distribute > >>> Your Contributions and such derivative works." > >>> > >>> For what I understand it goes further than BSD licensing, for example > it > >>> doesn't imply that the BSD copyright notice must stay in code source > and > >>> along with binary distribution. > >> I'm not sure I understand exactly what you are asking. The copyright > >> license agreement, which you sign if you want to contribute code to > >> the Go project, is not the same as the BSD license, which is the > >> license used for the Go distribution. We explicitly don't want every > >> contributor to produce their own version of the BSD license; we want > >> all the code to be distributed under the copyright of "The Go > >> Authors." > >> > >> It is true that if you sign the CLA and give the code to Google that > >> Google could then re-release the code under a license other than the > >> BSD license. There is no reason for Google to do that, but it would > >> be permitted to do so. But that is not significantly different from > >> what the BSD license permits anyhow. The BSD license, unlike, say, > >> the GPL, permits additional restrictions to be placed on the code. > >> The only relevant difference between the CLA and using the BSD license > >> yourself is that Google could distribute the code while omitting the > >> BSD license entirely. Do you find that to be troublesome? > >> > >> Ian > >> > > Yes I found very troublesome that google has the right to omit BSD > license entirely by doing that it has rights that other contributors don't > have. > > They have also the right to totally replace it by their license of choice > > What specific rights are you concerned about? > > The BSD license already allows everyone to add additional > restrictions, provided that they do not actually remove the BSD > license. So, yes, contributing code under the CLA would permit Google > to take your code and distribute it with additional restrictions and > also without the BSD license used by the Go project. That is a > change, but it does not seem to me to be a change that actually > matters. > > The reason that Google writes the CLA in this way is so that people > can sign a single CLA in order to contribute to any Google project. > Google has many free software projects under different licenses. It's > simpler for most people, and certainly simply for the project > developers, if people sign a single CLA, rather than to sign a > separate CLA for each project. > > > >> We explicitly don't want every > >> contributor to produce their own version of the BSD license; we want > >> all the code to be distributed under the copyright of "The Go > >> Authors." > > > > The point of using the go license as it is stated is to guarantee that > by reusing the code, contributors can't produce their own version of BSD > license. > > That isn't what I said, and it's not what I meant. Contributors can > make their own copy of the Go code and add their own license. What I > meant is that the Go distribution itself, the one that we distribute > on golang.org, comes with a single license. Once someone has a copy > of that code, there is nothing preventing them from distributing it > under a different license, as long as they also keep a copy of the BSD > license. > > > The fact it will be distributed under this terms is pretty much > guaranteed for all distribution except precisely the distribution made by > google. > > That is true in the limited sense that any distribution starting from > golang.org has to keep a copy of the Go license, whereas Google would > be permitted to make a distribution without a copy of the Go license. > But that is not a big difference, since the Go license does not > prohibit additional restrictions. > > > It looks like a huge contradiction in your speech. > > I'm sorry, I don't see the contradiction. > > > > As long as CLA is necessary for google to have additionnal guarantee > about patent free contributions or different thing like that I would > understand, but giving them the right to arbitrary license beyond what > already generously allow the BSD license for the code I wrote under unknown > condition is hard to understand for me. > > I think this will be clearer once you understand that the BSD license > does not prohibit adding additional restrictions to your own copy. To > put it in free software terms, the BSD license, unlike the GPL, > permits proprietary forks. > > Ian > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.