
React Native and Yoga Both Given MIT Licence by Facebook - dabit3
https://github.com/facebook/react-native/commit/26684cf3adf4094eb6c405d345a75bf8c7c0bf88
======
givehimagun
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.

~~~
zitterbewegung
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.

~~~
schrep
Actually we just thought it was a shame that people wouldn’t use it because of
the license. Not much more complicated than that.

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

~~~
ngrilly
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.

------
anonytrary
It'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.

~~~
raquo
It's not at all different from loving music written by drug addicts whom you
wouldn't want as friends. Software developers are people too.

~~~
cityzen
Those drug addict musicians that track your every move online, sell your data,
make billions from advertising, influence elections. Totally "not at all
different".

~~~
anonytrary
Good point. Also, almost 100% of the time, the actual musicians get peanuts.
Taylor Swifts are 1/10^8.

Out of all the music I listen to on purpose, maybe 20% is popular. I doubt the
artists behind the other songs I listen to are multi-millionaires.

------
SiVal
TL;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.

~~~
Lazare
> 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).

~~~
tomelders
More importantly, you have more protection with the BSD+Patent Grant than with
BSD alone.

With BSD alone, if you infringe on a Facebook patent then you are vulnerable
to legal action from Facebook if they deem that you’ve infringed your patent.
And regardless of wether you’d infringed or not, such action would still cost
a lot of money to fight in court and would cripple most businesses.

People who claim it risks giving up their IP are ignoring the brutal truth
that software patents are shit, and if you’re in the software business you’re
pretty much guaranteed to be infringing someone elses bullshit patent.

The BSD+Patent Grant was designed to combat the patent trolls, but people lost
their minds and now it’s gone.

The BSD licence is objectively worse than the BSD+Patent Grant. If you opposed
it, then the only people you’ve helped are the patent trolls.

~~~
bad_user
Please leave such opinions to actual lawyers.

Apache placed React's BSD + PATENTS in "Category-X", banning it from being
used in Apache projects:

[https://react-etc.net/entry/apache-foundation-bans-use-of-
fa...](https://react-etc.net/entry/apache-foundation-bans-use-of-facebook-bsd-
patents-licensed-libraries-like-react-js)

> _The BSD+Patent Grant was designed to combat the patent trolls, but people
> lost their minds and now it’s gone._

It was designed for Facebook to fight patent trolls, but not for you. In
comparison with saner license like Apache 2.0, Facebook's license only applied
to Facebook.

> _The BSD licence is objectively worse than the BSD+Patent Grant._

That is false. Please read up on " _implicit patents license_ ".

~~~
Lazare
The issue the Apache Foundation had with the license was that it was
_incompatible_ with the Apache license; they weren't making a value judgement
about it being good, bad, strong, or weak. Many other excellent licenses are
also in "Category-X".

------
bschwindHN
Neat! 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.

~~~
jankassens
I would recommend taking a look at Litho (Android) and ComponentKit (iOS).
Both frameworks by Facebook and inspired by the React component model for pure
native development.

~~~
bschwindHN
Do they plan on unifying them into one framework, or are the platforms
different enough that they've given up on having one framework to do
everything?

~~~
ch0wn
Litho and ComponentKit have similar APIs and we try to bring them closer
together, but I'm not sure what unifying them would actually look like. You
would still end up with two libraries that target very different languages.
React Native is there to stay if sharing logic is more important to you than
raw speed.

~~~
bschwindHN
Ah okay, so they share the basic programming ideology but each is a bit more
tailored to their target platform. Is that right? The advantage then being
that it's easier to write versions for Litho and ComponenentKit than it is to
write Java/Kotlin and Objective-C/Swift versions.

------
tomxor
Does 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
If you contribute to fb open source you need to sign a CLA:
[https://code.facebook.com/cla/individual](https://code.facebook.com/cla/individual)

------
milcron
Wait, they're getting rid of the patents grant?

~~~
dikaiosune
Some 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
1\. 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.

~~~
richardfontana
Regarding the MIT license, I know one lawyer who disagrees in practice but I'm
not sure if that lawyer seriously believes it. That lawyer is associated with
an effort by some companies that have traditionally used standards-setting
activity as a patent license revenue generating activity, to argue that open
source licenses can legitimately preclude any grant of patent license,
explicitly or implicitly (that is, that an open source license can be a pure
copyright license). Part of that effort is an attempt to argue, based for
example on historical evidence or on a policy basis, that certain widely-used
open source licenses, like the MIT license, are susceptible to the "copyright
only" interpretation.

My co-worker Scott Peterson has given a lot of thought to the issue of the MIT
license as _explicitly_ embodying a patent license grant; I am hoping he will
publish an article on this in the near future.

~~~
DannyBee
I really hope Scott posts his research. I know he's given this a lot of
thought and looked through a lot of precedent on this issue.

Honestly, he was the one who convinced me that there really is nothing out
there to hang your hat on when it comes to suing people for patent
infringement in MIT licensed software.

------
Waterluvian
Are 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
No. You’d have to re-download/deploy it.

IANAL

------
tmwed
say what you will about Facebook, this is a huge gift.

~~~
TAForObvReasons
This 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.

~~~
nsfmc
i 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
What is yoga?

~~~
pipeep
The flexbox implementation that react native uses for layout.

------
zebraflask
I'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).

~~~
rawrmaan
Exact opposite experience. After being a mobile dev for 8+ years and making
all of my most recent apps in RN, including a rewrite of one that was many
years old, you're wasting your time if you still write native code instead of
RN. It's just better in every single way and is an incredibly impressive,
stable piece of technology.

~~~
andrewingram
You probably have an advantage coming from a native background. The main thing
i've been battling when it comes to React Native is that to do things _really_
well, you do need to be able to dive into native code from time-to-time. It's
definitely true that you can write simple apps with just the React layer, but
I think people greatly underestimate the amount of work it takes to build an
app that actually feels native.

~~~
solidr53
It all comes down to the navigation. Use a native navigation, then you're good
to go!

[https://github.com/ueno-llc/react-native-starter](https://github.com/ueno-
llc/react-native-starter)

------
l2dy
osquery was also relicensed (to Apache 2.0 and GPLv2) in
[https://github.com/facebook/osquery/pull/4007](https://github.com/facebook/osquery/pull/4007).

