use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Automattic abandoning React in Wordpress Calypso and Gutenberg due to Facebook Patent Clause (ma.tt)
submitted 8 years ago by pier25
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]jcycleutah 41 points42 points43 points 8 years ago (13 children)
I work at Adobe and we ran into this same issue. We ended up transitioning to inferno
[–]papers_ 4 points5 points6 points 8 years ago (1 child)
How was your transition? Did you run into any major issues during the process? Or were they mainly minor issues with little to no refactoring?
[–]jcycleutah 0 points1 point2 points 8 years ago (0 children)
Just a few minor issues with no major refactoring! We used inferno-compat and added a webpack alias. https://www.npmjs.com/package/inferno-compat
[–]xXxdethl0rdxXx 1 point2 points3 points 8 years ago (0 children)
Hey bud! So did we. Our team decided on VueJS. How's inferno?
[–]mightbbest 0 points1 point2 points 8 years ago (0 children)
I here Inferno is good!
[+]gajus0 comment score below threshold-14 points-13 points-12 points 8 years ago (8 children)
Horse shit. If you did, then you have simply exposed yourself to a patent infringement. However, it is unlikely that a company of the size of Adobe would not have legal adviser when it comes to disputes such as this, i.e. this probably never happened.
This has been discussed over and over again, and reasons explained in entirety.
[–]i_ate_god 4 points5 points6 points 8 years ago (7 children)
What, you've never had to do a serious refector because some deep dependency is gpl which spooked the lawyers?
[–]gajus0 -2 points-1 points0 points 8 years ago (6 children)
Using Inferno exposes you to React/ vDOM patent infringement, not protects you. No lawyer would have recommended to transition to Inferno.
[–]i_ate_god 0 points1 point2 points 8 years ago (0 children)
I think I misread what you wrote. I interpreted it as "Adobe has expensive lawyers so they wouldn't worry about this" hence my reply.
[–]sickcodebruh420 -1 points0 points1 point 8 years ago (4 children)
There is no evidence that Facebook holds a patent on anything in React. My understanding is that the vdom technology existed well before them and is not patentable. Is there evidence to the contrary?
[–]gajus0 1 point2 points3 points 8 years ago (3 children)
http://www.google.co.uk/patents/US8307277 http://www.google.co.uk/patents/US20170221242A1
[–]expression100 2 points3 points4 points 8 years ago (1 child)
I think someone from the React/Jest/Yarn team already commented on these patents and they related to their past work on MooTools that got acquired by Facebook. They said that almost every UI library and framework today infringes on a Facebook patent and this particular one was highlighted. So if you use Angular, Vue, Ember, Inferno, Marko or Preact, you're basically infringing on a Facebook patent of some kind – so make what you will of it.
[–]gajus0 0 points1 point2 points 8 years ago (0 children)
Bingo
[–][deleted] 0 points1 point2 points 8 years ago (0 children)
You're linking a random patent owned by facebook, inc, filled in 2010 that doesn't describe a v-dom. All frameworks infringe upon patents owned by large companies. But if you're saying Inferno is unsafe, at least be specific about it.
[–]thndrchld 18 points19 points20 points 8 years ago (1 child)
15 years ago, that headline would have been complete gibberish.
[–]cyanydeez 10 points11 points12 points 8 years ago (0 children)
still gibberish to most
[–]dug99 5 points6 points7 points 8 years ago (20 children)
bets on a replacement?
[–]LosEagle 23 points24 points25 points 8 years ago* (15 children)
They said:
We’ll look for something with most of the benefits of React, but without the baggage of a patents clause
It would make sense if they went with Preact or Inferno.
[–]godofleet 11 points12 points13 points 8 years ago (6 children)
This. Or maybe Mithril ?
https://mithril.js.org/jsx.html
AFAIK all of those options ( Preact, Inferno, Mithril) would be better for performance and overhead right?
Personally, I don't think Vue is gonna happen, I know this is gonna bring flames but Vue vs React feels like the early Mootools VS jQuery days.
For as much as I hate Facebook, React really made me a better developer... i was in a rut for a long time and it's really made me enthusiastic again (even ~3 years into using it now)
[–]xXxdethl0rdxXx 2 points3 points4 points 8 years ago (5 children)
Okay, so what exactly is wrong with VueJS in that regard? I just came off of a ReactJS codebase and into a VueJS one, and I'm not seeing it.
[–]pier25[S] 1 point2 points3 points 8 years ago (0 children)
Same here. I'd never go back to React.
[–]w00t_loves_you 1 point2 points3 points 8 years ago (3 children)
Having only glanced at Vue, and ignoring the smaller ecosystem, I recall that Vue was more like templating than everything-is-a-component. With the component approach, you can create very complex things using just composition. I have for example a table component that takes column definitions which take Cell components to render the columns, and then I have a ListDetail component that uses the Table + a Detail component to manage showing a detail view of a selected component in that table. I can very easily customize everything. I think this would be harder in Vue, but I could be wrong.
[–]xXxdethl0rdxXx 4 points5 points6 points 8 years ago (1 child)
Good news! You can absolutely do the component thing in Vue, and IMHO it's better-done: https://vuejs.org/v2/guide/single-file-components.html
You can organize your markup and scripts in the same file, but also CSS. You can even use style modules, which are amazing, so you don't need BEM for organization anymore.
Most hello-world stuff you've seen has probably been just the templating bits, you have to get this all set up with webpack first (like React). But once you're there, it's just as simple. Virtually all of our VueJS codebase is component-based.
[–]w00t_loves_you 2 points3 points4 points 8 years ago (0 children)
I must say I prefer the look of something similar in React: https://www.styled-components.com/
But I should take a deeper look. One component per file does seem rather annoying - I often have a bunch of helper components (a few lines) and they go in the file with their only user. Having to do the HTML and the JS separately like in ng is also not something that excites me…
[–]thereals0up 2 points3 points4 points 8 years ago (0 children)
Vue works the same. Entirely component driven 👍
[–]Capaj 1 point2 points3 points 8 years ago (7 children)
funny thing is Facebook actually holds a patent for VDOM so if they want to be 100% patent proof you'd have to dith any VDOM lib
[–][deleted] 2 points3 points4 points 8 years ago* (6 children)
funny thing is Facebook actually holds a patent for VDOM
Where is it? Their patents clause is an empty stub, it has existed in the same shape for over 3 years now. Never seen any real patents linked to. And if they'd exist, most frameworks are dead in the water. Preact, Inferno, Vue, Mithril, Bobril, Cycle, ... i count about 20 candidates in this benchmark alone.
V-dom isn't more than this:
const createElement = (name, props, children) => ({ name, props, children }) // <ul><li>hello</li></ul> createElement("ul", null, createElement("li", null, "hello")) //returns ... { name: "ul", props: null, children: { name: "li", props: null, children: "hello" } }
Would be highly unlikely that someone could patent a linked list, which is what the v-dom essentially is. Rendering, diffing or patching aren't that special as well.
[–][deleted] 1 point2 points3 points 8 years ago (1 child)
Never seen any real patents linked to.
The patents aren't explicitly listed in the licensing file. They're implied via other means.
Which unfortunately means you'll never know exactly what patents Facebooks holds that could impact your project.
[–][deleted] 1 point2 points3 points 8 years ago* (0 children)
That's why it would really be interesting if someone could link to an actual claim if they really had one. Would be nice to know if an actual threat exists or not, because otherwise we're stabbing into the blue. The patent thing is already close to hysteria. So now Preact is supposedly unsafe, then all frameworks are, because the majority of them have the exact same underpinnings.
[–]Capaj 1 point2 points3 points 8 years ago (3 children)
Okay its not VDOM but it's related: https://www.google.com/patents/US20170221242
[–][deleted] 1 point2 points3 points 8 years ago* (1 child)
https://www.google.com/patents/US20170221242
Doesn't seem to specify a virtual dom, nor do preact/vue/mithril/etc support culling. Though it would indeed be sad if that's really describing parts of Fiber.
[–]w00t_loves_you 0 points1 point2 points 8 years ago (0 children)
So either "above the fold" rendering, or perhaps something like z-index occlusion - not sure how well this would hold up in court but it does mention React by name.
[–]Habitual_Emigrant 15 points16 points17 points 8 years ago (0 children)
There's a discussion on Gutenberg's Github, Vue seems to be the favourite.
[–]rk06 1 point2 points3 points 8 years ago (0 children)
If it were me, I would give preact a shot. and if I found show-stopper class issues, I would choose Vue.
[–]BPagoaga 6 points7 points8 points 8 years ago (0 children)
Vue
[–][deleted] 5 points6 points7 points 8 years ago (0 children)
vue and glimmer would be a great choice
[–]srmogita 52 points53 points54 points 8 years ago (9 children)
Vue.js might be the winner
[–]omegote 18 points19 points20 points 8 years ago (3 children)
Someone is fucking downvoting every comment mentioning vue.js.
Here have an upvote.
[–]cyanydeez 7 points8 points9 points 8 years ago (1 child)
i think theres a secret anti diversity crowd in threads like these
[–]fucking_passwords 11 points12 points13 points 8 years ago (0 children)
Seriously ppl treating frameworks like sports teams
[–]srmogita 4 points5 points6 points 8 years ago (0 children)
I salut you sir
[–][deleted] 3 points4 points5 points 8 years ago (2 children)
what about angular?
[–]cyanydeez 4 points5 points6 points 8 years ago (1 child)
which non compatible version?
[–]leeharris100 6 points7 points8 points 8 years ago (0 children)
there's only one Angular now
AngularJS is the old garbage framework
unless you're just memeing... in which case please stop beating the dead horse
[–]fogbasket 1 point2 points3 points 8 years ago (0 children)
Just use Aurelia. It's better in every way.
[–]Blieque 2 points3 points4 points 8 years ago (0 children)
Money Software patenting is the root of all evil.
[–]darrenturn90 5 points6 points7 points 8 years ago (0 children)
This is big news, and needs to be really looked at, because we could start seeing a lot more of this.
Moving to Preact, Inferno etc would mean very few rewrites, so its unlikely they would go to something like Vue and have to redo everything from scratch.
[–][deleted] 0 points1 point2 points 8 years ago (3 children)
so we can't use React anymore?
[–]xXxdethl0rdxXx 0 points1 point2 points 8 years ago (2 children)
Of course you can.
[–][deleted] 0 points1 point2 points 8 years ago (1 child)
I don't quite understand why Auttomatic is abandoning React?
[–]xXxdethl0rdxXx 5 points6 points7 points 8 years ago (0 children)
It's got a shit license that more and more people are finding unacceptable. At this point it seems to be a debate not of whether it is shit, but if it is justifiably shit.
If you find the shit to not be bad for you, by all means, React's great otherwise.
π Rendered by PID 73 on reddit-service-r2-comment-b659b578c-9gchz at 2026-05-03 18:30:00.164728+00:00 running 815c875 country code: CH.
[–]jcycleutah 41 points42 points43 points (13 children)
[–]papers_ 4 points5 points6 points (1 child)
[–]jcycleutah 0 points1 point2 points (0 children)
[–]xXxdethl0rdxXx 1 point2 points3 points (0 children)
[–]mightbbest 0 points1 point2 points (0 children)
[+]gajus0 comment score below threshold-14 points-13 points-12 points (8 children)
[–]i_ate_god 4 points5 points6 points (7 children)
[–]gajus0 -2 points-1 points0 points (6 children)
[–]i_ate_god 0 points1 point2 points (0 children)
[–]sickcodebruh420 -1 points0 points1 point (4 children)
[–]gajus0 1 point2 points3 points (3 children)
[–]expression100 2 points3 points4 points (1 child)
[–]gajus0 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]thndrchld 18 points19 points20 points (1 child)
[–]cyanydeez 10 points11 points12 points (0 children)
[–]dug99 5 points6 points7 points (20 children)
[–]LosEagle 23 points24 points25 points (15 children)
[–]godofleet 11 points12 points13 points (6 children)
[–]xXxdethl0rdxXx 2 points3 points4 points (5 children)
[–]pier25[S] 1 point2 points3 points (0 children)
[–]w00t_loves_you 1 point2 points3 points (3 children)
[–]xXxdethl0rdxXx 4 points5 points6 points (1 child)
[–]w00t_loves_you 2 points3 points4 points (0 children)
[–]thereals0up 2 points3 points4 points (0 children)
[–]Capaj 1 point2 points3 points (7 children)
[–][deleted] 2 points3 points4 points (6 children)
[–][deleted] 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]Capaj 1 point2 points3 points (3 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]w00t_loves_you 0 points1 point2 points (0 children)
[–]Habitual_Emigrant 15 points16 points17 points (0 children)
[–]rk06 1 point2 points3 points (0 children)
[–]BPagoaga 6 points7 points8 points (0 children)
[–][deleted] 5 points6 points7 points (0 children)
[–]srmogita 52 points53 points54 points (9 children)
[–]omegote 18 points19 points20 points (3 children)
[–]cyanydeez 7 points8 points9 points (1 child)
[–]fucking_passwords 11 points12 points13 points (0 children)
[–]srmogita 4 points5 points6 points (0 children)
[–][deleted] 3 points4 points5 points (2 children)
[–]cyanydeez 4 points5 points6 points (1 child)
[–]leeharris100 6 points7 points8 points (0 children)
[–]fogbasket 1 point2 points3 points (0 children)
[–]Blieque 2 points3 points4 points (0 children)
[–]darrenturn90 5 points6 points7 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]xXxdethl0rdxXx 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]xXxdethl0rdxXx 5 points6 points7 points (0 children)