10 ms·
React Native and Yoga Both Given MIT Licence by Facebook
- givehimagun 9y agoPrediction - there will be a Harvard Business Review about Facebook's adventure with licensing. My unproven hypothesis is that they hurt their software's adoption rate because of their licensing. Personally, I believe MIT is correct. I had moved my company away from React when they had the licensing problems. To me, it feels like they are coming back to the community now.
- zitterbewegung 9y agoOf course it hurt their software adoption rate. You have very public spats by wordpress and apache over this. Think of people who couldn't convince their boss to use react / react-native because the legal department saw that PATENTS file and said NO WAY. I think they are making these moves because they see that they are going to be in a weaker position in the future and need to open their grip on these projects to make sure that other people will use it. Its probably too late though and people are moving off of it to the next javascript framework.
- zapita 9y ago> Its probably too late though and people are moving off of it to the next javascript framework. But is there a viable alternative with the same level of features and ecosystem momentum? GraphQL and React Native, in particular, seem well positioned to dominate their respective niches. That gives React a big advantage, which might counteract the licensing issues, no?
- zitterbewegung 9y agoIf that were true then why are they changing the licence at all? They have tooling and are well positioned but what they need is big players to also back them so that people are more incentive to buy in. That is where moving the licence to MIT makes sense.
- zapita 9y agoI think we are saying the same thing. Which part of what I said do you disagree with?
- pbalau 9y agoTo buy in for what? If literally everybody apart Facebook stops using React, the project will still go on because it powers a shitload of FB properties.
- SOLAR_FIELDS 9y agoBut then they wouldn't get the free labor of the community.
- irrational 9y ago>But is there a viable alternative with the same level of features and ecosystem momentum? Does it matter? At some point something else will come along and React will go the way of jQuery. And then something else will come along and supplant whatever supplanted React.
- qaq 9y agoYes because if I need to build something right now it does not really help me that there will be something in the future to replace React.
- mwcampbell 9y agoWhat's the next JavaScript framework for non-web mobile apps though?
- purerandomness 9y agoOh, it's 2018, nobody uses React Native anymore. We're using Weex [1] or NativeScript [2] now. [1] https://weex.incubator.apache.org/ https://weex.incubator.apache.org/ [2] https://www.nativescript.org/ https://www.nativescript.org/
- parmesan 9y ago/s? React Native seems to be the only alternative to native apps as of today. Googles Flutter might be a viable alternative if they don't drop it, but it's far from production ready..
- mlsarecmg 9y agoYou mean, you do that? I don't get it otherwise. http://www.npmtrends.com/react-native-vs-weex-toolkit http://www.npmtrends.com/react-native-vs-weex-toolkit Native is hard, React needed years to get it even nearly right, and it did that with the community's backing. At this point RN features dozens of renderers outside of the mobile space, with some of them made by the very vendors that sell their platforms (for instance Microsofts react-native-windows). A couple of them here: https://pbs.twimg.com/media/DUF19IlXcAE2UC6.jpg:large https://pbs.twimg.com/media/DUF19IlXcAE2UC6.jpg:large Can't imagine why anyone would willingly want to wait another 4-5 years until Weex is where RN is today.
- worg 9y agoYou mind sharing the list on https://pbs.twimg.com/media/DUF19IlXcAE2UC6.jpg:large https://pbs.twimg.com/media/DUF19IlXcAE2UC6.jpg:large ?
- mwcampbell 9y agoIt also irks me that that list was shared as an image. For me, it's just an inconvenience. For others, it's an accessibility problem, at least until OCR is 100% accurate. Anyway, here's the list (I tested all the URLs): Windows: https://github.com/Microsoft/react-native-windows https://github.com/Microsoft/react-native-windows macOS: https://github.com/ptmt/react-native-macos https://github.com/ptmt/react-native-macos Linux (Qt): https://github.com/status-im/react-native-desktop https://github.com/status-im/react-native-desktop AR: https://github.com/HippoAR/react-native-arkit https://github.com/HippoAR/react-native-arkit VR: https://facebook.github.io/react-vr/ https://facebook.github.io/react-vr/ TV: https://github.com/react-tv/react-tv https://github.com/react-tv/react-tv Shell consoles: https://github.com/Yomguithereal/react-blessed https://github.com/Yomguithereal/react-blessed Word: https://github.com/nitin42/redocx https://github.com/nitin42/redocx PDF: https://github.com/diegomura/react-pdf https://github.com/diegomura/react-pdf 3D: https://github.com/Izzimach/react-three https://github.com/Izzimach/react-three Sketch app: http://airbnb.io/react-sketchapp/ http://airbnb.io/react-sketchapp/ Keynote: https://twitter.com/nishb1/status/913744410537537536 https://twitter.com/nishb1/status/913744410537537536 Hardware: https://github.com/iamdustan/react-hardware https://github.com/iamdustan/react-hardware Samplers: https://twitter.com/GabeRicard/status/911989894267973633 https://twitter.com/GabeRicard/status/911989894267973633
- tomelders 9y agoThe irony being that the Apache license has an identical clause.
- thanksgiving 9y agoIs it identical though? My understanding was that Facebook license preserves Facebook's right to sure you for patent infringement but prohibits you from suing Facebook (and more importantly anyone Facebook designates as its minion) for patent infringement. So your patent portfolio is worthless if you want to use Facebook software because I'd imagine anyone can appeal Facebook for patronage? I thought it was a good thing personally because patent lawsuits are a waste of everyone's time but apparently enough people disagree. Not that I know anything. Sorry for rambling. Point is I want to ask the question: are they (practically) identical?
- dbmikus 9y agoThe Apache patent grant and retaliation clause says that if you issue a lawsuit alleging that the licensed software infringes on a patent, then you lose your patent grant to that software. The old Facebook license said that if you issue a patent lawsuit against Facebook, you lose the license to the software. That is in addition to the retaliation clause about the software itself. So if you are using any OSS from Facebook, and then Facebook comes in and infringes on some unrelated patent you own, you need to stop using that software before suing or you just don't sue.
- schrep 9y agoActually we just thought it was a shame that people wouldn’t use it because of the license. Not much more complicated than that.
- akie 9y agoSomeone on Reddit argued that the new legal situation is worse because the PATENTS clause provided protection against litigation unless you sued Facebook first. Licensing under MIT, s/he argued, theoretically opens you up to litigation at any time IF Facebook decides to enforce any patents. So I was wondering: as far as you know, does Facebook have any patents on React or React Native?
- ngrilly 9y agoSome lawyers think the language used in the MIT license implies a patent grant limited to the use of the licensed software. They think it would be difficult for the licensor to give a license on the software from one hand, and claim a patent infringement on the same software from the other hand, but as far as I know, this was never tested in court.
- ballenf 9y agoNot to mention the question that the older language had a perpetual patent license for anyone using the software (subject to termination under the now much-discussed rare circumstance of suing FB). So long as you were using the software under those conditions, it would be an interesting argument for how that patent license could now be unilaterally rescinded. (The new license doesn't say anything about it.)
- hultner 9y agoI believe there charges shows not only well intention but also that Facebook actually cares about and listens to the community, which in the long term is many times more valuable for the ecosystem then this particular change in itself. Great work!
- JoshMnem 9y ago
- matte_black 9y agoAnd what is this next JavaScript framework?
- okanesen 9y agoI think next in this case was meant like any other framework (Vue or Angular with NativeScript) which is available and doesn't have the license issue, which React had.
- matte_black 9y agoExcept now React doesn’t have a license issue, so they took a step backward for nothing. Heads must be rolling.
- milcron 9y agoWait, they're getting rid of the patents grant?
- dikaiosune 9y agoSome are of the opinion that MIT includes an implicit patent grant/license. Googling around I don't see many references to support this, but there are a few: * http://en.swpat.org/wiki/Implicit_patent_licence * https://en.wikipedia.org/wiki/MIT_License#Relation_to_Patents Regardless of armchair and/or professional legal opinions, I don't believe this has been tested in court in the US at least.
- DannyBee 9y ago1. Actually, pretty much any serious patent licensing lawyer believes there is a grant (either explicit or implicit), because there is tons and tons and tons of caselaw on implicit patent grants (and the related principles of exhaustion), and while they don't include the word "software", the circumstances are otherwise identical. The others are mostly unable to admit it due to their client lists. The number of lawyers i know who actually disagree in practice, and seriously believe it, is zero. A significant number even believe there is an explicit grant. That's because MIT explicitly does not mention copyright, so it may not even need an implied license. it just says "to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so"" IE it says "whatever rights you need to use, copy, modify, blah blah blah, you get those". Other licenses explicitly identify copyright rights, etc. You'd be super hard-pressed to argue this is trying to talk about only copyright (meaning it's not even an implicit grant, but an explicit one). 2. As mentioned, it has been well tested in pretty much every other respect, just not for free software. IE people giving stuff away, even under licensing agreements, even for free other things, other things under free for use license grants, etc Like you can't actually find a case that doesn't find an implied license in the standard MIT license kind of circumstances. That said, implied licenses do suck, and are limited in various ways.
- tmwed 9y agosay what you will about Facebook, this is a huge gift.
- TAForObvReasons 9y agoThis was going to end in one of two ways: either the Facebook source-available projects would switch to a community-approved license OR the community would migrate to something else like the VueJS ecosystem. And between those two, FB definitely benefits more from being the stewards of technologies that people will continue to use.
- vuln 9y agoPeople are addicted to using. With no real production.
- nsfmc 9y agoi think the point is that all react-likes were (with high probability) infringing on at least one of facebook's patents. People were free to move to vue or whatever, but licensing wouldn't have mattered because they would still have been infringing on a software patent that didn't belong to them and that they hadn't licensed. the closest comparison i can think of is like the mp3 patent situation. Up until this year you were free to use LAME non-commercially even though its technology was covered by patents held by fraunhoffer & thomson. even though vue's api is different from react's in lots of significant ways, it's not really clear that vue doesn't infringe on some of facebook's patents anyway (at least i don't know what the patents are) but the impression you get from reading every single post by an ex-fb (or current) employee is that using other react-like library put you in a similar legal situation as commercial users of LAME: while it was highly unlikely that facebook would take any action against your hackathon heroku app, it was never clear that any of those libraries (or their users) were free of actual risk. At least users of react were assured they weren't going to be sued regarding any of those vdom patents held by facebook.
- brian_herman 9y agoWhat is yoga?
- pipeep 9y agoThe flexbox implementation that react native uses for layout.
- vjeux 9y agoYoga just got a brand new website with a flexbox playground if you are interested: https://yogalayout.com https://yogalayout.com
- thijser 9y agoIt has quite strong adoption already: YouTube, Facebook's own apps of course, Airbnb, Amazon. See https://www.appbrain.com/stats/libraries/details/yoga/yoga https://www.appbrain.com/stats/libraries/details/yoga/yoga for more details (I'm one of appbrain's developers).
- SiVal 9y agoTL;DR: As far as I can tell, the news here is that Facebook is doing for React Native (& Yoga) what they recently did for React itself. In other words, in the past choosing React for crucial infrastructure put you in position where even if Facebook infringed on your IP, you could not sue them without losing the legal right to use React, potentially crippling your company. So, either use React and create an IP vulnerability with respect to Facebook or don't use React. Facebook changed that licensing policy for React to a more common license. You could now sue Facebook over some IP issue without losing the right to use React. Facebook could still sue you, of course, but so could any other company. Using React no longer increased your vulnerability with respect to IP or lawsuits pertaining to Facebook. But Facebook only removed the (claimed) vulnerability-causing license provision for React, leaving it in place for React Native. And today, they are announcing its removal from React Native as well. Thank you, Facebook.
- ftoo 9y agoThat last paragraph is the very definition of Stockholm Syndrome. Facebook is an $0.5T company built on open source. Without open source, Facebook would not have been possible.
- sillysaurus3 9y agoThis is correct, for what it's worth.
- btgeekboy 9y agoYou’re not wrong, but it seems more appropriate to applaud desired behavior (positive reinforcement) than to continue to be bitter about past undesirable behavior.
- Lazare 9y ago> In other words, in the past choosing React for crucial infrastructure put you in position where even if Facebook infringed on your IP, you could not sue them without losing the legal right to use React It hardly matters now, but as gets pointed out every time this gets brought up, this is quite false. You would lose the legal right to use any patents which Facebook might (or might not!) have on React. You did not lose the seperate BSD license on the actual code with grants you your license to "use react". > Using React no longer increased your vulnerability with respect to IP or lawsuits pertaining to Facebook. That's highly debatable. If Facebook does have patents on React (and it is believed they do), then using React, or any technology that uses the same underlying technology does, in fact, increase your vulnerability to IP disputes and lawsuits from Facebook. :) The implicit patent grant in the MIT/BSD license will help, but so did the (now removed) explicit patent grant, so it's hardly clear this is a win on net. The situation has never been as simple as people seem to wish it was. Software patents are an enormous and (so far) unsolved burden on our industry. At least if you're in countries where they are enforcable (and given the nature of the global legal system, probably even if you aren't).
- bschwindHN 9y agoNeat! Yoga is a great library, I wrote Rust bindings for it: https://github.com/bschwind/yoga-rs?files=1 https://github.com/bschwind/yoga-rs?files=1 I eventually want a React Native esque framework but written in Rust instead of JS. Still a ways away though, I don't have much time to work on it.
- seanmcdirmid 9y agoWhat would be the point of having React Native for Rust if Rust itself is already native? Having a DOM API available in Rust?
- bschwindHN 9y agoThe goal would be a higher amount of code sharing and perhaps a more consistent way to organize data and logic across platforms. React Native runs a JS VM in a separate thread and communicates to the native platform code (Java and objective c) to tell it where to draw things. The native code then passes things like touch events back to the JS thread. I want to replace the JS thread with native code to hopefully increase performance and gain advantages from Rust such as its nice type system and the Cargo ecosystem. I have a proof of concept running Tokio and Serde to talk back and forth on Android between Java and Rust but it doesn't do much yet. Needs a lot more time to get anything serious going.
- ch0wn 9y agoThat sounds super cool! I was looking into writing Rust bindings to Yoga myself but then saw your library. I'd love to read a post about what you're doing once you've made sufficient progress with it.
- bschwindHN 9y agoYeah I should probably write a post to get more of the concrete ideas out there, I'm afraid I don't have enough time to work on it right now. However, another contributor to my repo is doing some interesting work with Yoga here (though it's not quite related to cross-platform mobile apps): https://github.com/victorporof?tab=repositories https://github.com/victorporof?tab=repositories I say "contributor" but he's basically the one doing the heavy lifting on the bindings lately
- Waterluvian 9y agoAre licenses retroactive? If I used a version of React that was BSD, deployed it into a bundle.js and never touched it again, did I at one point have an agreement with a BSD + Patents, and now an MIT license?
- mbreese 9y agoNo. You’d have to re-download/deploy it. IANAL
- anonytrary 9y agoIt's ironic how one can hold utmost respect for Facebook's libraries, but be vehemently against the actual Facebook web application and their business practices.
- sghiassy 9y agoagreed - that sentiment carries to all of us software-engineers working in the Silicon Valley Peninsula.
- y03a 9y agoAre you sure this move isn't just a business practice we're all too stupid to realize we should be against? I'm not. I'm not touching it. Maybe if it goes GPL.
- bsimpson 9y agoCommunity: All this FUD about your library licensing scares me. FB: OK, we'll remove the part all the FUD is about. This guy: Here's some entirely baseless FUD to replace the FUD you removed.
- raquo 9y agoIt's not at all different from loving music written by drug addicts whom you wouldn't want as friends. Software developers are people too.
- Moter8 9y agoI like the analogy. Sorta offtopic, but I was thinking about how morally falsy it is to buy albums of those artists, because well, most likely a big part of the revenue will be spent on drugs and on continuing that lifestyle.
- true_religion 9y agoJust because you don't like something doesn't mean you think it is immoral. For example, many people against Facebook simply want to be in better control of their online identities, and have privacy. I am in this boat. I don't think Facebook is 'evil', or sharing my data with 3rd parties is a 'sin'; I just think society would be better off if privacy of this kind were more strongly controlled by individual choice, rather than the whim of a corporation.
- zebraflask 9y agoI'm not surprised, React Native doesn't work nearly as well as you'd think. This is basically a piece of software you'd have to give away (IMHO).
- sghiassy 9y agoI had the experience of taking React Native to production in an Enterprise-level environment once. My team first experimenting with RN on 0.8.0. What I found impressive was that some of the experimental code we wrote in RN proved stable enough, that it was still the same on production level builds using RN version 15.x eighteen-months later. I'm not saying RN is THE solution, but I for one would stand to vouch for it for both top-quality UI output but also for ease of development. That being said, there's so much cross-platform work going on, who knows where the industry will be years 2 years from now.
- tomduncalf 9y agoIn my experience, this is completely wrong. We recently shipped a music making app which uses React Native for the UI, which is visually fairly rich and non-standard, including real-time rendering of shaders at 60fps responding to user input using gl-react-native and regl, and overall have been very pleased with the speed at which React Native allows you to iterate and the polish/smoothness of the resulting app; not to mention the fact that it allows us to easily make use of web developers’ existing CSS skills (as compared to writing a native app). The fairly straightforward bridging between React Native and native code has allowed us to have an audio engine running in C++ and to communicate with it in both directions in real-time without significant overhead. That’s not to say it’s been 100% straightforward, there were definitely a few rough patches along the way, but overall I would definitely use it again. I can easily believe that e.g. 18 months ago it may have been a much rougher experience which may explain your thoughts though!
- zebraflask 9y agoAn audio engine in C++?
- 9y ago
- deleted 9y ago[deleted]
- l2dy 9y agoosquery was also relicensed (to Apache 2.0 and GPLv2) in https://github.com/facebook/osquery/pull/4007 https://github.com/facebook/osquery/pull/4007.
- tomxor 9y agoDoes MIT encompass BSD? If it doesn't then surely they can't just re-license code that was contributed by others without their permission. I'm not fundamentally against this and I doubt anyone cares in practice, it just doesn't seem right in terms of the contributor's rights.
- simonlc 9y agoIf you contribute to fb open source you need to sign a CLA: https://code.facebook.com/cla/individual https://code.facebook.com/cla/individual
- deleted 9y ago[deleted]