New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update PATENTS #3554

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
@colinmegill

IMO, and in the opinion of several developers I've spoken with in the burgeoning react community, this kind of language has no place in the OSS world and sets a poor precedent. I don't fully expect this to be removed or merged, but I'm registering my opinion with a PR.

Update PATENTS
IMO, and in the opinion of several developers I've spoken with in the burgeoning react community, this kind of language has no place in the OSS world and sets a poor precedent. I don't fully expect this to be removed or merged, but I'm registering my opinion with a PR.
@facebook-github-bot

This comment has been minimized.

Show comment
Hide comment
@facebook-github-bot

facebook-github-bot Mar 31, 2015

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at cla@fb.com. Thanks!

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at cla@fb.com. Thanks!

@zpao

This comment has been minimized.

Show comment
Hide comment
@zpao

zpao Mar 31, 2015

Member

This is a legal matter and won't be resolved without lawyers.

Member

zpao commented Mar 31, 2015

This is a legal matter and won't be resolved without lawyers.

@zpao zpao closed this Mar 31, 2015

@colinmegill

This comment has been minimized.

Show comment
Hide comment
@colinmegill

colinmegill Mar 31, 2015

@zpao said who about OSS ever? Seriously? Is there no other public comment about this than that?

@zpao said who about OSS ever? Seriously? Is there no other public comment about this than that?

@colinmegill

This comment has been minimized.

Show comment
Hide comment
@colinmegill

colinmegill Mar 31, 2015

I've been in front of the community teaching react. The question has come up multiple times and I've had no good answers. What's the deal?

I've been in front of the community teaching react. The question has come up multiple times and I've had no good answers. What's the deal?

@jimfb

This comment has been minimized.

Show comment
Hide comment
@jimfb

jimfb Mar 31, 2015

Contributor

@colinmegill We understand your concern/pain. We are in dialog with legal about the potential to change this language. Unfortunately, for legal reasons, we can't comment further.

Contributor

jimfb commented Mar 31, 2015

@colinmegill We understand your concern/pain. We are in dialog with legal about the potential to change this language. Unfortunately, for legal reasons, we can't comment further.

@colinmegill

This comment has been minimized.

Show comment
Hide comment
@colinmegill

colinmegill Mar 31, 2015

@JSFB That's all I need to hear. Thanks! I want to let you guys know about the rumbling out here. It exists.

@JSFB That's all I need to hear. Thanks! I want to let you guys know about the rumbling out here. It exists.

@iamdustan

This comment has been minimized.

Show comment
Hide comment
@iamdustan

iamdustan Mar 31, 2015

Contributor

Thanks for the update @JSFB and @zpao! It’s very reassuring to know the dialog is happening. Is it fair to expect any public commentary at the end of those discussions? Whether it’s in a week or 6 months.

Contributor

iamdustan commented Mar 31, 2015

Thanks for the update @JSFB and @zpao! It’s very reassuring to know the dialog is happening. Is it fair to expect any public commentary at the end of those discussions? Whether it’s in a week or 6 months.

@jimfb

This comment has been minimized.

Show comment
Hide comment
@jimfb

jimfb Mar 31, 2015

Contributor

Any comment on legal matters must come from the lawyers. I can't predict what commentary would be available at the end of the discussions.

Contributor

jimfb commented Mar 31, 2015

Any comment on legal matters must come from the lawyers. I can't predict what commentary would be available at the end of the discussions.

@ryan-roemer

This comment has been minimized.

Show comment
Hide comment
@ryan-roemer

ryan-roemer Apr 4, 2015

@JSFB @zpao -- Former (and presently inactive) patent attorney here... your lawyers should be able to come up with a non-binding potential timeframe that you can disclose to us publicly as to when to expect further clarification of the issue.

And as a current React developer, I can say that we'd all love to have a better idea as to when we're going to hear back on the issue. ;)

Thanks!

@JSFB @zpao -- Former (and presently inactive) patent attorney here... your lawyers should be able to come up with a non-binding potential timeframe that you can disclose to us publicly as to when to expect further clarification of the issue.

And as a current React developer, I can say that we'd all love to have a better idea as to when we're going to hear back on the issue. ;)

Thanks!

@paulirish

This comment has been minimized.

Show comment
Hide comment
@paulirish

paulirish Apr 5, 2015

There's a fairly extensive conversation on Hacker News on what this patent policy means: https://news.ycombinator.com/item?id=9271331

the fourth clause is super weird. [...] It might even mean you can't lobby for software patent reform.

I, like many others, would encourage some consideration from Facebook legal, as the license currently stands in the way of a lot of progress.

There's a fairly extensive conversation on Hacker News on what this patent policy means: https://news.ycombinator.com/item?id=9271331

the fourth clause is super weird. [...] It might even mean you can't lobby for software patent reform.

I, like many others, would encourage some consideration from Facebook legal, as the license currently stands in the way of a lot of progress.

@msikma

This comment has been minimized.

Show comment
Hide comment
@msikma

msikma Apr 5, 2015

I've always considered the consternation about this to be quite strange, especially considering the Apache License 2.0 has virtually the same clause, though possibly with slightly more obvious wording.

What this text does is offer a patent grant, unless you're engaged in patent litigation with Facebook. It seems completely impossible for Facebook to provide such a grant and still expect to win a patent lawsuit—so the grant becomes null and void in that particular case. I don't see any way that this has any bearing on the BSD license.

the fourth clause is super weird. [...] It might even mean you can't lobby for software patent reform.

That seems like a pretty dubious reading to me, but then I'm (thankfully) not a patent attorney. Some clarification from Facebook legal would be good on this part.

It is, however, pretty clear to me that 1) this is designed as an extra patent grant, on top of the already free code, to be taken away only in the case of patent litigation against Facebook, 2) removing it completely would be bad for the community.

Still though, I'm definitely not blaming anyone for wanting more clarification. If I'm wrong about any of this, feel free to shout at me. But at the same time, I do believe people should assume good faith here.

msikma commented Apr 5, 2015

I've always considered the consternation about this to be quite strange, especially considering the Apache License 2.0 has virtually the same clause, though possibly with slightly more obvious wording.

What this text does is offer a patent grant, unless you're engaged in patent litigation with Facebook. It seems completely impossible for Facebook to provide such a grant and still expect to win a patent lawsuit—so the grant becomes null and void in that particular case. I don't see any way that this has any bearing on the BSD license.

the fourth clause is super weird. [...] It might even mean you can't lobby for software patent reform.

That seems like a pretty dubious reading to me, but then I'm (thankfully) not a patent attorney. Some clarification from Facebook legal would be good on this part.

It is, however, pretty clear to me that 1) this is designed as an extra patent grant, on top of the already free code, to be taken away only in the case of patent litigation against Facebook, 2) removing it completely would be bad for the community.

Still though, I'm definitely not blaming anyone for wanting more clarification. If I'm wrong about any of this, feel free to shout at me. But at the same time, I do believe people should assume good faith here.

@paulirish

This comment has been minimized.

Show comment
Hide comment
@paulirish

paulirish Apr 6, 2015

Still though, I'm definitely not blaming anyone for wanting more clarification. If I'm wrong about any of this, feel free to shout at me. But at the same time, I do believe people should assume good faith here.

Yeah definitely. I'm totally assuming good intentions. I'm sure everyone is trying to do the right thing.

I think we're just stuck between laywercat speak and interpretation, and trying to see how it maps to typical open source expectations.

Still though, I'm definitely not blaming anyone for wanting more clarification. If I'm wrong about any of this, feel free to shout at me. But at the same time, I do believe people should assume good faith here.

Yeah definitely. I'm totally assuming good intentions. I'm sure everyone is trying to do the right thing.

I think we're just stuck between laywercat speak and interpretation, and trying to see how it maps to typical open source expectations.

@alexgorbatchev

This comment has been minimized.

Show comment
Hide comment
@alexgorbatchev

alexgorbatchev Apr 6, 2015

In one of the threads discussing this topic I read something along the lines of "since the BSD license makes no mentioning of this, you could fork and freely remove the patents file".

The good faith argument works for individuals and maybe tiny companies. If you work at a larger company that won't fly. Our team had to run this by our legal and get an OK from them. If you are in a similar situation, just do that.

In one of the threads discussing this topic I read something along the lines of "since the BSD license makes no mentioning of this, you could fork and freely remove the patents file".

The good faith argument works for individuals and maybe tiny companies. If you work at a larger company that won't fly. Our team had to run this by our legal and get an OK from them. If you are in a similar situation, just do that.

@msikma

This comment has been minimized.

Show comment
Hide comment
@msikma

msikma Apr 6, 2015

The good faith argument works for individuals and maybe tiny companies. If you work at a larger company that won't fly.

To clarify, I meant in this discussion. You're absolutely right about your company's viewpoint. It's just that I've seen people make all sorts of crazy claims (or vague allusions) about this file, on HN and other places. Even seen people talking about how someone should make a "patents-free ReactJS alternative". But thankfully the discussion here is more sober and to-the-point.

msikma commented Apr 6, 2015

The good faith argument works for individuals and maybe tiny companies. If you work at a larger company that won't fly.

To clarify, I meant in this discussion. You're absolutely right about your company's viewpoint. It's just that I've seen people make all sorts of crazy claims (or vague allusions) about this file, on HN and other places. Even seen people talking about how someone should make a "patents-free ReactJS alternative". But thankfully the discussion here is more sober and to-the-point.

@cmwelsh

This comment has been minimized.

Show comment
Hide comment
@cmwelsh

cmwelsh Apr 6, 2015

Comments like this really hurt adoption:

https://news.ycombinator.com/item?id=9271331

I work at Google, where many are sad to not be able to use recent Facebook code.

cmwelsh commented Apr 6, 2015

Comments like this really hurt adoption:

https://news.ycombinator.com/item?id=9271331

I work at Google, where many are sad to not be able to use recent Facebook code.

@jokeyrhyme

This comment has been minimized.

Show comment
Hide comment
@jokeyrhyme

jokeyrhyme Apr 8, 2015

If I were to advocate for software patent reform that affects the validity of Facebook's patents, does this activate the termination clause in the patent grant?

What are the potential and likely legal consequences for activating the termination clause of the patent grant?

If I were to advocate for software patent reform that affects the validity of Facebook's patents, does this activate the termination clause in the patent grant?

What are the potential and likely legal consequences for activating the termination clause of the patent grant?

@jamesgpearce

This comment has been minimized.

Show comment
Hide comment
@jamesgpearce

jamesgpearce Apr 8, 2015

Member

That is certainly not the intention. We will be clarifying this shortly; thanks for your patience in the meantime.

Member

jamesgpearce commented Apr 8, 2015

That is certainly not the intention. We will be clarifying this shortly; thanks for your patience in the meantime.

@zpao

This comment has been minimized.

Show comment
Hide comment
@zpao

zpao Apr 10, 2015

Member

We updated the grant: b8ba8c8

Member

zpao commented Apr 10, 2015

We updated the grant: b8ba8c8

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Apr 10, 2015

Contributor

@jamesgpearce #3617 (comment) probably goes best in here :) also 👍

Contributor

syranide commented Apr 10, 2015

@jamesgpearce #3617 (comment) probably goes best in here :) also 👍

@jokeyrhyme

This comment has been minimized.

Show comment
Hide comment
@jokeyrhyme

jokeyrhyme Apr 10, 2015

Much better. Thank you and congratulations. :) <3

Much better. Thank you and congratulations. :) <3

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@facebook A grant is not a license, so the update only deepens the issue...

For an easy fix, please forward this link made by github to your lawyers:
http://choosealicense.com

ghost commented Apr 11, 2015

@facebook A grant is not a license, so the update only deepens the issue...

For an easy fix, please forward this link made by github to your lawyers:
http://choosealicense.com

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Apr 11, 2015

Contributor

osquery's BSD License
osquery's Additional Grant of Patent Rights Version 2

@Ab34 I don't work for Facebook and I'm not a lawyer, but a project licensed under the BSD license is not a guarantee that you're safe from patent infringement, if you need an example of that then you need to look no further than the BSD-like licensed VP8 codec. If you can substantiate your claims then please do, but rash action is only counter-productive to the discussion.

Contributor

syranide commented Apr 11, 2015

osquery's BSD License
osquery's Additional Grant of Patent Rights Version 2

@Ab34 I don't work for Facebook and I'm not a lawyer, but a project licensed under the BSD license is not a guarantee that you're safe from patent infringement, if you need an example of that then you need to look no further than the BSD-like licensed VP8 codec. If you can substantiate your claims then please do, but rash action is only counter-productive to the discussion.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@syranide A license can only terminate through its own clauses. So you can not grant a license under the clauses of a separate grant.

A grant of license is to provide to the licensee the right to use the licensed software in accordance to the terms of the license agreement.

The license agreement here is the BSD license agreement. So termination clauses can only be the one described in the BSD license agreement. Therefore the Additional Grant of Patents is invalid and has no legal meaning.

It only creates confusion by putting two licenses on the software. But two licenses are mutually exclusive and incompatible by definition if they do not claim exactly the same thing regarding to the user's obligations...

Users want to know precisely and exactly what is the license of what they are using and not to inherit from two contradictory grants of license for the same software. Thanks for your understanding.

Note: It is not difficult for Facebook to extend the content of the BSD license if they want and to put their patents claims in it, but to call it BSD or to present it as BSD is non-sense and brings confusion to the table. They could change the name to "Facebook-BSD" or something else and put everything into the same file called "License", and that would solve the issue. That said, that would not make of it a real open-source license, just a permissive Facebook dependent license as it is presently, but it is what Facebook wants to offer anyway.

Note 2: In other words:

  1. Wrong way:
    Facebook Patented License Grant
    -----Nested BSD License

  2. Good Way:
    Facebook Patented License BSD-like Grant

A bit of discipline and less of intellectual laziness from the part of lawyers would be appreciated for the benefit of all. Thanks.

ghost commented Apr 11, 2015

@syranide A license can only terminate through its own clauses. So you can not grant a license under the clauses of a separate grant.

A grant of license is to provide to the licensee the right to use the licensed software in accordance to the terms of the license agreement.

The license agreement here is the BSD license agreement. So termination clauses can only be the one described in the BSD license agreement. Therefore the Additional Grant of Patents is invalid and has no legal meaning.

It only creates confusion by putting two licenses on the software. But two licenses are mutually exclusive and incompatible by definition if they do not claim exactly the same thing regarding to the user's obligations...

Users want to know precisely and exactly what is the license of what they are using and not to inherit from two contradictory grants of license for the same software. Thanks for your understanding.

Note: It is not difficult for Facebook to extend the content of the BSD license if they want and to put their patents claims in it, but to call it BSD or to present it as BSD is non-sense and brings confusion to the table. They could change the name to "Facebook-BSD" or something else and put everything into the same file called "License", and that would solve the issue. That said, that would not make of it a real open-source license, just a permissive Facebook dependent license as it is presently, but it is what Facebook wants to offer anyway.

Note 2: In other words:

  1. Wrong way:
    Facebook Patented License Grant
    -----Nested BSD License

  2. Good Way:
    Facebook Patented License BSD-like Grant

A bit of discipline and less of intellectual laziness from the part of lawyers would be appreciated for the benefit of all. Thanks.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@syranide Of course, you can use a BSD license and infringe a patent at the same time. It is not contradictory.

But there, it is stated that you obtain a BSD license of the software for you to use, and that this BSD will terminate if you mess up with one of Facebook's patents. This is not in the BSD termination clauses. So you may break Facebook's patents copyright but not the BSD clause. So BSD license is still valid if the license is really BSD, as it is claimed to be, but falsely apparently, because the grants are contradictory.

So it remains unclear if Facebook wants to put a dual-license or a single license on their projects:

If it is a single license, then it is not BSD, because BSD is BSD and nothing else.

If it is a dual-license, the two grants can be contradictory but should not refer to each other. In that case, the user may choose what license he wants to use the software under or what license he is eligible to.

But here, one grant refers to another by including it. So there are two grants saying the two are applying at the same time, and the "patent related one" can terminate the other... This is just plain invalid and has no legal meaning. Either one uses BSD and that is all, either one uses another license that is more restrictive, but not the two at the same time.

The question of patent infringement is another one. Patent infringement is infringement of a copyright, not the infringement of a license. So you can infringe a patent while at the same time being clean with your licenses used to infringe the patent. That is why many people think that patents are controversial and should not exist by the way, because they are just blocking the innovative process and favors abusive power position.

For example, imagine a company putting a patent on web buttons, by carefully describing buttons and their roles on the webpage. Potentially all webpages having a button, nearly the whole internet, would infringe the copyright exposed by the patent. Problematic, right ? You can be clean with the libraries licenses you may use for creating the button on your page. But you still may be pursued by the owner of the patent for infraction of his patent...

Note: one could name this new license invented by Facebook: "The Facebook Punitive License". It is a free license, but if ever you mess with Facebook's patents (for example by building a social network site, or putting a kind of social map on your website), you may be pursued for it, and moreover this license which may be unrelated to the infringement will be removed from you. :-) Wow

ghost commented Apr 11, 2015

@syranide Of course, you can use a BSD license and infringe a patent at the same time. It is not contradictory.

But there, it is stated that you obtain a BSD license of the software for you to use, and that this BSD will terminate if you mess up with one of Facebook's patents. This is not in the BSD termination clauses. So you may break Facebook's patents copyright but not the BSD clause. So BSD license is still valid if the license is really BSD, as it is claimed to be, but falsely apparently, because the grants are contradictory.

So it remains unclear if Facebook wants to put a dual-license or a single license on their projects:

If it is a single license, then it is not BSD, because BSD is BSD and nothing else.

If it is a dual-license, the two grants can be contradictory but should not refer to each other. In that case, the user may choose what license he wants to use the software under or what license he is eligible to.

But here, one grant refers to another by including it. So there are two grants saying the two are applying at the same time, and the "patent related one" can terminate the other... This is just plain invalid and has no legal meaning. Either one uses BSD and that is all, either one uses another license that is more restrictive, but not the two at the same time.

The question of patent infringement is another one. Patent infringement is infringement of a copyright, not the infringement of a license. So you can infringe a patent while at the same time being clean with your licenses used to infringe the patent. That is why many people think that patents are controversial and should not exist by the way, because they are just blocking the innovative process and favors abusive power position.

For example, imagine a company putting a patent on web buttons, by carefully describing buttons and their roles on the webpage. Potentially all webpages having a button, nearly the whole internet, would infringe the copyright exposed by the patent. Problematic, right ? You can be clean with the libraries licenses you may use for creating the button on your page. But you still may be pursued by the owner of the patent for infraction of his patent...

Note: one could name this new license invented by Facebook: "The Facebook Punitive License". It is a free license, but if ever you mess with Facebook's patents (for example by building a social network site, or putting a kind of social map on your website), you may be pursued for it, and moreover this license which may be unrelated to the infringement will be removed from you. :-) Wow

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

In other words, licenses are immutable.

ghost commented Apr 11, 2015

In other words, licenses are immutable.

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Apr 11, 2015

Contributor

@Ab34 Google's VP8/webm seemingly has the same legal approach, so it doesn't seem like something fishy Facebook's legal team made up, webm's New BSD license and webm's Additional IP Rights Grant (Patents).

http://www.softwarefreedom.org/blog/2013/may/29/vp8-cross-license-draft-foss-compatible/ says:

Because the patent license does not restrict those freedoms, but rather affords some new, limited protections to users and developers within the field of use, it improves on the current situation. Without this license, the patent holders would be in a position to threaten those users and developers as well as others.

This may be a misrepresentation of facts on my part, this is not my expertise after-all, but that sounds only logical to me. Again, I'm no lawyer, I'm as interested in this as everyone else as an outsider, but substantiated facts is the only way forward in this discussion.

Contributor

syranide commented Apr 11, 2015

@Ab34 Google's VP8/webm seemingly has the same legal approach, so it doesn't seem like something fishy Facebook's legal team made up, webm's New BSD license and webm's Additional IP Rights Grant (Patents).

http://www.softwarefreedom.org/blog/2013/may/29/vp8-cross-license-draft-foss-compatible/ says:

Because the patent license does not restrict those freedoms, but rather affords some new, limited protections to users and developers within the field of use, it improves on the current situation. Without this license, the patent holders would be in a position to threaten those users and developers as well as others.

This may be a misrepresentation of facts on my part, this is not my expertise after-all, but that sounds only logical to me. Again, I'm no lawyer, I'm as interested in this as everyone else as an outsider, but substantiated facts is the only way forward in this discussion.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@syranide Great resources, thanks for bringing them on the table ! Yes, facts, only facts can nurture a true investigation.

The major difference is that in the case of Google, the patent license addition (the "cross-license") relates directly to the licensed project itself, and thus is not contradictory with the main license:

(...)such (patent) license applies only to those patent claims, both currently owned by
Google and acquired in the future, licensable by Google that are necessarily
infringed
by these implementations of WebM

So the only purpose of the cross-license patent grant is to allow the user to benefit from the licensed project even if the use of the project implicitly implies the infringement of one of Google's patent. In that case, the use of the main license itself infringes a patent, so a cross-license is needed. It is not a defensive implementation of the main license restricting the use of it.

In our case, there is no implicit infringement of patent in the project by using the main license alone. In fact, what describes the last commit is a generalized patent grant covering all Facebook's patents, even unrelated to the main license, and furthermore stating that it can terminate the main license itself... It has no sense... because licenses are immutable, they can not be changed by another thing or otherwise there would be multiple licenses applying at the same time for a project...which would be an impossible mess to manage...

So Google does not infringe the immutability principle of licenses by introducing his "cross-license". On the contrary, the "cross-license", that is, the added patent license, is what allows the main license to be valid in respect to the patents.

Here it is a quite different thing. Facebook breaks the immutability principle of the BSD license by saying that it can terminate whenever any patent, even unrelated, is infringed... Furthermore, it is a restrictive "cross-license" in the sense that the intent here is not just to allow the use of the main license in conformance to the existing patent laws related to it, but rather to limit or end or restrict its usage whenever an infringement, any, has been risen. Quite a different thing !

When you know what license you are using, it is clear what you can do and not do, but in the case of patents, you may infringe a patent without knowing it. It suffices that you have the same idea than someone, or partly. Two people not being related to each other can work on the same idea without knowing it, and if one of them puts a patent on the thing, the other may infringe the thing, even only partly, without even knowing it. And in that case, with Facebook's point of view, not only the one infringing the patent may be pursued for it (whereas he has worked alone and for himself), but furthermore, the infringement implies that he may lose licenses for other unrelated tools and projects at the same time. One knows defensive programming, but here it is defensive licensing! Not quite OSS spirit.

And anyway, it breaks the immutability principle of licenses which makes them to have a meaning on their own, as stand-alone, independent and solid descriptions of the context in which a project can be used, on its own. The actual proposed license is rather tentacular and restrictive, and not quite legal to my view in the sense that it mutates the BSD license clause from the outside which is quite problematic from a legal point of view.

ghost commented Apr 11, 2015

@syranide Great resources, thanks for bringing them on the table ! Yes, facts, only facts can nurture a true investigation.

The major difference is that in the case of Google, the patent license addition (the "cross-license") relates directly to the licensed project itself, and thus is not contradictory with the main license:

(...)such (patent) license applies only to those patent claims, both currently owned by
Google and acquired in the future, licensable by Google that are necessarily
infringed
by these implementations of WebM

So the only purpose of the cross-license patent grant is to allow the user to benefit from the licensed project even if the use of the project implicitly implies the infringement of one of Google's patent. In that case, the use of the main license itself infringes a patent, so a cross-license is needed. It is not a defensive implementation of the main license restricting the use of it.

In our case, there is no implicit infringement of patent in the project by using the main license alone. In fact, what describes the last commit is a generalized patent grant covering all Facebook's patents, even unrelated to the main license, and furthermore stating that it can terminate the main license itself... It has no sense... because licenses are immutable, they can not be changed by another thing or otherwise there would be multiple licenses applying at the same time for a project...which would be an impossible mess to manage...

So Google does not infringe the immutability principle of licenses by introducing his "cross-license". On the contrary, the "cross-license", that is, the added patent license, is what allows the main license to be valid in respect to the patents.

Here it is a quite different thing. Facebook breaks the immutability principle of the BSD license by saying that it can terminate whenever any patent, even unrelated, is infringed... Furthermore, it is a restrictive "cross-license" in the sense that the intent here is not just to allow the use of the main license in conformance to the existing patent laws related to it, but rather to limit or end or restrict its usage whenever an infringement, any, has been risen. Quite a different thing !

When you know what license you are using, it is clear what you can do and not do, but in the case of patents, you may infringe a patent without knowing it. It suffices that you have the same idea than someone, or partly. Two people not being related to each other can work on the same idea without knowing it, and if one of them puts a patent on the thing, the other may infringe the thing, even only partly, without even knowing it. And in that case, with Facebook's point of view, not only the one infringing the patent may be pursued for it (whereas he has worked alone and for himself), but furthermore, the infringement implies that he may lose licenses for other unrelated tools and projects at the same time. One knows defensive programming, but here it is defensive licensing! Not quite OSS spirit.

And anyway, it breaks the immutability principle of licenses which makes them to have a meaning on their own, as stand-alone, independent and solid descriptions of the context in which a project can be used, on its own. The actual proposed license is rather tentacular and restrictive, and not quite legal to my view in the sense that it mutates the BSD license clause from the outside which is quite problematic from a legal point of view.

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Apr 11, 2015

Contributor

@Ab34
[LICENSE] Facebook osquery's New BSD License
[LICENSE] Google webm's New BSD license

[PATENTS] Facebook osquery's Additional Grant of Patent Rights Version 2

Additional Grant of Patent Rights Version 2
The license granted hereunder will terminate, automatically and without notice, if...

[PATENTS] Google webm's Additional IP Rights Grant (Patents)

Additional IP Rights Grant (Patents)
...then any patent rights granted to you under this License for these implementations of WebM shall terminate...

It seems to me like the same legal framework (and everyone seems fine with Google's) and I interpret them both to have the outcome, the termination of the additional patent rights license (again, I'm just a layman), not termination of the main New BSD license. It seems you don't and that is the issue you take with it? Or am I misunderstanding?

Anyway, you don't need to explain it to me, I'm an "outsider" just like you on this matter.

Contributor

syranide commented Apr 11, 2015

@Ab34
[LICENSE] Facebook osquery's New BSD License
[LICENSE] Google webm's New BSD license

[PATENTS] Facebook osquery's Additional Grant of Patent Rights Version 2

Additional Grant of Patent Rights Version 2
The license granted hereunder will terminate, automatically and without notice, if...

[PATENTS] Google webm's Additional IP Rights Grant (Patents)

Additional IP Rights Grant (Patents)
...then any patent rights granted to you under this License for these implementations of WebM shall terminate...

It seems to me like the same legal framework (and everyone seems fine with Google's) and I interpret them both to have the outcome, the termination of the additional patent rights license (again, I'm just a layman), not termination of the main New BSD license. It seems you don't and that is the issue you take with it? Or am I misunderstanding?

Anyway, you don't need to explain it to me, I'm an "outsider" just like you on this matter.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@syranide Cool, that is a good point. A layman generally can see things with fresh and innocent eyes, not biased by the intellectual habits and rigidity of the so-called experts.

The termination, in both case, is the termination of the main license for the project, that is, in both case a BSD license. But concerning the additional patent license, the only point that is common is the following:

Google:

This grant does not include claims that would be infringed only as a consequence of further modification of these implementations.

Facebook:

For avoidance of doubt, no license is granted under Facebook’s rights in any patent claims that are infringed by (i) modifications to the Software made by you or any third party or (ii) the Software in combination with any software or other technology.

All the rest is totally, completely, different, both in the intent, in the consequences and the legal applicability:

For Google, the legal framework offers a patent license allowing to expose and therefore use the BSD License for a project already using a patent implementation.

For Facebook, the "legal"(?) framework adds a "restriction patent license", terminating the BSD license of the project, in case of any "patent assertion", concerning any patent owned by Facebook or its corporate affiliates (how many and who are they ?), even if the project does not implement any patent itself...

So you can see it is totally different... Facebook's legal framework is like an obscure and dark gas-works where nobody can know for sure what can trigger the termination of the main license. From a legal point of view, it may be really adventurous to use any of Facebook's opensource projects for production at this time in those conditions. Nice to play with though.

ghost commented Apr 11, 2015

@syranide Cool, that is a good point. A layman generally can see things with fresh and innocent eyes, not biased by the intellectual habits and rigidity of the so-called experts.

The termination, in both case, is the termination of the main license for the project, that is, in both case a BSD license. But concerning the additional patent license, the only point that is common is the following:

Google:

This grant does not include claims that would be infringed only as a consequence of further modification of these implementations.

Facebook:

For avoidance of doubt, no license is granted under Facebook’s rights in any patent claims that are infringed by (i) modifications to the Software made by you or any third party or (ii) the Software in combination with any software or other technology.

All the rest is totally, completely, different, both in the intent, in the consequences and the legal applicability:

For Google, the legal framework offers a patent license allowing to expose and therefore use the BSD License for a project already using a patent implementation.

For Facebook, the "legal"(?) framework adds a "restriction patent license", terminating the BSD license of the project, in case of any "patent assertion", concerning any patent owned by Facebook or its corporate affiliates (how many and who are they ?), even if the project does not implement any patent itself...

So you can see it is totally different... Facebook's legal framework is like an obscure and dark gas-works where nobody can know for sure what can trigger the termination of the main license. From a legal point of view, it may be really adventurous to use any of Facebook's opensource projects for production at this time in those conditions. Nice to play with though.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 11, 2015

@syranide That said, I understand your point. You interpret it by saying that what terminates is the patent license. And I said it was the main license.

Facebook may precise about it if they care about clarity, but my guess is that both the patent license and the main license terminates, in their legal construct.

You may understand now why I said that this legal framework is like a gas-work, and personally I don't want to be in it, when someone will strike a match, as it will inevitably blow up, sooner or later.

We would have been the outsiders, yes, the witness about the falseness of it all.

When one thinks about it, it is silly all those complications around intellectual property, how mankind is losing its time and energy in vain protections and struggles about it.

It would be way more simple to consider that everything that is public is free to use for anyone, and to build upon, without any restriction nor limitation for anyone. Technique is already enough complicated but we lose our time and money with all those silly struggles, and possessive, selfish instincts.

Building a company or a software, nowadays, is like building a castle of cards with people threatening to remove some cards from the foundation pretending they are theirs. And it really doesn't benefit to anyone, neither to creativity nor to real and genuine cooperation between human beings. Well, we can not change mankind I guess, but only oneself.

ghost commented Apr 11, 2015

@syranide That said, I understand your point. You interpret it by saying that what terminates is the patent license. And I said it was the main license.

Facebook may precise about it if they care about clarity, but my guess is that both the patent license and the main license terminates, in their legal construct.

You may understand now why I said that this legal framework is like a gas-work, and personally I don't want to be in it, when someone will strike a match, as it will inevitably blow up, sooner or later.

We would have been the outsiders, yes, the witness about the falseness of it all.

When one thinks about it, it is silly all those complications around intellectual property, how mankind is losing its time and energy in vain protections and struggles about it.

It would be way more simple to consider that everything that is public is free to use for anyone, and to build upon, without any restriction nor limitation for anyone. Technique is already enough complicated but we lose our time and money with all those silly struggles, and possessive, selfish instincts.

Building a company or a software, nowadays, is like building a castle of cards with people threatening to remove some cards from the foundation pretending they are theirs. And it really doesn't benefit to anyone, neither to creativity nor to real and genuine cooperation between human beings. Well, we can not change mankind I guess, but only oneself.

@dqdinh

This comment has been minimized.

Show comment
Hide comment
@dqdinh

dqdinh Aug 5, 2015

@jimfb - It's been over 4 months since someone opened this issue. I assume that since the patent license has not change, legal has silently made a decision and it will stay as is for the foreseeable future. If not, then a status update would be helpful.

I'm a big fan of React but I currently have to switch from using Om in a cljs project because patent license creates a potential risk for future litigation with Facebook.

dqdinh commented Aug 5, 2015

@jimfb - It's been over 4 months since someone opened this issue. I assume that since the patent license has not change, legal has silently made a decision and it will stay as is for the foreseeable future. If not, then a status update would be helpful.

I'm a big fan of React but I currently have to switch from using Om in a cljs project because patent license creates a potential risk for future litigation with Facebook.

@jimfb

This comment has been minimized.

Show comment
Hide comment
Contributor

jimfb commented Aug 5, 2015

@jimfb

This comment has been minimized.

Show comment
Hide comment
@jimfb

jimfb Aug 5, 2015

Contributor

The diff is here: b8ba8c8

Contributor

jimfb commented Aug 5, 2015

The diff is here: b8ba8c8

@dqdinh

This comment has been minimized.

Show comment
Hide comment
@dqdinh

dqdinh Aug 5, 2015

@jimfb Thanks for highlighting that update. It is a helpful talking point in defending using React for my project.

dqdinh commented Aug 5, 2015

@jimfb Thanks for highlighting that update. It is a helpful talking point in defending using React for my project.

@nijikokun

This comment has been minimized.

Show comment
Hide comment
@nijikokun

nijikokun Aug 10, 2015

@jimfb the termination clause is still as restrictive as before, they just made it in clearer wording, the issue still exists, as was explained in the conversation that @ghost and @syranide were having.

ccing @dqdinh

@jimfb the termination clause is still as restrictive as before, they just made it in clearer wording, the issue still exists, as was explained in the conversation that @ghost and @syranide were having.

ccing @dqdinh

@zhech2

This comment has been minimized.

Show comment
Hide comment
@zhech2

zhech2 May 26, 2016

We are not allowed to use react because of this. It is interpreted as giving Facebook the right to all our patents. Anyone else experience the same? Is there any possibility of fixing this or is it Facebook's intention?

zhech2 commented May 26, 2016

We are not allowed to use react because of this. It is interpreted as giving Facebook the right to all our patents. Anyone else experience the same? Is there any possibility of fixing this or is it Facebook's intention?

@StevenLangbroek

This comment has been minimized.

Show comment
Hide comment
@StevenLangbroek

StevenLangbroek Jul 27, 2016

@zhech2 no i'm pretty sure your company needs better patent laywers...

@zhech2 no i'm pretty sure your company needs better patent laywers...

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Jul 27, 2016

Contributor

@zhech2 Yeah, that is absolutely not the case, see #7293 (comment)

Google was unhappy with the original patent grant, and it was updated in response to their concerns. They are OK with it now. And so is Apple.

Contributor

syranide commented Jul 27, 2016

@zhech2 Yeah, that is absolutely not the case, see #7293 (comment)

Google was unhappy with the original patent grant, and it was updated in response to their concerns. They are OK with it now. And so is Apple.

@supernintendo

This comment has been minimized.

Show comment
Hide comment
@supernintendo

supernintendo Sep 28, 2016

Simple workaround to this problem: don't use React.

Simple workaround to this problem: don't use React.

@colinmegill

This comment has been minimized.

Show comment
Hide comment
@colinmegill

colinmegill Oct 12, 2016

For what it's worth, this: http://www.elcaminolegal.com/single-post/2016/10/04/Facebook-Reactjs-License was exactly the nature of conversation I was having with developers in the community when I opened this PR. It's up on HN today. I've used React for two years happily despite it, though :)

For what it's worth, this: http://www.elcaminolegal.com/single-post/2016/10/04/Facebook-Reactjs-License was exactly the nature of conversation I was having with developers in the community when I opened this PR. It's up on HN today. I've used React for two years happily despite it, though :)

@gaearon

This comment has been minimized.

Show comment
Hide comment
@gaearon

gaearon Sep 22, 2017

Member

We’re relicensing React, Jest, Flow, and Immutable.js under the MIT license.
I hope that this addresses your concerns.

https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/

Member

gaearon commented Sep 22, 2017

We’re relicensing React, Jest, Flow, and Immutable.js under the MIT license.
I hope that this addresses your concerns.

https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/

@colinmegill

This comment has been minimized.

Show comment
Hide comment
@colinmegill

colinmegill Sep 22, 2017

@alexgorbatchev

This comment has been minimized.

Show comment
Hide comment
@alexgorbatchev

alexgorbatchev Sep 22, 2017

Fantastic news! Thank you! 💯

Fantastic news! Thank you! 💯

@blling

This comment has been minimized.

Show comment
Hide comment
@blling

blling Sep 22, 2017

Great! Thanks for all of your hard work! :)

blling commented Sep 22, 2017

Great! Thanks for all of your hard work! :)

@syranide

This comment has been minimized.

Show comment
Hide comment
@syranide

syranide Sep 23, 2017

Contributor

@gaearon I know it's been troublesome and tiresome for you guys. Big round of applause to you all for making this change and all the amazing upcoming React improvements you're working on.

Contributor

syranide commented Sep 23, 2017

@gaearon I know it's been troublesome and tiresome for you guys. Big round of applause to you all for making this change and all the amazing upcoming React improvements you're working on.

@colinmegill

This comment has been minimized.

Show comment
Hide comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment