That makes sense in your case. For most people building apps, it’s probably little cause for concern.
The license is better now than it used to be.
Software patents, at this point, don’t really hold much weight and it seems it’s trending towards holding less and less weight. That coupled with the fact they’ve really pushed this stuff in a “open source” fashion, are all going to make it very hard for them to actually hold a patent against you.
That and the chance your startup gets big enough for facebook to actually care is basically 1 in 100k+
The problem isn’t just in the license wording, it’s in the intent.
It was indeed much more restrictive, and FB loosened it a bit. But they didn’t loosen it completely. That’s a conscious choice.
- If you are releasing it to the world as real open source, then you are a team player and looking to share with the community.
- If you are releasing it while holding the wheel firmly, then we have to trust you to use your stuff.
Imagine this scenario: the license changes (wouldn’t be the first time) and becomes less permissive. What happens then? It’s not retroactive so your current code is Ok. But you are out of luck for the future. Other open source licenses prevent that, but React’s license does not. Again, intentionally.
This is definitely something to worry about, thanks for pointing it out tidee. Check with your legal team. It may not be a problem for your startup now, but it may become a problem later when you’re potentially being purchased, or your revenue grows out of insignificance. A few minutes of effort now can save you hundreds of hours later when you realize you literally need to rewrite your entire application to not use React. Is that a risk you want to take? That’s for everyone to decide individually,
Some nice React alternatives, all of which work conceptually similar to React, in no specific order at all:
- Mercury (built on top of virtual-dom)
- virtual-dom (just the V in MVC, build the M and C yourself)
- Cycle.js (expands on top of virtual-dom)
- incremental-dom (like virtual-dom, but by Google)
Note: a couple of these (Mercury and Deku) have options for using JSX to compile JSX-syntax into to the functional form that the library uses, so be careful there. I’m not sure how the React patent license applies to JSX.
So far, of all the options, Riot.js is the only alternative that uses DocumentFragments (read this to see how using DocFrags makes things fast), which make me believe Riot.js may have thought deeper about performance: creating a DOM tree in the live
document can cause extra things like rendering to happen. Manipulating DOM in a DocumentFragment prevents extra things like that from happening until the DocumentFragment is attached to the live DOM. I haven’t done any actual performance testing though.
In various places around the web, Mercury shows the fastest performance. It’d be nice to add some of the other alternatives to those tests.
AirBnB seems not to be worrying much about it…
These are interesting slides from AirBnB about their system design: http://www.slideshare.net/spikebrehm/the-evolution-of-airbnbs-frontend
They have tried different technologies and switched often. Seems like they are innovative and nimble. My take is that they had a current problem to solve, and React solved it well today. Tomorrow they might switch to something else.
Do you have their resources to be nimble and switch often?
Again, it’s a business choice. The point is we can’t paint a rosy picture and say all is well. There are risks to consider.
PS: They are using React as they like the data flow (slides 20 - 21)
Hey all, updated the alternatives list.
Two more questions to be fully rational about all this.
1/ What do the others do ? I’ve read a comment saying “what if Facebook decides to change the conditions” ? Hey, what if Apple decides to change the conditions ? What if they decide to make all the things you do on a Mac their own property ? Its just paranoia.
Then 2/ : why targeting React now ? Is that related to the recent certainty that React is here to last, that it recently became more starred on Github than, say, JQuery ? That Google prepares transition for Angular ? That some companies would take benefit from Facebook weakness ? That also is paranoia. Just pick your favorite one.
Exactly. If the conditions are changed to be super restrictive, then it only matters for future software. Laws are only applied retroactively in the positive, not the negative. So start building stuff now before there’s some restriction and you’ll be fine.
Also, there’s an entire thing in law about reasonableness. If Facebook tries to say all React-based software is theirs just because it’s React, that won’t hold up in court. You can’t just stick a clause in that says we own you if you agree.
Note: I’m not a lawyer, I just took a couple classes (Intro, Personal Injury, Copyright and IP)
If the license changes, the previous one(s) only applies to prior versions. If you decide to use newer versions, you have to accept the new license or switch out.
Thought I would clarify this point so it’s not misinterpreted as meaning previous licenses apply forwardly.
This forum started talking about React seriously very recently, and only after MDG signalled a shift. A lot of what is said here is known by the community at large, but is only being discussed here for the first time.
Your argument about Apple changing license etc. is not valid, sorry to say. See my post above about ‘intent’. Apple is a commercial license, with clear intent to make money off your purchase of that license and any product you develop. This is intent / interest. And Apple has a reputation in how they deal with their licenses.
Facebook is in a whole different category. They neither have the interest / intent nor the reputation in keeping this relationship the way it’s going.
Point is, companies need to think about these things in advance.
As for the stars comment about React:
Angular has more stars. Let’s all shift to Angular as we use stars us our metric on what technology to use.
Apollo => GraphQL => fb patent.
There’s no escaping this
I think the react-patent-fear-mongering is way over done. If Yahoo, Netflex and AirBnB aren’t concerned— all companies who are in VERY serious competition with Facebook and would have a lot to loose if facebook tried to commander their companies because they use react (which no court would ever uphold anyway)-- then you and your soon-to-fail meteor MVP should be okay (‘you’ directed at general public, not you specifically ramez).
Here is a list of companies who “thought about it in advance” and don’t seem to be losing much sleep over it:
- ML Frontend - provides dataset management, and SVM fitting/prediction through web-based, and programmatic interfaces.
- cNow - Joshua Gollaher’s Chat App
- haoduoshipin - Web Dev Videos by happypeter
- 1stdibs - Online marketplace for antique furniture, jewelry, fashion, and fine art
- 51VISA - Online visa application service
- 6play - Video site for the “M6” french TV channel
- AdRoll - AdRoll Prospecting UI, component library
- Afterclasse - Educational website for french students
- Amaze UI (in Chinese)
- Angie’s List
- Ant Design
- Appointment Reminder
- ARTE - Video site for the ARTE french/german TV channel
- BigDecisions - Used React+Flux for calculators.
- BilletFix - Simple ticket management system
- Bloom Perfumery
- Branch Metrics Using React + Sprint
- BuyerZone BuyerZone’s core Request for Quote application is using ReactJS and Redux
- Capital One/LevelMoney
- Century 21 Asten
- Change Politics
- Commission Junction
- Chloi Inc
- ClearStory Data
- Crisis Text Line
- China Telecom Cloud
- crontab.guru - Editor for cron schedules
- Debitoor Studio for Accountants
- Dfyoo - 笛风假期
- EF Educational Tours
- Electric Cloud
- ENCODE - Encyclopedia of DNA Elements (source code)
- EP Newshub - European Parliament real time news aggregator
- Eten Canarias
- Everplans Web App
- Expedia - Expedia Viewfinder Application
- Fontenelle Forest
- Frinkiac - Simpsons’ quote search engine
- Free Code Camp
- FSB.de - Search UI
- Glip Mobile
- Happy Fresh “Online Grocery in 1 Hour - Also available in mobile web soon in 2016!”
- Happy Recipe - The Best Ever Food Recipes
- Hey Dot
- i-D Cover Archive 1980 to 2015
- iBackPacker - A Jobs Site for Backpackers
- Igniter by Mixpo
- issuu - digital publishing platform
- Jardins de la Poudrière
- Khan Academy
- Kongge 空格
- Laurel & Wolf
- Lelivrescolaire - Digital scholar books for french students
- Lithium Technologies
- Luxemburger Wort
- Math Notepad
- Madrone - Software & Analytcs
- Map JSON Generator - Draw markers, polylines, shapes and generate JSON
- Marvel App
- marvos.bike - A bike mashup site of Strava, Youtube, Flickr & Tumblr API’s
- Maxwell Health
- Metod - A project management platform designed for everyone
- Minerva Project
- MineWhat - Retail platform for merchandising intelligence
- Motoparking.club (source code)
- National Hockey League - NHL
- Nbc TV network
- NPM Click
- OkCupid - Online dating platform
- One JiuJitsu and Fitness - Brazillian Jiu Jitsu Gym in Irvine, CA.
- Onespot - Internal tools
- OORRAA - B2B-Platform for wholesale trading
- Outschool - Learning activities for kids in California
- Pairyo - Social network of next generation
- Palo Alto Software
- Paper by FiftyThree
- Paperless Post
- Parabola - Turn everyone in your organization into an analyst.
- Percht - Get what you want for the lowest price
- Perfect Pipeline
- PermisDocte - iOS app (french driving license related and build with React Native)
- Planning Center Online
- Polymi - Create banners for Facebook Mobile App Installs, Twitter Mobile App Installs and more
- Practo HealthFeed
- Prism Skylabs
- Quartet Health
- R7 Esportes - Automobilismo
- Rackspace Cloud Control Panel
- Rally Software
- Ralph Lauren
- Relax - New generation CMS on top of React and Node.js
- Rockefeller Center
- Room & Board
- Rotaville Rota Software
- Salesforce’s Lightning Design System
- SEEK Company Reviews
- Sift Science
- Social Tables
- Southern Railway
- Spark Pay
- Stack Overflow Careers
- Synapse Studios
- Talk by Teambition
- Taykey - Web components in web apps, New Self-service platform
- Tesla Motors - Careers Portal for Tesla Motors, Inc.
- The Intercept
- The Movie Game
- The New BLK
- The New York Times
- The Scribbler
- The Tie Bar
- The World If
- The Zebra
- Top of the Rock - Buy Tickets
- Trailer Park Boys
- Traitify Developer Portal
- Trunk Club
- Tune Transcriber - Slow down songs to learn how they are played
- Twitter - Fabric
- Uber - Web App, Support, Clients, 15+ internal apps
- UF Showroom
- Uniqlo – US mobile site
- University of Cincinnati
- Vida Digital
- Visa Checkout
- WDTio - watchdog timers for monitoring cron jobs and web servers
- wehkamp - Largest online retailer in The Netherlands
- Wolfram Alpha
- WordPress.com - source code
- WorkXpress - Build sophisticated business applications without writing code!
- Wunderflats - Rent a furnished apartment for 1 month or more!
- Zignal - Community generated mobile network coverage maps.
- Ziyue - 子阅
- NSCC Manager - Manage USNSCC Units
Yes-- it’s good to be aware that react is not MIT… but not because there is any REAL (i.e. probable) risk… only because (1) you don’t want to look like you don’t know about it in front of a client or (2) you can score points at the local MeetUp if you are aware.
Otherwise, it should probably be towards the bottom of your list of concerns if you’re sitting in front of a blank screen waiting to write your first line of code for your startup’s MVP product.
I can’t think of any reason to worry other than if you’re trying to show off to your boss that you are “dotting your i’s and crossing your t’s” by worrying about every potential .01% black-swan instance that could happen… or if you just jumped in a time machine and are now 1 year back in time when we didn’t know there are 100 huge name companies using it already with no concerns.
And, again, I don’t even use react I use blaze. So I have no investment in react succeeding.
Long list indeed. Thanks for sharing it. We are not a service-provider. So we make our own calls on what technology to use, and licensing issues is among the top of our priorities.
I do agree that if we were selling services, we could throw the ‘React’ and ‘FB’ brand around [Question: how many of these sites were developed via outsourcing?]
Side note: Do you remember Yahoo YUI? I wasn’t into web and hybrid mobile at the time, but my guess the list of users would be longer then the one you posted. Were they wrong to use YUI? Likely not, we are in an evolving world.
Should we use it? Well, if we are up for acquisition / merger, why have an annoying license issue crop up?
Again, this is our call based on thoughtful analysis. Everyone needs their own.
@ramyelkest, not sure. Is Apollo using GraphQL approach or code. The approach itself is a way to communicate data, not sure if in itself it was licensed. Shooting from the hip …
Thanks for your reply. Time to close it.
Note that there is a reason people hire their own lawyers. Everyone is different. So normally you don’t combine legal expertise from third-party you get your own advice.
I think this is a serious problem, but you shouldn’t make too much of it.
- If you are a company with a considerable size you should consult with lawyers instead of reading a forum.
- If you are not a company with a considerable size like me, you shouldn’t be worry about that license, I’m sure it’s not causing any problem.
- If you are not a company with a considerable size and you want to make a big company out of it and you like to solve your hypothetical legal problems in advance … just don’t do that, don’t put your energy and time on that, at this level you should put all your focus on making your project bigger. You can’t make it if you get stuck in these things now!!
Solid advice. Everyone stop panicking.