Hacker News new | ask | show | jobs
by givehimagun 3047 days ago
Prediction - 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.

1 comments

Of 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.

Actually we just thought it was a shame that people wouldn’t use it because of the license. Not much more complicated than that.
I 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!

If they had changed the license when the community asked, that would have been listening to the community, but they didn't.

Changing the license because people are leaving the project only shows that FB cares about itself.

I totally get that view and it bums me out. I can say there is reasoned debate about the different licenses as you can see in this thread. We've changed an explicit patent grant into a debated implicit one. We thought the first was clearer to folks but when debate turned into action we decided winning the debate wasn't important we should just do what would allow people to use the code. I know big companies can look opaque and self-interested on the outside so I get your view. Just sharing as someone part of the internal discussions what happened and why.
You forgot to mention that the explicit grant came with obnoxious conditions, and those conditions were the crux of the issue. Your characterization of the change says a lot about the internal discussions in which you participated.
I think it's unlikely that Facebook added the PATENTS file in order to make things easier for other companies and not for self-interest. It's an explicit patent revocation, not just grant. If I'm not mistaken, there was backlash against an earlier version of the file as well. Only later they tried to spin it as something they were doing for the public.
+1, this debate has been going on for a long while(6mo-1year?).

Claiming that you decided to change it out of the goodness of your heart seems a bit disingenuous. I get if you needed to clear it with the lawyers/business owners over that time but claiming it was changed on a whim doesn't ring true.

I suspect that given Facebook's history with patents it has probably been in the works a long time to make this change.
Someone 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?
Some 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.
Not 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.)

> 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?

If 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.

To 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.
But then they wouldn't get the free labor of the community.
I think we are saying the same thing. Which part of what I said do you disagree with?
>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.

Yes 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.
What's the next JavaScript framework for non-web mobile apps though?
Oh, it's 2018, nobody uses React Native anymore.

We're using Weex [1] or NativeScript [2] now.

[1] https://weex.incubator.apache.org/

[2] https://www.nativescript.org/

You mean, you do that? I don't get it otherwise.

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

Can't imagine why anyone would willingly want to wait another 4-5 years until Weex is where RN is today.

/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..
And what is this next JavaScript framework?
I 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.
Except now React doesn’t have a license issue, so they took a step backward for nothing. Heads must be rolling.
The irony being that the Apache license has an identical clause.
Is 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?

The 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.