FAQ
Hi

Our company is thinking of open sourcing multiple software packages written
in Go under the Apache 2.0 License. We would like to know why Go decided
on a BSD license instead of Apache 2.0 which, as I understand it, is
prefered by google?

Thank you

--

Search Discussions

  • Ian Lance Taylor at Nov 19, 2012 at 6:42 pm

    On Mon, Nov 19, 2012 at 12:44 AM, Walter Schulze wrote:

    Our company is thinking of open sourcing multiple software packages written
    in Go under the Apache 2.0 License. We would like to know why Go decided on
    a BSD license instead of Apache 2.0 which, as I understand it, is prefered
    by google?
    Only because the BSD license is simpler and the Go developers had good
    past experiences with it. As you know we also added a patent
    disclaimer.

    If you feel the Apache license fits your needs better, by all means go for it.

    Ian

    --
  • Walter Schulze at Nov 19, 2012 at 6:37 pm
    So I guess the Apache 2.0 License should be fine, given we start a project
    from scratch.

    Let's try a concrete example which is a little more complicated.

    If we copy the "go/scanner" and modify some of it to scan extra character
    sequences for a new project.
    Can we license this under Apache 2.0?

    What are the implications?

    I would guess it should be fine if we keep the BSD license in those files
    that we copied and modified.
    Do we also need to make the BSD license file available in binary format?
    Would we also will need a LICENSE file which includes both licenses?




    On 19 November 2012 20:15, Ian Lance Taylor wrote:

    On Mon, Nov 19, 2012 at 12:44 AM, Walter Schulze
    wrote:
    Our company is thinking of open sourcing multiple software packages written
    in Go under the Apache 2.0 License. We would like to know why Go
    decided on
    a BSD license instead of Apache 2.0 which, as I understand it, is prefered
    by google?
    Only because the BSD license is simpler and the Go developers had good
    past experiences with it. As you know we also added a patent
    disclaimer.

    If you feel the Apache license fits your needs better, by all means go for
    it.

    Ian
    --
  • Bryanturley at Nov 19, 2012 at 6:39 pm

    On Monday, November 19, 2012 12:30:28 PM UTC-6, Walter Schulze wrote:
    So I guess the Apache 2.0 License should be fine, given we start a project
    from scratch.

    Let's try a concrete example which is a little more complicated.

    If we copy the "go/scanner" and modify some of it to scan extra character
    sequences for a new project.
    Can we license this under Apache 2.0?
    http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses

    Such a complicated subject but that might help some.

    --
  • Ian Lance Taylor at Nov 19, 2012 at 6:48 pm

    On Mon, Nov 19, 2012 at 10:30 AM, Walter Schulze wrote:

    If we copy the "go/scanner" and modify some of it to scan extra character
    sequences for a new project.
    Can we license this under Apache 2.0?

    What are the implications?

    I would guess it should be fine if we keep the BSD license in those files
    that we copied and modified.
    Do we also need to make the BSD license file available in binary format?
    Would we also will need a LICENSE file which includes both licenses?
    You are asking legal questions on a programming mailing list, you will
    have to judge for yourself the quality of the replies that you get.

    The general trend that I've observed in free software when copying
    files from one project to another is to simply retain the original
    license for that file. But if you want to relicense, then, yes, my
    understanding is that there is no conflict between Apache 2.0 and New
    BSD. The resulting file will effectively be under Apache 2.0. Yes,
    you should keep the existing BSD license--you don't have any
    permission to remove it. Yes, your LICENSE file or equivalent should
    include both licenses.

    Ian

    --
  • Walter Schulze at Nov 19, 2012 at 6:57 pm
    Thank you everyone this was very helpful.

    We are also getting advice from lawyers.
    I just wanted a second opinion.

    On 19 November 2012 20:48, Ian Lance Taylor wrote:

    On Mon, Nov 19, 2012 at 10:30 AM, Walter Schulze
    wrote:
    If we copy the "go/scanner" and modify some of it to scan extra character
    sequences for a new project.
    Can we license this under Apache 2.0?

    What are the implications?

    I would guess it should be fine if we keep the BSD license in those files
    that we copied and modified.
    Do we also need to make the BSD license file available in binary format?
    Would we also will need a LICENSE file which includes both licenses?
    You are asking legal questions on a programming mailing list, you will
    have to judge for yourself the quality of the replies that you get.

    The general trend that I've observed in free software when copying
    files from one project to another is to simply retain the original
    license for that file. But if you want to relicense, then, yes, my
    understanding is that there is no conflict between Apache 2.0 and New
    BSD. The resulting file will effectively be under Apache 2.0. Yes,
    you should keep the existing BSD license--you don't have any
    permission to remove it. Yes, your LICENSE file or equivalent should
    include both licenses.

    Ian
    --
  • Bryanturley at Nov 19, 2012 at 7:23 pm

    You are asking legal questions on a programming mailing list, you will
    have to judge for yourself the quality of the replies that you get.
    x := golang_nuts.(Lawyer) // WILL PANIC

    --
  • Dan Kortschak at Nov 19, 2012 at 8:19 pm
    But interestingly, x := golang_nuts.(*Lawyer) runs without issue.

    On 20/11/2012, at 5:54 AM, "bryanturley" wrote:

    You are asking legal questions on a programming mailing list, you will
    have to judge for yourself the quality of the replies that you get.


    x := golang_nuts.(Lawyer) // WILL PANIC

    --
  • Bryanturley at Nov 19, 2012 at 8:32 pm

    On Monday, November 19, 2012 2:19:12 PM UTC-6, kortschak wrote:
    But interestingly, x := golang_nuts.(*Lawyer) runs without issue.
    so offtopic but it does?
    http://play.golang.org/p/sByBwjYxtU

    --
  • Bryanturley at Nov 19, 2012 at 8:33 pm
    Or i didn't get the joke ;)

    --
  • Dan Kortschak at Nov 19, 2012 at 9:04 pm
    Requires '// +build deadpan'.

    On 20/11/2012, at 7:02 AM, "bryanturley" wrote:

    On Monday, November 19, 2012 2:19:12 PM UTC-6, kortschak wrote:
    But interestingly, x := golang_nuts.(*Lawyer) runs without issue.

    so offtopic but it does?
    http://play.golang.org/p/sByBwjYxtU


    --
  • Walter Schulze at Nov 20, 2012 at 3:12 pm
    Ok so let's try one more little detail.

    If we have a derivative work, we have to include both licenses.
    This includes the copyright statement, which includes the copyright
    holder's name.

    So it wouldn't matter if we license it under the same BSD or a different
    Apache 2.0, we still need to include both licenses?

    --
  • Ian Lance Taylor at Nov 20, 2012 at 3:32 pm

    On Tue, Nov 20, 2012 at 7:12 AM, Walter Schulze wrote:

    If we have a derivative work, we have to include both licenses.
    This includes the copyright statement, which includes the copyright holder's
    name.

    So it wouldn't matter if we license it under the same BSD or a different
    Apache 2.0, we still need to include both licenses?
    Including both licenses is always safe.

    It's conventional to only include the original license if you are just
    making minor changes to the code. It's not clear that copyright law
    applies to minor changes anyhow: copyright only applies to work with
    creative content.

    Ian

    --
  • Bryanturley at Nov 20, 2012 at 4:09 pm
    Neither are copyleft, and I think the go bsd-style license has a little bit
    stricter patent agreement. I am not a lawyer.
    To me the apache license seems like a lawyer rewrote the BSD license and
    the BSD license was written by someone who writes software. That is a
    guess though.

    The simplest thing to do is keep code from the go project under it's
    original license, then you don't even have to worry about it.

    When is someone going to make a programming language for legal matters?
    Reading that apache license gives me a headache to much english...

    --
  • Devon H. O'Dell at Nov 20, 2012 at 3:44 pm

    2012/11/20 Walter Schulze <awalterschulze@gmail.com>:
    Ok so let's try one more little detail.

    If we have a derivative work, we have to include both licenses.
    This includes the copyright statement, which includes the copyright holder's
    name.

    So it wouldn't matter if we license it under the same BSD or a different
    Apache 2.0, we still need to include both licenses?
    It wouldn't matter what you license *your* work under because you own
    *your* work. You do *not* own the work of the other contributors, and
    these contributors have stated that you *must* include the copyright
    statement, the names of the copyright holders, *and* the list of
    conditions following.

    --dho
    --
    --
  • Walter Schulze at Nov 20, 2012 at 4:24 pm
    So your LICENSE file would like something this if you have a New BSD
    License:


    Copyright 2012 BlaBlaBlaCompany

    New BSD License

    Copyright 2012 Go Authors

    New BSD License

    THIS SOFTWARE ... ( I think patent stuff )



    And if you have an Apache 2.0 License:



    Copyright 2012 BlaBlaBlaCompany

    Apache 2.0 License

    Copyright 2012 Go Authors

    New BSD License

    THIS SOFTWARE ... ( I think patent stuff )

    On 20 November 2012 17:44, Devon H. O'Dell wrote:

    2012/11/20 Walter Schulze <awalterschulze@gmail.com>:
    Ok so let's try one more little detail.

    If we have a derivative work, we have to include both licenses.
    This includes the copyright statement, which includes the copyright holder's
    name.

    So it wouldn't matter if we license it under the same BSD or a different
    Apache 2.0, we still need to include both licenses?
    It wouldn't matter what you license *your* work under because you own
    *your* work. You do *not* own the work of the other contributors, and
    these contributors have stated that you *must* include the copyright
    statement, the names of the copyright holders, *and* the list of
    conditions following.

    --dho
    --
    --
  • Bryanturley at Nov 20, 2012 at 4:51 pm
    Are you releasing your code back to the public?
    If not you just have to do the bsd attribution things and follow the patent
    things.
    Read the two license files they should be in your copy of go
    http://golang.org/LICENSE and http://golang.org/PATENTS

    They are a pretty simple read compared to most other licenses.



    --

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedNov 19, '12 at 8:44a
activeNov 20, '12 at 4:51p
posts17
users5
websitegolang.org

People

Translate

site design / logo © 2022 Grokbase