React Users Petition Facebook to Re-license React.js after Apache Software Foundation Bans BSD+Patents License in Dependencies

The Apache Software Foundation issued a notice over the weekend, indicating that it has added Facebook’s BSD+Patents license to its Category X list of disallowed licenses for Apache PMC members. This is the license that Facebook uses for most of its open source projects.

A representative from Facebook’s RocksDB team commented on the Apache Foundation’s post to advise that the project will meet the August 31st deadline for relicensing in order to be in compliance with Apache PMC member requirements, and that change has been committed today:

The RocksDB team is adjusting the licensing such that it will be dual-licensed under the Apache 2 and GPL 2 (for MySQL compatibility) licenses. This should happen shortly and well ahead of August 31st. I’ll leave the history and philosophy around licensing alone since it’s generally a complex discussion to have and I’m not sure that it has actually been fully captured in this thread especially vis a vis Facebook’s intent.

Hopefully this morning’s guidance to PMCs can be adjusted since I don’t think any of us see a bunch of extra engineering effort as a desirable thing across the ASF projects which are already making use of RocksDB

In light of the ASF Legal Affairs Committee’s decision to disallow the BSD+Patents License in Apache projects, ASF member Joan Touzet opened an issue on the React repository urging Facebook to consider re-licensing React.js under Apache License v2.0 and GPL 2:

This has led to a lot of upset and frustration in the Apache community, especially from projects requiring similarly-licensed code as direct dependencies – the chief of these being RocksDB.

We (the Apache Software Foundation) have just received word that RocksDB will be re-licensing their code under the dual Apache License v2.0 and GPL 2 licenses.

As a user of React.JS in an ASF top-level project (Apache CouchDB), please consider re-licensing React.JS under similar terms. Otherwise, many ASF projects such as our own will have to stop relying on and building with React.

Although the re-licensing of RocksDB solves that particular project’s problem, ASF’s ban of Facebook’s BSD+Patents license means other widely used technologies from Facebook, including React.js, are still banned. This is likely to cause problems for many open source projects.

Harshavardhana, from the Minio team, commented in support of the petition to Facebook for re-licensing React.

“Our object storage browser UI is based on React and we are Apache 2.0 licensed,” he said. “It would be unfortunate and time consuming to migrate but we will have to do that in lieu of new information regarding Apache incompatibility. Please consider re-licensing React.”

Contributors to Om, a ClojureScript interface for React, are also discussing whether or not the ASF’s new requirements will affect their project. Greg Stein, commenting on behalf of ASF, clarified the reasons behind the organization’s decision to ban Facebook’s BSD+Patents license:

Please note that the ASF chose this path for policy reasons, rather than “license incompatibility”. We don’t want downstream users of Apache code to be surprised by the PATENTS grant that (was) in RocksDB and (is) in React. Users should only need to follow the ALv2, with no further constraints.

These license can work together (IMO) and simply provide two sets of restrictions upon users.

Stein said it was not ASF’s lawyers who made the decision but rather the organization’s policy decision to “disallow FB/BSD+Patent license to be mixed into the software the Foundation releases to users.”

Facebook is Internally Discussing the Re-Licensing Matter

Dan Abramov, co-author of Redux, Create React App, and React Hot Loader, joined the discussion on GitHub regarding re-licensing with a brief and ambiguous summary about how Facebook is handling the petition to re-license.

“To give you a small update, there are going to be more internal discussions about this for about a week,” Abramov said. “This is about as much as I can say. I wouldn’t be too optimistic about this changing for React but we’ll see. @daveman692 has kindly agreed to provide an update when these discussions are over.”

Dropping the patent grant entirely, which would be the most convenient way of solving this issue for open source projects, isn’t likely to happen. React has already gone through re-licensing twice during its short history. It was originally licensed under Apache 2.0 but this was changed in October 2014 to the BSD License plus the patent grant, which included a highly controversial termination provision. In April 2015, the patent grant was changed slightly to allow licensees to continue to use the software in the event that a patent lawsuit did not include a counterclaim against Facebook or its affiliates in a matter unrelated to React.js.

The termination provision in Facebook’s BSD+Patents License continues to be unpopular and is regarded suspiciously by many open source project maintainers. When the Drupal project began considering a client-side framework to supersede Backbone.js, Dries Buytaert passed on React based on what he said was “a potentially unacceptable patent clause,” citing pushback from WordPress.com’s Calypso and React contributors.

The WordPress open source project has not formally announced its decision on which JavaScript framework will be included in core, but all signs point to React. WordPress’ upcoming Gutenberg editor is built on React and its chief contributors are Automattic employees who work on React-based products for WordPress.com. Gutenberg continues to plough forward at a breakneck pace with no indication of a rewrite, and WordPress co-creator Matt Mullenweg has been outspoken about his preference for using React.

Although Automattic’s legal counsel has said the company is comfortable using React for its product under the project’s current license , others in the WordPress community are not as amenable to including the framework in core.

The Open Source Initiative (OSI) includes a generic BSD+Patent license listed among its approved licenses, but Facebook’s particular BSD+Patent license has not been submitted. Robert Pierce, a partner at El Camino Legal, contends that the license termination provision ought to be impermissible in an open source license because it exists to protect Facebook from patent litigation that is completely unrelated to React code:

Facebook touts React.js as open source software. But in my mind the license termination provision of the Additional Grant of Patent Rights takes the offering outside the realm of open source software.

The patent license offered in the Additional Grant of Patent Rights (v.2) is conditioned upon the licensee not bringing a patent infringement lawsuit against Facebook or its affiliates. Thus, the licensee pays a price to use the library. It is not a price paid with money. The price demanded by Facebook for use of the library is that the licensee refrain from exercising any of its patent rights against Facebook or its affiliates.

Pierce views Facebook’s publication of React source code as leverage to win some protection against patent lawsuits, which he deems to be “too greedy an approach for Facebook to claim open source status.”

The open source community has widely speculated about the implications of including Facebook’s BSD+Patent license as a dependency, but the license has not yet been tested in court. The Apache Software Foundation is the first major organization to take a hard line stance on the controversial license and this has caught Facebook’s attention. Facebook representatives have promised an update on the petition for re-licensing after its internal discussions have concluded.

19 Comments


  1. It continues to baffle me that Matt, one of the foremost champions of GPL, doesn’t have a problem with this. It’s absolutely not a “free” license if it restricts your freedom to sue Facebook.

    While I’d love to see multiple downstream consumers band together and get FB to move back to ALv2 on this, doing so is “wouldn’t be too optimistic about this” in their own words.

    Switch to Vue.js before it’s too late. Gutenberg is a nice POC, but there are lingering UX issues, rebooting wouldn’t be the end of the word, yet…

    Report


    1. It baffles me too, it’s changed the way I look at WordPress and Matt’s stewardship. It feels like the push to grow toward ever larger market share (is it even wise to have such an explicit aim?) and a general anxiety around keeping up with the Joneses has lead to choices that undermine what makes the WordPress special in an online world dominated by titans that are ruled by growth at any cost (see FB, Google etc and the subtle and not so subtle sacrifices they were willing to make to users’ interests and projects in the name of growth).

      It seems to me that lawyers said the FB license was technically kosher enough and that is all what was needed, despite the license itself and the company behind it generating a smell that can be detected all the same. The fact that Matt ignored the smell and was content with a green light delivered by lawyers and developers (who were just wanting to build with cool tech) alarms me.

      I’ve always been huge supportive of Matt for doing things that other people were critical of, he was militant about GPL enforcement and I valued that. We had a leader who was going to go to bat for the stuff that most people underappreciated, but was hugely important. He became a villain to some in his exchanges over the years, but I always felt he was protecting the best interests of WordPress. I’m not sure he does that anymore and it saddens me.

      Report


      1. Agree. Given his militancy re the GPL, this is crazy…

        Report


      2. It’s not that crazy. Software patents suck and should not be allowed to exist at all.

        Also, remember that early drafts of the GPLv3 wanted to straight up ban software patents. See https://www.gnu.org/licenses/rms-why-gplv3.en.html

        If you’re really pro-free software, you’re probably anti software patent.

        Report


      3. It’s not about the patents. It’s about the fact that there are caveats to it’s OS license that put limitations on your freedom.

        It appears people are shrugging their shoulders to this because they either dislike patents, don’t know much about patents, don’t own patents, don’t have interest in patents, don’t foresee themselves being in a situation where this caveat would come into play… or a combination thereof.

        But that is not a reason to brush aside this issue.

        The fact that the Apache Foundation is raising this issue should raise your eyebrows no matter how much you hate software patents.

        Report


  2. Well said, Jon. That Facebook license is really not open source. Code released under that license has no place in core.

    React.js in Calypso worries me less. Calypso is an Automattic project and is not core. As a private company, Automattic is free to use software under whatever license suits them. WordPress core is a different matter.

    Sometimes principles bear a price.

    Report


    1. And that’s the point, behind WordPress there was always a principle, the GPL stands for a principle, and this goes completely against that principle.

      Report


      1. JeffC

        What principle that the GPL stands for does this go against?

        Carl:
        The GPL is not in support of just any old freedom whatsoever, just the freedom to have access, and control over, software.

        The freedom to sue people over software patents most emphatically is *NOT* something this is part of the principles the GPL standards for. The GPL stands against patents, and their use, in any form.

        Report


      2. @Stu

        The principal of being open source.

        Facebook’s BSD+Patent License is not open source.

        That combination isn’t certified by the OSI. To be OSS, the software has to be licensed under an OSI-approved license, which it isn’t.

        https://opensource.org/licenses/alphabetical

        So for WordPress to be including non-open source licensed software in core seems to be going against the grain, wouldn’t you agree? Would that mean that WordPress is no longer open source?

        Perhaps Facebook should submit their license for approval, then this would all go away?

        Report


  3. So they’ve already changed the license 2 times, not a big deal, they’ll just need to do that one more time))

    Report


  4. If FaceBook decides not to re-license then that hopefully makes VueJS appear that much more appealing to use in the free WordPress.org project.

    I personally don’t care if the WordPress.com version continues to use React as long as WordPress.org uses VueJS instead or some other compatibly licensed framework.

    Report


    1. WordPress.com and Automattic are free to use whatever they want. But given the whole back and forth about the GPL and the ethics and principle behind it, to have the FB BSD+Patents foisted upon WordPress.org and it’s users, frankly stinks.

      Report


  5. Scenario: React is added to WordPress core and thus core bears its license in some form.

    How would this effect someone who tries to make a social media site using WordPress? It would virtually guarantee that no one using WordPress could *ever* compete with Facebook.

    Report


    1. That wouldn’t be the issue. The issue would be that if you created something novel then FB took your idea you would not be able to sue them (or if you did, you’d lose your React license thus neutering your project). It’s essentially a one-sided intellectual property indemnification, to protect FB. Large companies think they are special and they have a roomful of attorneys to prove it.

      Report


    2. You do not understand the license. It is not about your wordpress blog it is about the entire organization. Imagine google used react in their car company, and sued FB on some search related patent by the “search” company. In that case google will immediately have to yank all the react components from their cars.

      just the headache associated with keeping track of which component might be affected in such case is a good enough reason to avoid react in the first place, and if react will stay in core I will expect all major companies to stop using wordpress.

      Report


      1. That’s very important point. I don’t know if Matt thought about this. It is one thing that this situation is acceptable to Automattic, but did anyone thought about other companies that are using WP and what would be their reaction?

        This would go directly against the 50% world domination ambitions :D

        Report


    3. This is an interesting point… but it triggers the question “who would have to sue Facebook for patent infringement to trigger removing React from WordPress? Me? You? .org?

      It all untested law… but, no, I think one would assume it just means that I wouldn’t be able to continue using WordPress (with React baked in) if I chose to sue FaceBook for patent infringement.

      Yeah, I don’t like software patents, but I like my legal rights being given away even less.

      As I’ve said elsewhere. It’s _not me_ it’s my clients.

      I would no longer be able to use WordPress for clients sites without also advising them that should they someday want to sue FB for patent infringement they’ll loose use of WordPress. For some of them, as edge case as that sounds, that will be a deal breaker.

      Report

Comments are closed.