Do I need to include a copyright notice?

900 views
Skip to first unread message

Hans Rødtang

unread,
Jun 1, 2014, 4:27:30 PM6/1/14
to golan...@googlegroups.com
I just had a thought while learning more about the specifics of the different BSD licenses and got curious about this. I found a previous discussion, but that only discussed whether all Go programs become BSD licensed by including the runtime.

The Go compiler and the standard library are licensed under a BSD-style license, which has this part included in it:
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Knowing this, and the fact that the runtime and the standard libraries I use are included in the compiled output do I then need to include the mentioned copyright notice with all my applications written in Go?

Peter Kleiweg

unread,
Jun 1, 2014, 4:48:48 PM6/1/14
to golan...@googlegroups.com
Op zondag 1 juni 2014 22:27:30 UTC+2 schreef Hans Rødtang:

Knowing this, and the fact that the runtime and the standard libraries I use are included in the compiled output do I then need to include the mentioned copyright notice with all my applications written in Go?

I think licenses are primarily for the paycheck of American corporate lawyers. If you don't live in the US, I don't think there is much need for a license. Standard European copyright laws should suffice. 

Jan Mercl

unread,
Jun 1, 2014, 5:03:49 PM6/1/14
to Hans Rødtang, golang-nuts

That's exactly what the part you cited says.

-j

Gerard

unread,
Jun 1, 2014, 5:16:36 PM6/1/14
to golan...@googlegroups.com
You can copyright the things that YOU write with any license that you want. Personally I like the simplified BSD license. But if you are fond to GNU, you can license your code with [LA]GPL. Or if you don't care about copyright you can put in the public domain. With the Go BSD license keep in mind that instead "the Go authors" you put in your own name or that of your project.

Hans Rødtang

unread,
Jun 1, 2014, 5:26:24 PM6/1/14
to golan...@googlegroups.com


On Sunday, June 1, 2014 11:16:36 PM UTC+2, Gerard wrote:
You can copyright the things that YOU write with any license that you want. Personally I like the simplified BSD license. But if you are fond to GNU, you can license your code with [LA]GPL. Or if you don't care about copyright you can put in the public domain. With the Go BSD license keep in mind that instead "the Go authors" you put in your own name or that of your project.

 I know that my code can be under whatever license I choose, my question was about the copyright notice. As the license is worded I would assume that all projects would have to add a notice regarding Go, which I haven't seen many people do. I would not mind doing this, In fact I'd do it happily. I was just wondering about the legal questions surrounding it.

Gerard

unread,
Jun 1, 2014, 5:59:17 PM6/1/14
to golan...@googlegroups.com
Sorry, I misunderstood the question. IANAL.

Jason Woods

unread,
Jun 1, 2014, 6:45:51 PM6/1/14
to golan...@googlegroups.com
Hi
It is a serious question though.

GCC compiler comes with an exception to the GPL licence removing restrictions on any code that GCC places in the compiled binaries, allowing you to licence them as you please.

It seems there is no such exception when it comes to the Go compilers. So it seems in placing the BSD licensed code in the binaries we compile we are forced to use BSD compatible licensing for them in distribution.

Unless there is an exception to the license like GCC or I'm misinterpreting this?

Jason

Jason Woods

unread,
Jun 1, 2014, 6:47:42 PM6/1/14
to golan...@googlegroups.com

Ian Lance Taylor

unread,
Jun 1, 2014, 6:56:01 PM6/1/14
to Jason Woods, golan...@googlegroups.com
On Sun, Jun 1, 2014 at 3:45 PM, Jason Woods <de...@jasonwoods.me.uk> wrote:
>
> GCC compiler comes with an exception to the GPL licence removing
> restrictions on any code that GCC places in the compiled binaries, allowing
> you to licence them as you please.

TThat is not a precise statement. In current versions of GCC the GCC
runtime libraries are licensed under the GPL with an exception. The
exception is at http://www.gnu.org/licenses/gcc-exception-3.1.html .
It does permit you to choose the license for code compiled by GCC,
within certain restrictions.


> It seems there is no such exception when it comes to the Go compilers. So it
> seems in placing the BSD licensed code in the binaries we compile we are
> forced to use BSD compatible licensing for them in distribution.

Almost every license in actual use is BSD compatible. You could write
a license that is not BSD compatible but it would be a sort of
anti-license.

As always, for actual legal advice, do not consult the Internet.

Ian

Jason Woods

unread,
Jun 2, 2014, 3:54:17 AM6/2/14
to golan...@googlegroups.com


> On 1 Jun 2014, at 23:55, Ian Lance Taylor <ia...@golang.org> wrote:
>
>> On Sun, Jun 1, 2014 at 3:45 PM, Jason Woods <de...@jasonwoods.me.uk> wrote:
>>
>> GCC compiler comes with an exception to the GPL licence removing
>> restrictions on any code that GCC places in the compiled binaries, allowing
>> you to licence them as you please.
>
> TThat is not a precise statement. In current versions of GCC the GCC
> runtime libraries are licensed under the GPL with an exception. The
> exception is at http://www.gnu.org/licenses/gcc-exception-3.1.html .
> It does permit you to choose the license for code compiled by GCC,
> within certain restrictions.

Thanks for clarifying - apologies for it phrased as a statement!

>> It seems there is no such exception when it comes to the Go compilers. So it
>> seems in placing the BSD licensed code in the binaries we compile we are
>> forced to use BSD compatible licensing for them in distribution.
>
> Almost every license in actual use is BSD compatible. You could write
> a license that is not BSD compatible but it would be a sort of
> anti-license.

I had thought the BSD was not GPL compatible but I'm wrong again ! :)
Thanks for clarifying.

If I understand it right - seems there are two BSD license. A 3-clause and 4-clause, the former modified so it's GPL, and Go uses the modified one. So yes Go will be compatible with most and we merely just need to include the Go license when distributing (as I understand it).

> As always, for actual legal advice, do not consult the Internet.

Absolutely. YANAL and IANAL. Thanks!

Jason

Hans Rødtang

unread,
Jun 2, 2014, 6:22:22 AM6/2/14
to golan...@googlegroups.com
So the conclusion is: Yes, a distributed Go program should include a notice about the Go license somewhere(?) (That the part of the binary that represents the standard library and the runtime is copyright of "The Go Authors")

Russel Winder

unread,
Jun 2, 2014, 7:30:08 AM6/2/14
to Hans Rødtang, golan...@googlegroups.com
On Mon, 2014-06-02 at 03:22 -0700, Hans Rødtang wrote:
> So the conclusion is: Yes, a distributed Go program should include a notice about the Go license somewhere(?) (That the part of the binary that represents the standard library and the runtime is copyright of "The Go Authors")

As Ian pointed out, this is a legal question and I suspect there is
no-one on this list qualified to give a legal opinion. Moreover the
answer to the question is fundamentally geographically dependent: the
answer to the question depends in which jurisdiction you ask the
question.

As an expert witness, not a lawyer, my initial hypothesis is that a
statically compiled executable is a derived work. However, I would need
to research for UK, USA, French, German,… law, and then discuss a
resulting draft opinion with a lawyer in that jurisdiction to say
anything other than this hypothesis.

The safe position is probably to make the assumption the result is a
derived work and ensure the requirements of the licence to the Go
runtime system, and any included packages, are met. Though I suspect,
currently, no-one actually does this. This is particularly a problem if
the packages used have a variety of licences.

--
Russel.
=============================================================================
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel...@ekiga.net
41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder

Hans Rødtang

unread,
Jun 2, 2014, 7:41:51 AM6/2/14
to golan...@googlegroups.com
Thanks, I know that a lawyer probably would be needed, but it would be nice for various open source projects and hobbyists to have a small resource of things you must remember to do.

Looking at how Google lists the copyright information for the external code it uses in Android in a nicely arranged list on a per file basis tells me that it probably is a requirement.Apple does something similar as well.

Regardless of attribution being legally required or not in this context it is socially polite, so I will be doing it anyways.

Nate Finch

unread,
Jun 2, 2014, 12:30:37 PM6/2/14
to golan...@googlegroups.com
For the record, I don't think most people do this, and I think that in the unlikely event that Google lawyers find a day with nothing better to do, it's a lot more likely they'll simply send you a message saying "Hey, put the copyright on your thing please & thank you", rather than immediately bringing you to civil court for being so rude.

opennota

unread,
Jun 3, 2014, 7:08:00 AM6/3/14
to golan...@googlegroups.com
I have a similar question. I'm working on an extension to the encoding/xml package, which will be licensed under LGPLv3. As a part of the library I use some code from the internals of the Go stdlib (slightly modified). I'll put the Go license file at the root of my package tree, as is required by the Go license. What should I use as a license header in the files that contain borrowed code? LGPL or BSD? And which copyright should I place there?

Aram Hăvărneanu

unread,
Jun 3, 2014, 7:09:35 AM6/3/14
to opennota, golang-nuts
We are programmers, not lawyers.

--
Aram Hăvărneanu

opennota

unread,
Jun 3, 2014, 7:18:09 AM6/3/14
to golan...@googlegroups.com, open...@gmail.com

We are programmers, not lawyers.

I'm not so much concerned with legal issues, as with the conventional way to do it. Surely somebody have written a package with some parts of the stdlib?

Ian Lance Taylor

unread,
Jun 3, 2014, 9:15:14 AM6/3/14
to opennota, golang-nuts
Typically people break up the files so that code under different
licenses goes into different files. That should be particularly
simple in Go where the split into different files doesn't affect the
compilation process. However, I've also seen people simply include
both license headers in the relevant files.

Ian

opennota

unread,
Jun 3, 2014, 9:33:42 AM6/3/14
to golan...@googlegroups.com, open...@gmail.com

Typically people break up the files so that code under different
licenses goes into different files.  That should be particularly
simple in Go where the split into different files doesn't affect the
compilation process.  However, I've also seen people simply include
both license headers in the relevant files.

The problem is, the code is modified. What if the Go authors will take offence, if I put their copyright notice (// Copyright 2011 The Go Authors. All rights reserved.) there?

Tim Shannon

unread,
Jun 3, 2014, 9:40:54 AM6/3/14
to golan...@googlegroups.com
I'm not sure if there is a nice open source standard for this, but personally in my projects I usually include a LICENSE file that I reference in all my code to license what I've written, then I have a CREDITS file in which I list the projects I use including Authors, License, and a URL.  Regardless of legality, I think it's a good thing to do both to place credit where it's deserved, as well as to have a nice listing of resources for others to reference:
 
Library/Work - Author - License - Website

Go - The Go Authors - (BSD) http://golang.org/LICENSE - http://golang.org/
Horde3d - Nicolas Schulz and the Horde3D Team  - (EPL) http://www.eclipse.org/legal/epl-v10.html - http://horde3d.org
GLFW - Marcus Geelnard, Camilla Berglund  - (zlib/libpng) http://www.glfw.org/license.html - http://www.glfw.org
SDL -http://www.libsdl.org/credits.php - (zlib) http://www.gzip.org/zlib/zlib_license.html - http://www.libsdl.org
Newton Game Dynamics -Julio Jerez and Alain Suero - (zlib) http://newtondynamics.com/forum/newton.php - http://newtondynamics.com/
freetype-go - Freetype-Go Authors - (The FreeType License / GPL) http://freetype.sourceforge.net/license.html - https://code.google.com/p/freetype-go/

 

Ian Lance Taylor

unread,
Jun 3, 2014, 9:48:18 AM6/3/14
to opennota, golang-nuts
Modifications short of a total rewrite should not affect the copyright
status. The code is still copyright The Go Authors.

Of course it would be polite to add a comment saying where and how the
code was modified.

Ian
Reply all
Reply to author
Forward
0 new messages