You are viewing a plain text version of this content. The canonical link for it is here.
Posted to legal-discuss@apache.org by Chris Lemmons <al...@gmail.com> on 2018/01/30 22:55:29 UTC

BSD+Patent License

Recently, BSD+Patent Facebook license was added to Cat-X. I ran across
a very, very similar license in the wild and wanted to ask about it:
https://github.com/golang/crypto

The LICENSE is a straightforward BSD 3-Clause. But there is also a
PATENTS file that says the following:

Additional IP Rights Grant (Patents)

"This implementation" means the copyrightable works distributed by
Google as part of the Go project.

Google hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section)
patent license to make, have made, use, offer to sell, sell, import,
transfer and otherwise run, modify and propagate the contents of this
implementation of Go, where such license applies only to those patent
claims, both currently owned or controlled by Google and acquired in
the future, licensable by Google that are necessarily infringed by this
implementation of Go. This grant does not include claims that would be
infringed only as a consequence of further modification of this
implementation. If you or your agent or exclusive licensee institute or
order or agree to the institution of patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging
that this implementation of Go or any code incorporated within this
implementation of Go constitutes direct or contributory patent
infringement, or inducement of patent infringement, then any patent
rights granted to you under this License for this implementation of Go
shall terminate as of the date such litigation is filed.

In the discussion of LEGAL-303, where the Facebook BSD+Patent license
was discussed, there were two major concerns raised. First, that the
grant made it clear that subsequent modifications might infringe
Facebook patents and that such infringement was unauthorized. This has
very similar language, but personally, I'm not sure it does much.

Second, that the grant terminated if you make a claim against Facebook
for a patent it might have infringed in the code. Google's version
here is at least non-discriminatory... it applies to "any entity", not
just Facebook. But it still tends rather significantly to limit the
"universal donor" nature of Apache licensed code. :/

So, my question is this: is Go's version of BSD+Patents meaningfully
different from Facebook's?

(Apologies if this has been asked before. I searched, but was unable
to find a concrete answer.)

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: BSD+Patent License

Posted by Chris Lemmons <al...@gmail.com>.
Yup. Perfect. That's quite doable. Thanks for the guidance.

On Jan 31, 2018 11:55 AM, "Roy T. Fielding" <fi...@gbiv.com> wrote:

> > On Jan 31, 2018, at 6:47 AM, Chris Lemmons <al...@gmail.com> wrote:
> >
> > Excellent. Thanks for the clarification. For an ASF project, do we
> > need to make any special note in the LICENSE or NOTICE file regarding
> > these patent grants? Or is the PATENTS file sitting in the source's
> > directory sufficient? (This is in the context of a project that uses
> > go's vendoring for dependencies, and therefore distributes the source
> > of it's dependencies inside the Apache project.)
>
> It depends on how you are including licenses within LICENSE. I would refer
> to
> both license files (they are actually one license because the PATENTS file
> has the
> effect of nullifying the implied licenses in BSD) inside the project
> LICENSE file
> and make sure they are included with any distribution.  Others might copy
> the
> contents of both files into a sectioned part of the main LICENSE file,
> which is
> better if you are distributing packages without the source. Just be sure
> to note
> that they only apply to the indicated parts of the overall package.
>
> ....Roy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
>
>

Re: BSD+Patent License

Posted by "Roy T. Fielding" <fi...@gbiv.com>.
> On Jan 31, 2018, at 6:47 AM, Chris Lemmons <al...@gmail.com> wrote:
> 
> Excellent. Thanks for the clarification. For an ASF project, do we
> need to make any special note in the LICENSE or NOTICE file regarding
> these patent grants? Or is the PATENTS file sitting in the source's
> directory sufficient? (This is in the context of a project that uses
> go's vendoring for dependencies, and therefore distributes the source
> of it's dependencies inside the Apache project.)

It depends on how you are including licenses within LICENSE. I would refer to
both license files (they are actually one license because the PATENTS file has the
effect of nullifying the implied licenses in BSD) inside the project LICENSE file
and make sure they are included with any distribution.  Others might copy the
contents of both files into a sectioned part of the main LICENSE file, which is
better if you are distributing packages without the source. Just be sure to note
that they only apply to the indicated parts of the overall package.

....Roy


---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: BSD+Patent License

Posted by Chris Lemmons <al...@gmail.com>.
Excellent. Thanks for the clarification. For an ASF project, do we
need to make any special note in the LICENSE or NOTICE file regarding
these patent grants? Or is the PATENTS file sitting in the source's
directory sufficient? (This is in the context of a project that uses
go's vendoring for dependencies, and therefore distributes the source
of it's dependencies inside the Apache project.)

On Tue, Jan 30, 2018 at 6:27 PM, Roy T. Fielding <fi...@gbiv.com> wrote:
>> On Jan 30, 2018, at 2:55 PM, Chris Lemmons <al...@gmail.com> wrote:
>>
>> Recently, BSD+Patent Facebook license was added to Cat-X. I ran across
>> a very, very similar license in the wild and wanted to ask about it:
>> https://github.com/golang/crypto
>>
>> The LICENSE is a straightforward BSD 3-Clause. But there is also a
>> PATENTS file that says the following:
>>
>> Additional IP Rights Grant (Patents)
>>
>> "This implementation" means the copyrightable works distributed by
>> Google as part of the Go project.
>>
>> Google hereby grants to You a perpetual, worldwide, non-exclusive,
>> no-charge, royalty-free, irrevocable (except as stated in this section)
>> patent license to make, have made, use, offer to sell, sell, import,
>> transfer and otherwise run, modify and propagate the contents of this
>> implementation of Go, where such license applies only to those patent
>> claims, both currently owned or controlled by Google and acquired in
>> the future, licensable by Google that are necessarily infringed by this
>> implementation of Go. This grant does not include claims that would be
>> infringed only as a consequence of further modification of this
>> implementation. If you or your agent or exclusive licensee institute or
>> order or agree to the institution of patent litigation against any
>> entity (including a cross-claim or counterclaim in a lawsuit) alleging
>> that this implementation of Go or any code incorporated within this
>> implementation of Go constitutes direct or contributory patent
>> infringement, or inducement of patent infringement, then any patent
>> rights granted to you under this License for this implementation of Go
>> shall terminate as of the date such litigation is filed.
>>
>> In the discussion of LEGAL-303, where the Facebook BSD+Patent license
>> was discussed, there were two major concerns raised. First, that the
>> grant made it clear that subsequent modifications might infringe
>> Facebook patents and that such infringement was unauthorized. This has
>> very similar language, but personally, I'm not sure it does much.
>>
>> Second, that the grant terminated if you make a claim against Facebook
>> for a patent it might have infringed in the code. Google's version
>> here is at least non-discriminatory... it applies to "any entity", not
>> just Facebook. But it still tends rather significantly to limit the
>> "universal donor" nature of Apache licensed code. :/
>>
>> So, my question is this: is Go's version of BSD+Patents meaningfully
>> different from Facebook's?
>
> Yes.  Go's license is effectively the same (in scope and intent) as the Apache
> License's explicit grant of patent license, and the reciprocal termination clause
> applies to "this implementation ... or any code incorporated within".
>
> The old Facebook BSD+Patent license, in contrast, terminated on any claim
> against Facebook, whether or not that claim had anything to do with the scope
> of the product being licensed. Hence, redistributing that software in a form that
> will have to be supported long term has the completely unbalanced effect of
> licensing an entire patent portfolio to Facebook.  Company lawyers know well
> enough to avoid such licenses, so including them within the scope of an Apache
> product would make our product more restrictive than the Apache License.
>
> ....Roy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: BSD+Patent License

Posted by "Roy T. Fielding" <fi...@gbiv.com>.
> On Jan 30, 2018, at 2:55 PM, Chris Lemmons <al...@gmail.com> wrote:
> 
> Recently, BSD+Patent Facebook license was added to Cat-X. I ran across
> a very, very similar license in the wild and wanted to ask about it:
> https://github.com/golang/crypto
> 
> The LICENSE is a straightforward BSD 3-Clause. But there is also a
> PATENTS file that says the following:
> 
> Additional IP Rights Grant (Patents)
> 
> "This implementation" means the copyrightable works distributed by
> Google as part of the Go project.
> 
> Google hereby grants to You a perpetual, worldwide, non-exclusive,
> no-charge, royalty-free, irrevocable (except as stated in this section)
> patent license to make, have made, use, offer to sell, sell, import,
> transfer and otherwise run, modify and propagate the contents of this
> implementation of Go, where such license applies only to those patent
> claims, both currently owned or controlled by Google and acquired in
> the future, licensable by Google that are necessarily infringed by this
> implementation of Go. This grant does not include claims that would be
> infringed only as a consequence of further modification of this
> implementation. If you or your agent or exclusive licensee institute or
> order or agree to the institution of patent litigation against any
> entity (including a cross-claim or counterclaim in a lawsuit) alleging
> that this implementation of Go or any code incorporated within this
> implementation of Go constitutes direct or contributory patent
> infringement, or inducement of patent infringement, then any patent
> rights granted to you under this License for this implementation of Go
> shall terminate as of the date such litigation is filed.
> 
> In the discussion of LEGAL-303, where the Facebook BSD+Patent license
> was discussed, there were two major concerns raised. First, that the
> grant made it clear that subsequent modifications might infringe
> Facebook patents and that such infringement was unauthorized. This has
> very similar language, but personally, I'm not sure it does much.
> 
> Second, that the grant terminated if you make a claim against Facebook
> for a patent it might have infringed in the code. Google's version
> here is at least non-discriminatory... it applies to "any entity", not
> just Facebook. But it still tends rather significantly to limit the
> "universal donor" nature of Apache licensed code. :/
> 
> So, my question is this: is Go's version of BSD+Patents meaningfully
> different from Facebook's?

Yes.  Go's license is effectively the same (in scope and intent) as the Apache
License's explicit grant of patent license, and the reciprocal termination clause
applies to "this implementation ... or any code incorporated within".

The old Facebook BSD+Patent license, in contrast, terminated on any claim
against Facebook, whether or not that claim had anything to do with the scope
of the product being licensed. Hence, redistributing that software in a form that
will have to be supported long term has the completely unbalanced effect of
licensing an entire patent portfolio to Facebook.  Company lawyers know well
enough to avoid such licenses, so including them within the scope of an Apache
product would make our product more restrictive than the Apache License.

....Roy


---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org