Also, Facebook has no vdom patent. It's not like you can be granted a secret, hidden patent (even the word "patent" itself means "open").
Incorrect. (This has been clarified many times, including in Facebook's official FAQ about React licensing.)
> Also, Facebook has no vdom patent. It's not like you can be granted a secret, hidden patent (even the word "patent" itself means "open").
I agree. Many people have looked; no one has found one. Hence why I believe there's no risk to using React.
It doesn't address the scenario of Facebook's violating your patents first.
Facebook cannot revoke your React license in any circumstances, as that link makes clear.
In my mind that situation is effectively identical to losing "the right to use" license on grounds of patent suit (like Apache). Interestingly, in Apache you'd still be sued for patent infringement (not copyright infringement) because "right to use" is provided as a patent license.
Yes, but for what patent? People have looked; none have been found. :)
The PATENTS file affects more than just React. It's found in their other projects too.
you mean their patent grant? How can an open source license like apache, MIT or bsd be "revoked"? Do facebook have a public blacklist of people who aren't allowed to use react?
> If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
Note that the "Grant of Copyright License" of Apache doesn't grant you the right to use the work, so revoking the patent license is effectively revoking the whole license (though you can still redistribute the work).
MIT and BSD licenses merely provide short-cuts to understanding a project's licensing
Using React just opens you up to liability, with no real benefit (other than using React). Why would you use it?
How?
Again, if they have a patent, they can sue you if you use one of the alternatives mentioned. If they don't have a patent, they can't sue you if you use React.
What's your thinking behind saying using React adds liability? Because to me, it looks like either it does nothing or it reduces liability.
That seems extremely weird. Normal startups do nothing of the kind; do you have extremely weird investors?
> My investors were very specific about software licenses - we aren't allowed to use GPLv4 or AGPL at all.
Ah, there we go. First off, there's no such thing as GPLv4. Second of all, you do realise that avoiding even the AGPL puts you in a vanishingly rare crowd in these parts, right? Eg, MongoDB is AGPL; of all the reasons I've seen given for avoiding Mongo, the license is a new one on me.
If you've decided to only use GPLv2 or vanilla MIT licenses software that's totally fine, but it is unusual.
If you have a patent, and use React, you can't sue Facebook if they use your patent.
Citation needed. Let's say I have an awesome VR patent, and a React based website. I find out the Oculus violated my patent, what happens next?
Answer: I sue them. :) Nothing about the React license stops this; I will even still have a right to use React. What I won't have is a right to use any patents that Facebook might have on React. But Facebook, as far as is known, has no such patents.
> The license granted hereunder will terminate, automatically and without notice, if you [...] initiate [...] any Patent Assertion
The key part is that if you don't have a license to use the patented technology (or more pertinently - that license is explicitly revoked), you can't legally use that technology, no matter what the BSD license might say: the patent grants supersedes the BSD license.
So, to respond directly to your answer - you lose the right to use React; Facebook can sue you for your use of React, since they own the patents to that technology.
So if you want to operate under the belief that Facebook has no patents to assert, then yes, you will consider yourself to be safe. The fact is that many lawyers, including the Apache Foundations lawyers, disagree with this assertion.
Incorrect. The ASF's objections had nothing to do with believing Facebook had any patents, and many ASF projects are looking to move to Preact, which is presumtively covered by the same patents React would be (if any).
I.e. the exact situation you would be in if you sued Facebook and there was no PATENTS file.
The "implied" license doesn't have a strong legal finding backing it up yet. Even so, most lawyers are comfortable with the idea that if a company tells other people to freely use their software, they can't then come back around and sue those same people.
To me, the most important part of a vdom library like Mithril is using the HyperScript API with it, a library which predates React: Aug 20, 2012: https://github.com/hyperhype/hyperscript/tree/9237f590f3bc82... May 2013: https://github.com/facebook/react/blob/75897c2dcd1dd3a6ca462...
Personally, I feel templating approaches to making JavaScript-powered UIs like React's JSX or Angular's own templating approach or the templating systems in many other UI systems are obsolete. Modern webapps can use Mithril+Tachyons+JavaScript/TypeScript to write components in single files where all the code is just JavaScript/TypeScript. Such apps don't need to be partially written in either CSS and some non-standard variant of HTML that reimplements part of a programming language (badly). (Well, there may be a tiny bit of custom CSS needed on top of Tachyons, but very little.)
Here is an example of a coding playground I wrote that way with several examples in it which use that approach: http://rawgit.com/pdfernhout/Twirlip7/master/src/ui/twirlip7...
So, by writing UIs using HyperScript (plus a vdom library), you can potentially (with some work) replace a backend like Mithril with almost any other vdom or even a non-vdom solution. So, that is another way I mitigate this risk when I have a choice.
Granted, I know many web developers grew up on tweaking HTML and love HTML-looking templates and so they love JSX or whatever and are happy to ignore how hard it is to refactor such non-code stuff in the middle of their applikcations or validate it (granted, some IDEs are getting better at that). But I came to web development from desktop and embedded development working with systems where you (usually) generated UIs directly from code (e.g. using Swing, Tk, wxWidgets, and so on). I like the idea that standard tools can help me refactor all the code I work on and detect many inconsistencies.
Maybe a deeper issue for me is that with BSD+PATENTS Facebook is redefining what "open source" means in a way that is harmful to the open source community -- and also free software community as well like with Automattic using React on top of a GPLd WordPress. Which is why the Apache Foundation rejected the React license.
If Facebook has a patent on the vdom, then all the projects in your list violate the patent, and none of them come with even a conditional patent grant from Facebook.
If Facebook does not have a patent on the vdom or other React technology, then those other projects are safe, but so is React, since termination of the patent grant has zero cost to you.
My personal belief is that Facebook has no patents on React, so I feel safe to use React, Mithril, or any other vdom based library. But I can certainly understand people who feel like they need to play it safe, assume Facebook does have a vdom patent, and avoid all such libraries.
But I'm not really following your logic at all. It's like you think Facebook has a patent, but then you only want to use the libraries that maximise your ability to get sued over it? What am I missing?