The complicating factor there is Facebook actually has a patent covering the GraphQL specification (along with the fact that they're applying PATENTS to a specification, vs an implementation): https://www.google.com/patents/US9646028
> As our business has become successful, we've become a larger target for meritless patent litigation. This type of litigation can be extremely costly in terms of both resources and attention. It would have been easy for us to stop contributing to open source, or to do what some other large companies do and only release software that isn't used in our most successful products, but we decided to take a different approach.
Never heard Facebook answer: why didn't they just follow Red Hat's model and make a "Patent Promise"[1]?
Then accumulation of software patents would help deter meritless litigation while staying out of the way of FLOSS developers getting their work done.
[1]: https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revok...
Red Hat holds patents but promises not to enforce them. This means anyone can use the IP without worrying about being sued for infringement. No one else can claim they own the IP because Red Hat already owns it. They also have a clause saying that if Red Hat sells the IP, the buyer needs to uphold the same promise.
The "combined" part seems to be saying you can also develop a system that's partly proprietary, as long as the proprietary parts are simple and not using Red Hat's patents.
If they sell a patent, the buyer must agree to the same promise.
The promise won't protect you if you infringe someone else's IP, even if it's related to one of Red Hat's patents.
Isn't that exactly the same as Facebook's license grant?
Facebook: You can use our software if we can use your patents.
That's my severely over-simplified interpretation. The most significant difference is that Red Hat's promise extends to FOSS in general, though apparently not proprietary software. Facebook's license applies only to specific Facebook FOSS code, but it can be used in proprietary software.
>Our Promise also does not extend to the actions of a party (including past actions) if at any time the party or its affiliate asserts a patent in proceedings against Red Hat (or its affiliate) or any offering of Red Hat (or its affiliate) (including a cross-claim or counterclaim).
So RedHat can hypothetically use all of your software patents and still sue you for infringement based on their patents if you sue them.
RedHat won't sue you over your FOSS project that infringes any of RedHat patents, but your proprietary software is fair game.
Facebook won't sue you for infringement caused by using one of their libraries in your software (FOSS or not), but your independent project (FOSS or not) that infringes any Facebook patent is fair game.
if Facebook [...] files a lawsuit alleging patent infringement against you
in the first instance, and you respond by filing a patent infringement
counterclaim in that lawsuit against that party that is unrelated to the
Software, the license granted hereunder will not terminateIf I read this right, Red Hat promises to not sue anyone for using/transferring FOSS whether or not such an action infringes on Red Hat's patents - they will only use patents to defend against litigation. (IANAL.)
The four freedoms and free software solve so many of the problems I see around modern tech-infrastructure. No, free software doesn't solve every issue and has some of it's own, for example I think at the code complexity levels we are at the many eyes theory is starting to crumble, but it doesn't change the core truisms about freedom in computing that are important for us to move forward in a free and open society if we actually want to start solving prolems.
Now that we have a concrete example of how picking tooling with bad licensing can bite people in the butt, please take this time to at least consider GPL varients (A/L/GPLv3) for as much of your tooling as you possibly can. (perhaps CC0/CCBY/CCBYSA for content)
In my opinion, MIT/BSD licenses like FB moved to in this case simply aren't good enough to be future-proof, primarily because of the ability of future tivoization of a product that removes freedom from the user (think BSD on playstation).
Remember, either the user controls the program, or the program controls the user.
If the GPL scares you for some reason or you have question about it (commercial sales of gpl software for example), feel free to ask. I've spent enough time wading through just about every license so I think I might be able to cut through some fud.
My own company's lawyers consider the GPLv3 toxic and not allowed at all for company use in any software we create - that's enough for me.
Read the slide in the first few seconds. Does that look familiar to you? https://youtu.be/okEQt-Rla7o?t=863
That is the mental image of your company's lawyers when you ask about GPLv3.
This discussion sometimes feels like like the PHB telling Dilbert to go base the product on Oracle because of an article in CIO Monthly ("written by an EXPERT!") says it's the best database.
> My own company's lawyers consider the GPLv3 toxic and not allowed at all for company use in any software we create - that's enough for me.
Don't just blindly defer to lawyers. Yes, including GPL source code in a proprietary product could sink your company's business model. But using a GPL webserver is no threat. Nor using Linux as a set top box to run your local application (Roku). Nor using GCC to compile the program. (Alot of Playstation 1 games used GCC.)
Your own company's lawyers may be very ignorant on the GPL and it's benefits.
They may simply not understand and are relying on other people to inform them. (I believe Microsoft's old attacks against the GPL used the word toxic.)
I knew a contract lawyer who called the GPL 'very restrictive'. I pointed out the Windows EULA. He never really read it to understand it's far more restrictive terms. He never really looked at a EULA through a lawyer's lens and how much his business would suffer if the the terms were actually exercised. Nor that he didn't have to accept the GPL to use GPL software. Only to redistribute it. I doubt he could find that permissiveness in an EULA.
Lawrence Lessig made a few comments that his lawyer friends couldn't understand how Creative Commons licenses worked. People that have never met each other had legally agreed to binding license. This was in the early 2000's.
Isn't that often because the GPL would require you to release your source code? Which is different from possible patent problems? I can understand why companies don't want to release their source code, but at least it's clear ("release your code and you can't be sued"), right?
I have yet to see a single "professional IP lawyer" who knew more about GPL than an average IT pro. The was majority simply puts forwards claims without doing a minute of actual research on GPL
Maybe they don't care because in reality its not a problem?
In the sense that it's not a problem people generally have -- not that nobody ever has had it.
A lot of people worry too much about all kinds of BS eventualities and technicalities, and this could be one of them in most cases.
>Now that we have a concrete example of how picking tooling with bad licensing can bite people in the butt
It only bit FB in the butt (in the sense that some developers complained about their license choice) -- not those using the tooling with FB license.
What are you referring to? Who has been bitten exactly?
IANAL.
You don't really require to give the source code unless the purchased person asks for the source. Most people don't care about the source. And you require only to provide source for people who obtained the binary legally. Nobody else can demand for source code.
Say for example, most of the D-Link routers come with a warranty card saying the software is GPL and is available on request. Period.
You can also void the warranty of the software (and hardware) in case the software you sold was replaced with a modified version (afaik, requesting for source can't make the warranty void).
There are a few things to consider: GPL v2 requires you to produce the source code in CD/Floppy (or like media), while GPL v3 allows you to have the source uploaded to net (or sent via email).
I think you're mixing mutually exclusive options. As I understand it, GPL requires you to either provide source code up-front on the same terms as the binaries (I think the relevant phrase in GPLv3 is "equivalent access"), or alternatively provide a written offer to provide the source code to anyone who requests it. The reason the offer must be to anyone is that your customers can distribute that offer with the binaries in lieu of source code. That way, they have the ability to redistribute/"convey" the software in a compliant way even though they don't have source code.
> GPL v2 requires you to produce the source code in CD/Floppy (or like media)
Unless I'm missing something, GPLv2 just says "a medium customarily used for software interchange", not specifying that it must be any sort of disk/tape.
That, plus the fact that if you incorporate any GNU GPLed software in your own software your own derivative software must be licensable under the GNU GPL, or be more liberally licensed, makes for the uncomfortable discussions with lawyers about use of GNU GPLed software in any company.
I have found a person that requested source of BMW i3 car software, and he have uploaded the source online[0].
Really?
https://finance.google.co.uk/finance?q=NYSE:RHT
We actively buy proprietary companies and relicense their software under free software licenses.
Now, about actual software as a product success stories, where you don't sell to companies that need someone to blame (and thus opt for support contracts)?
And even that could hurt their business if somebody used the core to build their own app for the same target market on top of it.
I pretty sure their "core" naming is just another way to promote usage of paid version, but you can still compile it yourself and easily remove all license checks.
Why would they do all these changes if the previous model worked well for making them money?
https://www.reddit.com/r/linux/comments/2fydpm/synergy_gpl_i...
Of course it's not shiny VC funded company with 10000% growth, but I guess it's profitable business. Though it's not that much different from what Red Hat doing by selling support even if it's on small scale.
Heck, they couldn't even put it on the iOS App Store for free...
How do you reconcile that
I'm sorry but Creative Commons themselves declare that their licensing should not be used for software.
https://creativecommons.org/faq/#can-i-apply-a-creative-comm...
content is not software
This is a backwards move. Facebook is very good at PR painting this as a win for users.
See http://en.swpat.org/wiki/Patent_clauses_in_software_licences...
an explanation https://opensource.stackexchange.com/a/1890
https://github.com/facebookincubator/gloo/blob/master/PATENT...
I count:
* ReasonML - https://github.com/facebook/reason/blob/master/PATENTS.txt
* GraphQL - https://github.com/graphql/graphql-js/blob/master/PATENTS
* react-native - https://github.com/facebook/react-native/blob/master/PATENTS
* PlanOut - https://github.com/facebook/planout/blob/master/PATENTS
* Flow - https://github.com/facebook/flow/blob/master/PATENTS
* Haxl - https://github.com/facebook/Haxl/blob/master/PATENTS
* Flux - https://github.com/facebook/flux/blob/master/PATENTS
Just a few that I found.. Please reply if you know more project that are still BSD+PATENTS licensed.