Live data from Hacker News

Apache Foundation disallows use of the Facebook “BSD+Patent” license

issues.apache.org

211–220 of 391 posts

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#211
post #179

Earlier quoted context omitted.

All contributors to RocksDB signed Facebook's CLA https://code.facebook.com/cla/individual which states: 2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Facebook and to recipients of software distributed by Facebook a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly…

This is not a copyright assignment and not an authorization to publish under a different license. Canonical's CLA adds the additional paragraph to enable that: Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. As a condition on the exercise of this…

I hate to say it, but you have a perfectly valid point.

I hate to say it because it makes changing the license significantly more problematic than it seemingly was an hour or two ago. By changing the license, Facebook assumed rights to contributions that it does not have. Even if the licenses are _compatible_, releasing contributions under a different license is not allowed without permission from the contributors.

This is a change from a permissive open source license to another permissive open source license, but what if my GPL contributions to a project were released under BSD? Or what if they were released under a proprietary commercial license? In either case, I might not have contributed, and I should have the right to rescind my contribution to prevent it from being included under a new license.

It's an interesting quagmire, and one that FB's choice of license was destined to lead into at some point. I think it was a bad decision from the get-go.

This is not the first major licensing snafu. A lot of projects ran into similar issues trying to adopt GPLv3 when it first came about. And I have seen a few other projects deal with community uprisings as other license changes came about.

Personally, I think FB should adopt the combined apache/GPL license, adopt CLA language like you've stated, and provide notice that developers can rescind contributions if they don't agree. Perhaps do a tri-license of Apache/GPL/BSD if there's significant kickback. Their current license is a problem and too much of a continuing distraction. JMO.

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#212

Earlier quoted context omitted.

Because they already allowed other people to use it, and it doesn't required extra effort on Facebook's part to allow another company to use it. I can understand why Facebook would want to have a clause like this (to discourage lawsuits against them), but I would consider it against the spirit of open source to do so (ie. Facebook should be able to continue to do this, but I wouldn't consider React to be open source…

I wonder, does the definition of "open source" or "free software" require any patent grant at all? I guess the GPLv3 has provisions for patents, but older licenses didn't. I remember some controversy around open source video codecs that you were not able to use safely because they were infringing patents.

Patents can be used to restrict all four of your freedoms under the FSF definition of "free software". They have written about this problem for quite a long time[1,2]. The problem with patents for things like formats or protocols is that they make free software implementations potentially dangerous to use (users can be sued for violating a patent). That's why h264[3], MPEG-whatever, FLV, etc are all considered to be bad even though they have free software implementations. MP3 recently shedded its patent licenses[4], and the response was that every distribution finally packaged mp3-lame in their main repos.

GPLv2 didn't have a patent grant because it wasn't a very well-known issue in 1991. Apache 2.0 was the first free software license to have a patent grant (which unfortunately made it GPLv2 incompatible) but GPLv3 included a similar (though stronger) patent grant because of Apache 2.0.

While these may sound like theoretical problems, people have been sued over using GIF, MP3, etc before. Every time you install Firefox, it will download a free software binary from a Cisco server that does h264 decoding[5]. However, they cannot legally recompile the binaries themselves as it means that the patent grant no longer applies and Mozilla (or your distribution) could be sued -- even though the binary's source is BSD-licensed.

[1]: https://www.gnu.org/philosophy/fighting-software-patents.htm... [2]: https://www.gnu.org/philosophy/danger-of-software-patents.ht... [3]: https://www.fsf.org/licensing/h264-patent-license [4]: https://www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audi... [5]: http://www.openh264.org/index.html

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#213

Earlier quoted context omitted.

That's how I understand the patent grant too. Are people here really confusing a grant with some sort of restricting of their freedom or do we miss something? I frankly don't want to believe everyone, including apache foundation, believes this without getting their facts straight..?

I think there is a legal layer, and an ideological layer. From the legal layer, this is a non-issue. You are not in any way worse off than if the license was public domain or BSD (as far as I understand it). From an ideological or appearances point of view, it seems a bit clumsy. People see it as a submarine to get access to their patents, rather than an insurance to prevent unnecessary patent litigation costs. I won…

Actually, from a legal layer it also might be a tactic to weaken the bargining power of anyone who uses React (why would Facebook want to discuss a patent portfolio with a company that cannot sue them for any form of patent infringement without losing their React protection). They also would lose their effective ability to counter-sue in a patent case.

I don't like software patents on an ideological level, but even from a legal and practical perspective these license terms should be reason for concern. The first thing I read when I look at a free software project is the license, and when I first saw React a few years ago I stopped looking once I read the PATENTS file.

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#214

Earlier quoted context omitted.

You can't avoid react because it started a new paradigm. 9 out of 10 frameworks are based on the same principles and native follows suit where even big vendors are changing their strategies for mobile and desktop to align them with reacts principles (react-native, microsofts react-native-windows, reactxp and office fiber, googles kotlin for android, litho, componentkit, etc). Switching from react to something else is…

The paradigm is everywhere, so just use another library that uses that paradigm, like Inferno or Preact, or even something slightly different like Vue if you want.

The point is those other libraries could be in violation of any patents that Facebook may or may not have with regards to React. Perhaps they have a patent on virtual DOM? That would mean your usage of Inferno, Preact, Vue, or Angular 2+ would violate the patent.

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#215
post #35

Earlier quoted context omitted.

Yep, the patent grant is not fully reciprocal. As I understand it: To use React, you give Facebook permission to use any of your software patents (edit: all patents, even on a new jet engine) throughout your whole company. Facebook gives you permission to use only the software patents necessary for React. If your company sues Facebook over an unrelated software patent (edit: as above, any patent), your React license…

> As I understand it: To use React, you give Facebook permission to use any of your software patents throughout your whole company. That is, on its face, absolutely untrue. Nowhere in the React patent terms does it specify that you grant Facebook rights to use your patents--not even to ones related to React. That's something that isn't in the React terms, nor does it seem to show up in any legal analyses published on…

> Nowhere in the React patent terms does it specify that you grant Facebook rights to use your patents--not even to ones related to React.

I detailed the specifics.

Take this example:

In exchange for doing graphic design on your menu, I stipulate that I can shut down your bakery if you take me to court when I eat from the bakery without paying. Now, sure, I haven't granted you the right to come eat my wares, but I'm going to have to shutdown my shop to keep it from happening.

In this case as long as you change the menu you can go back and enforce it, but with software, it isn't as feasible (say you had a game built on top of Raknet, which has the same PATENTS rider).

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#216

Earlier quoted context omitted.

If Microsoft's lawyers were okay with React, then I'm pretty sure your startup is okay. https://github.com/Microsoft/react-native-windows

I'll call that a false equivalency, because only in my wildest dreams can I consider anything I'm working on equivalent to Microsoft. Among the Microsoft-level things I lack I'll count their legal teams, patent portfolio, and negotiating clout. Anything I as a solo or mostly-solo dev would put together to sell would almost certainly be sold to a company less than 0.1% Microsoft's size - even at the 1% level it's just…

Well, my point was that Microsoft has a very broad patent portfolio, as does Apple, and many other such companies that are using React in production. If they do not fear this patent clause, then I fail to see why your startup would. Especially if your startup has no patents at all (as is the case with most software startups). Apple & Microsoft would have a lot more to lose if they were somehow granting Facebook unlimited access to their patent portfolio just by their usage of React. You think their attorneys would let that fly?

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#217
post #179

Earlier quoted context omitted.

All contributors to RocksDB signed Facebook's CLA https://code.facebook.com/cla/individual which states: 2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Facebook and to recipients of software distributed by Facebook a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly…

This is not a copyright assignment and not an authorization to publish under a different license. Canonical's CLA adds the additional paragraph to enable that: Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. As a condition on the exercise of this…

True, it's not a copyright assignment, so Facebook should probably maintain the list of copyright owners somewhere (e.g. Go has (C) Go Authors and the list of authors is in a separate file), however, the CLA terms I quoted allow sublicensing. When signing the CLA, you grant Facebook the copyright license to your contributions, which Facebook then sublicenses to everyone else with the license of their choosing (as long as this license doesn't grant more rights than in the CLA.)

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#218
post #103

Earlier quoted context omitted.

I'd call that a "distinction without a difference". Those are generally fallacious, and more often pedantic. Sure, you can still technically use React if, say, you're based somewhere that patents aren't particularly enforced. But if that's the case, why do you have patents in the first place ?

In many European countries (all of the EU ?), software patents are not recognized. You may still have other kinds of patents, which are very much enforceable.

That is plain wrong. Software patents exist and are enforced in the EU and other member states of the European Patent Treaty. The European Patent Office even has a nice FAQ on helping you get your software patents granted at:

https://www.epo.org/law-practice/legal-texts/html/guidelines...

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#219

Earlier quoted context omitted.

This is not a copyright assignment and not an authorization to publish under a different license. Canonical's CLA adds the additional paragraph to enable that: Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. As a condition on the exercise of this…

I hate to say it, but you have a perfectly valid point. I hate to say it because it makes changing the license significantly more problematic than it seemingly was an hour or two ago. By changing the license, Facebook assumed rights to contributions that it does not have. Even if the licenses are _compatible_, releasing contributions under a different license is not allowed without permission from the contributors. T…

Even if the licenses are _compatible_, releasing contributions under a different license is not allowed without permission from the contributors.

If you read the CLA, the contributors agree to allow Facebook to sublicense their contributions. Which is what Facebook is doing.

FYI, the dual-licensed it under APv2/GPL.

Re: Apache Foundation disallows use of the Facebook “BSD+Patent” license

#220

Earlier quoted context omitted.

You can't avoid react because it started a new paradigm. 9 out of 10 frameworks are based on the same principles and native follows suit where even big vendors are changing their strategies for mobile and desktop to align them with reacts principles (react-native, microsofts react-native-windows, reactxp and office fiber, googles kotlin for android, litho, componentkit, etc). Switching from react to something else is…

The paradigm is everywhere, so just use another library that uses that paradigm, like Inferno or Preact, or even something slightly different like Vue if you want.

Which is what i said.
Post reply on HN