1. 50

  2. [Comment removed by author]

    1. 4

      I ask from a place of ignorance - why? Other than this patent clause business, why is React bad for open source? Because Facebook created it? Or is there some deeper reason?

      1. 9

        This is to the best of my understanding:

        Facebook created it–that’s fine, companies have to make software all the time.

        Facebook avoided the well-known Apache license which would’ve solved the patent issue for everybody, but elected not to because they wanted the ability to counter-troll on patents–that’s not great, but not unexpected.

        Gorillions of web developers in an attempt to chase new shiny decided that a) React had to be shoved into everything and b) that licensing terms weren’t actually something to worry about as long as it wasn’t mean old GPL–that’s really amazingly shortsighted of us as a community.


        From where I’m sitting, I can totally dig the whole “Hey, we’re a little software company, we need protection from patent trolls.” Thing is, though, FB is not that company–FB is a gigantic parasite advertising massive surveillance apparatus who has shown itself willing to manipulate politics, whose founder is on-record as being a shitbag about the privacy and pecuniary interests of others, whose marketshare is gigantic, and whose areas of development are wide and varied.

        And by using React, if you go to court with them for any patent-related reason, they are well within their legal rights to say “Okay, do a total rewrite of your frontend”.

        1. 9

          You didn’t actually answer the question.

          1. 7

            Ah, fair enough.

            So, the reason it is bad for open source is not that FB created it, but that it was adopted widely by magpie developers who overlooked the fact that by adding the patent bit FB basically made it a ticking time bomb for anybody who wants to use it, which is quite against the spirit of open source.

            One could argue that, for example, copyleft licenses like the GPL are also ticking time bombs, but when they go off they tend to benefit the rest of the community and not just a single corporate entity with deep pockets and many lawyers.

          2. 3

            jQuery, for example, is licensed under BSD license too, the same license that React. Apache is not the only acceptable free software license. And jQuery contains sophisticated algorithms too (for example, some selectors are passed to DOM selectors, some are handled by jQuery’s code) which might be patented too. And also no one knows what might be patented.

            1. 2

              React is not licensed under a “pure” BSD license. See here.

              1. 1

                It’s additional grant, not additional revocation of rights from BSD license. BSD does not give any patent rights. This patent grant does not substract any rights from BSD license.

                1. 4

                  I believe this is the entire point of disagreement. For example, DannyBee believes BSD gives implicit patent grant, and Facebook PATENTS file revokes this implicit patent grant and replaces it with explicit patent grant. Actually, he goes even further and says:

                  Every single lawyer I’ve ever spoken to strongly believes implied licenses will protect you very well here. Like, among us open source lawyers, it’s pretty much the one thing people agree on.

                  1. 2

                    If Facebook wanted to reserve the right to normal business, they could use vanilla BSD. If they wanted to “do the right thing” and not have to worry us with patent stuff, they could use Apache.

                    By choosing BSD+FB_patent_nonsense, their motivation is baldly to leave room for something sheisty.

            2. -1

              I would also like to have an answer

          3. 10

            The issue was enough for the startup I work for to decide to avoid React. Just too murky of an issue to have to concern ourselves with.

            1. 5

              I agree. Let’s pretend that the Facebook of today is a saintly company that would never infringe/steal your companies ideas. What about next year?

              What happens when leadership changes and, as sometimes happens, legal action is necessary. Now your website and possibly your entire product has to shut down?

              Their library really isn’t worth that to me.

            2. 7

              What is the actual worst case scenario that could result from this patent clause?

              1. 14

                For big companies its:

                • Facebook violates a patent you hold and you’re like “dude, that’s not OK” and you go to litigation.
                • Facebook’s patent grant retaliation kicks in. It revokes the grant to everything Facebook gave you under BSD+Patents anywhere in the company.
                • You are now at risk of having to pull products that are completely unrelated because of the patent infringement.

                Apache 2’s patent termination is only in regards to entering litigation about that particular piece of software. So if you build three apps using a library, but there’s a patent battle over something in software A, software B and C still have the patent grants.

              2. 4

                Is preact a viable alternative from a technical standpoint?

                1. 3

                  Preact is an excellent library. It does most of what React does for a fraction of the weight, and with a nicer license too.

                  1. 0

                    MIT license is nicer than BSD? Why?

                    1. 3

                      That’s off-topic, sorry. Let’s keep that troll for another thread about BSD vs MIT. :p

                      1. 1

                        See above for the patent “grant”.

                  2. 4

                    I know I’ve plugged this a bunch, but I can’t recommend the library enough: https://mithril.js.org/ – edit: MIT license. For those who are curious. – end edit

                    When I worked at DipJar, I built the entire client dashboard in mithril and it was a joy. It has vdom like React, but it also has routing and better state management built in. It’s incredibly easy to learn and master, so there’s not much of a learning curve even for junior devs.

                    I am not a contributor, just a happy user.

                    1. 1

                      Is it time to move back to jQuery and Prototype.js? If these mysterious patents are about things like “virtual DOM”, comparing trees of state or something derived from FRP, then using Vue, Preact, Angular 2, Cycle, Riot, Elm, reflex-dom will infinge them too.

                      Then let’s wait 20-30 years until these patents expire and everyone finally can use these nice state-management things.

                      1. [Comment removed by author]

                        1. 1

                          social contract of open source

                          This is something new.

                          1. 5

                            New? Not really. Debian has a well-stated social contract: https://www.debian.org/social_contract

                            1. 3

                              Huh. It’s Debian’s “social contract”. Do you see the difference between somebody publishing “a set of commitments that we agree to abide by” and a non-existing unspecified thing that the poster above requires Facebook to abide by just because they published and maintain some open source code?

                          2. 1

                            So, the issue is that they deliberately added this “patent clause” to induce fear to everyone who thinks about suing Facebook? And not that using React is risky?

                          3. 3

                            Does Facebook actually have patents covering React? I’ve looked around a few times and have never seen a link to an actual patent covering it. I would assume there’s gobs of prior art for anything going on in there.

                            1. 5

                              AFAIK they’ve never stated public which ones, if any.

                              Submarine patents are a thing, sadly.

                            2. 2

                              And yet, there are a number of big companies which undoubtedly have big legal teams, and which seem to be okay with using React somewhere. Just cherry-picking some from the list [0]

                              Airbnb, American Express, Chrysler, Atlassian, eBay, Expedia, Microsoft, NHL, Netflix, New York Times, Salesforce, Twitter, Visa, Walmart… At least some of these companies must have had their legal teams look at the license and decide it was okay to use to use React. Which makes me wonder if the hysteria (this is a bit of hyperbole, but it does seem to have some people really worked up) is justified.

                              [0] https://github.com/facebook/react/wiki/sites-using-react

                              1. 8

                                You’re assuming they’re using the “off-the-shelf” license. There’s nothing preventing them from negotiating a different license with Facebook. Now, I haven’t seen anything showing that this has happened, but it’s a fairly common practice to have individualized contracts with traditional commercial software, so it wouldn’t shock me.

                                1. 3

                                  It would surprise me, though - why would Facebook enter into an agreement with these big name companies that altered the React license out of Facebook’s favor? I don’t think all these companies did that (and I didn’t list every large or well-known company that’s on that link, by the way), and unless they’re paying FB to use React I just don’t know why FB legal would bother with all the work. Individual negotations with legal teams at all these big companies to reach a mutually agreeable license, just so a dev team can use React? It seems really unlikely. Just as unlikely as all these companies paying FB to get some kind of commerical license for React - when there is no suggestion that such a thing exists.

                                  1. 2

                                    I assume they are paying. Just because things don’t have a price list or an explicit offer of a commercial license doesn’t mean you can’t get one.

                                    1. 2

                                      Right, I get that. I just don’t think it’s actually happening. Since there’s no evidence either way I guess we won’t be able to figure it out!