What will be your choice ?
I'm still choosing react, even after the patent clause. Facebook even wrote a blog post about it:
code.facebook.com/posts/112130496157735/explainin…
Obviously, their position is biased, so take that in consideration when reading that post, but I believe their intentions in this case are sincere.
The following paragraph summarizes pretty much what the patent is for:
The patent grant says that if you're going to use the software we've released under it, you lose the patent license from us if you sue us for patent infringement. We believe that if this license were widely adopted, it could actually reduce meritless litigation for all adopters, and we want to work with others to explore this possibility.
Rick Sheahan
Software Engineer / CS Nerd in Seattle
My thoughts are similar to Alan's. I don't know anything about patents although many smart people have told me they're regressive and stifle innovation, at least in the software industry. But in this case, I understand why OSS diehards don't like it, but parading it about like it's the end of the internet seems ridiculous to me. As many have pointed out, you're constantly violating patents whenever you implement some cool UX feature thats been patented (despite being relatively obvious).
If you're working on a personal project or at a small startup, why would Facebook pick on you? There is no reason, and it will just be a bad look for them and make all the patent doomsayers gleefully blast FB/React for being right all along. So, yeah, I don't see why anyone at that scale should be worried.
And in the other case, where you're a big company or rapidly expanding startup, like Alan said, you should have the resources to deal with that and make tech stack decisions accordingly. If you're a big enough player that you're paranoid FB will sue you for fun, you probably have skilled JS engineers, familiar with multiple frameworks, that can convert a React app to something else fairly quickly. (relative to say... switching from all imperative code to all functional code). Especially since reactive design patterns and many other features of React and it's competitors / helper libraries are already extant, well known patterns. React is very cool but it's not unprecedented in the slightest.