8 ms·
I love love love love love react as a technology, but this is just awful. I believe any developer not on Facebook's payroll still contributing to React or React
by kevinflo 9y ago
I love love love love love react as a technology, but this is just awful. I believe any developer not on Facebook's payroll still contributing to React or React native at this point has a moral obligation to stop. I personally feel like such a fool for not taking all this seriously before the ASF gave me a wakeup call. React is a trojan horse into the open source community that Facebook purposely and maliciously steered over time to deepen their war chest. Maybe that's an overblown take, but they had a perfect opportunity here to prove me wrong and they didn't. The defensive cover they present here feels so paper thin.
Even if we paint all of their actions in the most favorable possible light, and even if the clause is a paper tiger as some have claimed, it doesn't matter. This is not how open source should work. We should not have to debate for years if a project's license is radioactive. Especially individual devs like myself who just want to use a great tool. We should be able to just use it, because it's open and that's what open means. This is so much worse than closed. It's closed masquerading as open.
- devdoomari 9y ago+1 on this. I'm going for Preact (https://github.com/developit/preact https://github.com/developit/preact) for React alternative.
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- khuey 9y agoIf React really is covered by patents Facebook has then Preact is likely infringing on them since it does the same things in similar ways. And Preact doesn't come with a patent grant from Facebook at all.
- reconbot 9y agoWe learned from Java and Google that you can't patent and API. It's not forked from React it's an alternative.
- kccqzy 9y agoThe case was about whether or not you can copyright an API.
- Lazare 9y agoThe risk behind Preact isn't the API. Remember, this is a discussion about patents, so what matters is fundamental concepts and algorithms. The most likely thing for Facebook to patent is the concept of a virtual DOM that's diffed to apply updates to the real DOM. IF they have such a patent (and apparently they don't), then any library that has a vdom implementation infringes, including Preact. Of course, if they DON'T have such a patent (which seems to be the case), then Preact is safe, but so is React. :)
- chx 9y agoI believe you are mistaken, the problem with the license, if I recall the discussion correctly was that if your company used React then they can't go on a patent lawsuit with Facebook even if the patents have zilch to do with React.
- chrisco255 9y agoGreat explanation of implications of React patent clause: https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revokable-patent-license-why-its-a-paper-25c40c50b562 https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revok...
- oneweekwonder 9y agoNo. The implication is if you use react now you give away rights. The same is not true for angular, vue or mithril. Some argue if you use vdom there might be issue. But at least with those you/your dev is not giving away rights willingly... But come to think of it; That is the way fb started :/
- WalterSear 9y agoCould anyone with experience porting from one to the other let us know how it went?
- gedy 9y agoFor many codebases, Preact can be use simple as: npm i -S preact preact-compat then add this to webpack config: { "resolve": { "alias": { "react": "preact-compat", "react-dom": "preact-compat" } } } https://preactjs.com/guide/switching-to-preact https://preactjs.com/guide/switching-to-preact
- bpicolo 9y agoThe tricky part is probably testing. I don't think e.g. jest (or maybe it was enzyme?) supports alternative implementations quite yet, though they were working on it...that was true months ago though. If you're starting from scratch pretty easy though, sure. But that assumption is all too widespread in the JS ecosystem these days : (
- gedy 9y agoWe saw no problems with Mocha & Enzyme, can't comment on Jest.
- WalterSear 9y agowoot. brb :)
- thesagan 9y agoI'm also going to hop on this train and move away from react. Personally and professionally, I don't like the direction the big players are taking the internet. (The closed, proprietary model.) I suppose there's not much I can do about it except to move my efforts elsewhere, even if it affects my earnings.
- tannhaeuser 9y ago> I don't like the direction the big players are taking the internet It's more like developers in large parts stopped caring for standards and looked after products and "big players" and "the next big thing" instead aka the consumerization of IT. Happened to SQL, browsers, middleware, network protocols, app servers, containers, programming and markup languages, and more. Nowadays, big things come onto the scene and into developer's minds via obscene venture capital budgets.
- ZenoArrow 9y agoIn the case of SQL, I'd say the fragmentation happened because the standards weren't keeping pace with the types of improvements developers were looking for. Even the different RDBMS couldn't keep pace with all the trends, they've each focused on building up different strengths. We'll probably see a return to standards once the rate of innovation slows down.
- ranit 9y ago> It's more like developers in large parts stopped caring for standards and looked after products and "big players" This is not a recent phenomenon. For example, developers using (mostly) Microsoft tools on Windows have been doing it for decades already.
- thesagan 9y agoAn even better point than mine! Yes, developers (us) have enabled this situation, as well. Drives home the point of why I need to move on and be careful where I put effort.
- hajile 9y agohttps://github.com/facebook/react/blob/0.11-stable/LICENSE https://github.com/facebook/react/blob/0.11-stable/LICENSE Turns out that forking a somewhat recent version of React that uses Apache is possible while still retaining any relevant patents (esp pending vdom patents) and API compatibility.
- lobster_johnson 9y ago0.11 is three years old, though. Not really recent.
- hajile 9y agoMost of the APIs are the same which is what really counts. Other frameworks like Inferno already have way better performance using methods not tied to Facebook. But adding those to an actual React fork keeps the patent grant in a way that switching to a greenfield codebase might not.
- kevinflo 9y agohttps://github.com/kevinflo/react-open https://github.com/kevinflo/react-open at least to play around with for my own purposes. I forget what the state of things even was back in .11
- hajile 9y agoYou should probably steer clear of trademark infringement too. I was thinking something like free-dom myself.
- kevinflo 9y agoGood point. Just switched it to rdom-open (first thing that popped in my head lol)
- WalterSear 9y agoHow about eact?
- freewizard 9y agoAny suggestion on an open source & high quality alternatives for a large existing code base depending on React?
- gedy 9y agoPreact with preact-compat is (almost) a drop-in replacement for existing React code: https://preactjs.com/guide/switching-to-preact https://preactjs.com/guide/switching-to-preact
- drieddust 9y agoAgreed and there is no reason to still stick with react when alternatives like vuejs and angular are available. Its not that great anyways when compared to angular 2/4. There are too many concepts to be mastered and it soon become overwhelming. I tried learning react but dropped it after spending a week when I still could not understand routing. Sense of cohesiveness between different concepts is missing. I believe some learning junkies may get the kick out of it but that's not me. My time is better spent elsewhere. Angular on the other hand introduces everything one single tutorials[1] to make one productive. Deep dive later can be done later on when required. [1] https://angular.io/tutorial https://angular.io/tutorial Edit: minor typo
- WalterSear 9y agoReact doesn't do routing. It's a view library. And for me, the opposite was true vis-a-vis Angular and React, though got as far as making contributions to the Angular 2 tools before I decided to jumping ship.
- mzzter 9y agoThat's the problem, it isn't intuitive at first as to how one should add routing when using React. I learned React-Router, but the API has changed a lot between versions in the past.
- WalterSear 9y agoYou can't blame a tool for the shortcomings of another tool, though :) Fwiw, I concur that React Router is/was a bitch (it's been a while) - I suffered through it too. A client-side hash-based router is ~10 lines of javascript, and is what I'll write unless there's an actual need for anything more.
- deleted 9y ago[deleted]
- drieddust 9y ago> React doesn't do routing. It's a view library. and that's the problem. React itself solves a tiny subset and delegates the other responsibilities to different tools which may not align with each other. Most of the is spent is wiring making different choices and wiring them together. On a side note what made you move away from Angular 2 to React?
- stephen82 9y agoWell, I planned to learn more about React, but reading now this convinced me to learn Vue.js instead. It's under MIT license developed by a single person in addition to community's contribution. This link is rather interesting https://vuejs.org/v2/guide/comparison.html#React https://vuejs.org/v2/guide/comparison.html#React
- kdamken 9y agoFinishing up a project at work with Vue right now, and I gotta say it's really excellent to work with. Way more intuitive than some other frameworks out there.
- amelius 9y agoBut does it also provide an alternative to React Native?
- tribby 9y agoyes, weex[1], which is becoming some sort of apache project. it was formerly (?) an alibaba project, not actually sure on the specifics RE: changing of hands. 1. https://weex.apache.org/ https://weex.apache.org/
- lqdc13 9y agoI hope they are very good, but it is not a good first impression if your UX framework web page looks like this on mobile: https://kek.gg/i/C92Fk.png https://kek.gg/i/C92Fk.png https://kek.gg/i/89GHzx.png https://kek.gg/i/89GHzx.png
- tribby 9y agoI looked into this because I remembered weex having a different alibaba site[1]. it looks like weex became an ASF incubator project ~6 mos ago. around the same time, evan you (vue creator) mentioned on twitter (or maybe a github comment, I don't remember) that there is massive development going into weex right now. I would guess it'll be a few more months before we see a solid website with solid docs from ASF. 1. https://web.archive.org/web/20161224161323/http://alibaba.github.io/weex/ https://web.archive.org/web/20161224161323/http://alibaba.gi...
- coderdude 9y ago>React is a trojan horse into the open source community No, that's stupid and lame. It takes two seconds to reason about the dumb reasoning it would take to figure out the 'vastly in depth' details behind some licensing stuff. Oh, my god! > We should not have to debate for years if a project's license is radioactive. Stop using their tech. Go back to Angular or WHATEVER.
- zackbrown 9y agoI remember sitting in the front row at ngEurope (Angular conf) back in 2014, when Misko announced that Angular 2 would be a (breaking) API rewrite vs Angular 1. At that time, Angular was perhaps at its global maximum of community mind share—bigger than React!—and its popularity began to sink afterwards in large part due to that PR snafu. I wonder if this is React's "Angular 2." What's worse, the misstep this time is due to ham-fisted corporate mal- stewardship, not just miscommunicated technical good intentions. Vue is similarly positioned to be the "next thing" in the way React was three years ago. My how this space churns.
- Bahamut 9y agoComing from the Angular community & still connected quite a bit to it despite currently working primarily with React, I don’t think having an incremental change would have helped Angular compared to React due to the complexity of Angular.js’s API & its flaws. I actually stand by quite strongly behind the decision to rewrite in Angular 2, but Angular 2 took a long time to come into being - it was rewritten 3+ times in getting to its current state & 3-4 years in the making. I think Google devoted the proper resources too late into it in its quest to make the most performant & flexible framework. I believe this gap is what largely hurt Angular, and while the PR snafu was visible, I think the current situation would have been arrived at regardless.
- esistgut 9y agoI agree with you and I think Google is still underestimating the amount of required resources because the framework is still not really "done", a couple examples: universal (SSR) just hit a stable release on angular-cli so it needs time to be widespread and supported in the ecosystem. The are core components like the i18n waiting for a major refactor because they lack basic features: https://github.com/angular/angular/issues/11405 https://github.com/angular/angular/issues/11405
- rogihee 9y agoI'm still working heavily with AngularJS (1) and in combination with components (1.5+), TypeScript and a MVVM approach it is very clean and productive. Even for all its flaws, it still very easy to start with in 10mins, include 1 lib in 1 line and "Hello World" is up and running. Compare that to the space ship Angular 2. They really made an outstanding effort to create a huge barrier of entry for anyone not having a degree in DevOps. I'm an old fart, I don't need your stinking CLI, Grunt, Gulp, NPM etc stuff. Compare that to Vue.js really shines in this regard with the same level of entry as AngularJS. For me that is part of what I thinks makes it a succes. When choosing a new framework I tend to not look for the future, but look in the past. I chose what was mainstream 2-3 years ago, which means right now still AngularJS for me. This means I'm a leecher on StackOverflow, but so be it. I have my own company and clients pay me for working applications, which means I have to choose my tools as efficient and effective as possible. By choosing last years model, it is less sexy but will get me from A to B with the same speed plus added reliability. At the same time I'm keeping a close look to Vue.js and if still going in the same direction next year as it is now, I will definitely switch to it.
- Strom 9y ago> I believe any developer not on Facebook's payroll still contributing to React or React native at this point has a moral obligation to stop. I've contributed to React before and will continue to do so. I haven't seen a single reason why not to. Just because React doesn't use your favorite license? Well this may shock you but I also use and help develop closed source software. In my view there is nothing morally wrong here. What's more, it's not even clear which morals you think I would be failing by continuing to contribute to React.
- jlrubin 9y ago> closed source That's not really the problem here. The problem is that by using React, even in a closed source context, you are potentially setting yourself up to not successfully make an IP claim against facebook, even for unrelated technologies.
- arnarbi 9y agoI don't understand that last sentence, could you rephrase please?
- Strom 9y agoNot being able to sue with patents is not something I give much value to. Software patents aren't even valid where I live and operate. They concern me only as far as USA has the will to have a global jurisdiction. However if Facebook wants to sue me for something ridiculous and has the USA government's global help, then Apache 2.0 license isn't going to save me, they will find something else.
- imtringued 9y agoYeah and that is exactly the problem with the license. You give up your right to sue facebook with ALL your patents while facebook only gives up the right to sue you with their REACT patent. We don't even know if there is such a thing as a "react patent".
- deleted 9y ago
- djsumdog 9y agoI agree. I also wonder, does the Patents section apply in New Zealand? They banned software patents at a central government level. Maybe we need groups who can push to lobby for legislation to remove software patents in more countries?
- IanKelling 9y ago> if a project's license is radioactive It's not a copyright license. It's a patent grant/license which is completely independent. This matters for several reasons, including when just saying "license", this usually means a copyright license. If this patent grant get's revoked, you are back to simply using the BSD license with no patent grant. I've read so many people say "you'd have to stop using react if you sued facebook", uh, no, you'd have a bsd license with no patent grant like you probably do with tons of other free software your company uses. Clearly, people should be complaining about that if they are complaining about this, but the misunderstanding and misinformation is really strong. If you believe software patents are universally bad, like many people including me, then it is clearly better using the MIT/BSD license alone, which gives you zero patent rights, you are simply infringing and waiting to be sued. I have no problem with it. https://www.gnu.org/philosophy/software-patents.en.html https://www.gnu.org/philosophy/software-patents.en.html.
- kevinflo 9y agoI've seen it pointed out before though that it would fall back to just the BSD license and others countered saying that was definitely not the case. It seems to be yet another fundamental thing about this that isn't clear or agreed upon at all. Still, your point is important and I hope people read it and consider it. Also by "license" I meant the "BSD + Patents license" as the Facebook writeup put it.
- delinka 9y ago"...definitely not the case." Citation needed, reasons required, etc. The patent license says nothing about terminating the BSD license. Neither refers to nor affects the other. Without a good legal argument, one must assume that the BSD license applies whether Facebook is being sued over a patent or not.
- allover 9y ago> I've seen it pointed out before though that it would fall back to just the BSD license and others countered saying that was definitely not the case Those others were wrong. Facebook have made this very clear in their FAQ [1]: > Does termination of the additional patent grant in the Facebook BSD+Patents license cause the copyright license to also terminate? > No. [1] https://code.facebook.com/pages/850928938376556 https://code.facebook.com/pages/850928938376556
- patrickaljord 9y agoHere's a list of companies using React: - Microsoft - Uber - Yahoo Mail - Dropbox - Airbnb - Netflix - NY Times If they're ok with the license, you probably shouldn't worry too much. Basically, if you don't own any patents or if your company is smaller than any of the above, you should be ok.
- throwaway13337 9y agoYou don't know that they weren't granted separate licensing deals. I assume they were. This license is likely to protect facebook against patent litigation that a startup might claim facebook is in violation of. It's not too hard to imagine a scenario where the next snapchat-like-startup is using react native. Facebook is then in a super leveraged position against them legally. Snap stories are now facebook stories, instagram stories, and whatsapp stories. It's not such a big leap that it'll happen again.
- jannotti 9y agoNo, if such a startup sued FB, then would end up being a legal user of React under the BSD license, which does not terminate.
- evgen 9y agoA more likely explanation is that these large orgs employ real lawyers who looked at the licence and grant and who then approved the use of react because they are professional lawyers who actually understand the legalities involved, unlike 99% of the commenters in this thread.
- Spivak 9y agoWhat's not to understand? If Facebook infringes on one of your software patents your choices are to rewrite your existing React code and sue them for damages or ignore it. Once your 'professional lawyer' agrees that the license is enforceable it's up to you to decide whether giving Facebook an effective grant of all your patents it worth it.
- madeofpalk 9y ago> We should be able to just use it, because it's open and that's what open means. You can. What's stopping you?
- christophilus 9y agoWe need to start promoting a single great alternative. My vote is Preact.
- logicallee 9y ago>but this is just awful. Everyone in this whole thread is saying the same thing. For anyone not up to speed, I found the following explanation of the issue (analysis of the license) very good and short: https://www.elcaminolegal.com/single-post/2016/10/04/Facebook-Reactjs-License https://www.elcaminolegal.com/single-post/2016/10/04/Faceboo... This lets you know why we have 300+ comments saying the same thing.
- stephenhuey 9y agoI'm with you. Check out Aurelia which is under the MIT license: http://aurelia.io/ http://aurelia.io/ I'm surprised at how many companies are willing to embrace frameworks that they believe come from Facebook and Google but are not truly backed by those companies. Aurelia has commercial backing and community contributors and a decent license.
- prewett 9y ago> any developer contributing ... has a moral obligation to stop Oh, come off it! If you went to some company and got a patent license, and then proceeded to sue that company for patent infringement on an unrelated patent, they would terminate your license. (That's what cross licensing prevents.) So FB is granting React users a patent license free. Why wouldn't they revoke the license if you were suing them? There's no difference from the normal state of affairs except the patent license is free. Now, if you are worried about FB infringing on your patents, it's wisest not to use React, but that's no different than licensing a patent from someone else.
- rothbardrand 9y agoI think a good principle is to never assume malicious intent, but never tolerate an abusive position either. So, Facebook, lets assume, isn't being malicious and genuinely feels this is the right approach to deal with what they consider to be "meritless" lawsuits... but at the same time, if this response-- genuine as it may be-- gives them abusive power, don't abide it. Similar principle for politicians-- never support Obama/Trump having a power you wouldn't want Trump/Obama wielding. For any aspect of power, assume the most abusive historical figure has it-- should they have it? IF not then don't grant it to even people you like.
- thecrazyone 9y agoThat would just lead to under-utilization (if that's the right phrase for it) of power. At most situations you might be assigning improbable risks to things. If you have a reason to believe someone is not going to abuse power, then giving them said power should be okay in real life Edit: May I add that you're swinging from one extreme to the other. Things need not be black/white. It's a fallacy all on its own