Explain Facebook's BSD+patents license like I'm five

twitter logo github logo ・1 min read

I'm sure there are some devs out there who are completely lost in this conversation and I'm not as tuned in as I could be. Could someone explain the concern, Facebook's response, and the current outlook as of today?

You don't have to be an expert either to contribute, any insight is valuable!

twitter logo DISCUSS (14)
markdown guide
 

I think the biggest concern here is Facebook was under the clause of supporting the open-source community with their tools, except that they can revoke your right to use their tools if you try to sue them. This is pretty much against the culture of open-source.

The reason why this was blown up so much was due to Facebook's mannerisms with copying other products. Their aggressive approach to copying Snapchat into oblivion is an example of this. Now, imagine if Snapchat was built with React (in whatever capacity), Facebook copies them like mad, and Snapchat tries to sue based on IP infringement. Just like that, they'd lose their right to use React in their product and might have to build it again from scratch, which could kill their company.

People didn't realize this was in Facebook's license until a couple of people took a closer look at it, so it'd take you by surprise if you were building a startup with it. They responded by saying this was to protect themselves more than anything, claiming that a lot of law firms make their money by suing companies on baseless claims, but the community didn't buy it. A lot of developers boycotted React in favour of other alternatives, like Vue.js or Preact.

I think Facebook was starting to realize how much of a negative light the developer community was seeing them in. They'd probably take their public image as a bigger risk than getting in a lawsuit a couple times on baseless claims.

 

I'm just catching up, but from what I can gather, this is how I'd explain it.

Me != Lawyer

The coolest kid in class has really neat crayons.
They let anyone use these cool crayons with the following rule:

  • if you tell the teacher on them that they're copying your drawings, they get to keep everything you drew with those crayons
 

The current outlook as of today is that Facebook relicensed the newer versions of their projects to MIT license without patent grant. Some might say the "without (explicit) patent grant" state as it is now is actually worse than before, but others argue that using MIT, the patent grant is implied, and if it's indeed troublesome then it's a trouble that is faced by the entire OSS community, so no need to worry there.

Not long after, they also put a license to the GraphQL spec using the Open Web Foundation Agreement (OWFa) v1.0. Previously GraphQL spec was (almost) patented without specific patent grant, causing GraphQL server implementations out there to potentially infringe Facebook patent.

 

The one that still gets to me is React Native. In a way, much more so than React in the first place. React Native would be so much harder to replace if you needed to. Even under the worst circumstances, you could swap React under the hood because, as Google v Oracle demonstrated, it doesn't seem like you can't hope to patent an API.

On the other hand, your odds of needing to sue Facebook over this sort of thing are probably pretty slim if you're not a major competing tech company, so practically speaking it never really affected a whole lot of people.

 

It's not just about your need to sue, it's about some other startup's need to sue. If everybody ignored the restrictions on licenses you'd end up with an ecosystem entirely dominated by these lopsided terms.

Such an ecosystem can be extremely harmful to innovators. Say a new startup has an actual patentable idea and goes to create software around it. If 99% of all products are ecumbered by bad licenses they'll find it impossible to implement their software, or the cost of reimplementation will be too high.

These aggressive licenses have this negative effect of excluding future ventures from entering the market place, even if they aren't related to any of the original licensors markets.

 

People can prohibit others from using their ideas. This protection is called "patent".

Facebooks license grants you usage rights of their patented ideas with the tiny caveat that they take this grant away if you sue them when they use your patented ideas.

This can be bad. For example when Facebook want to use your patented ideas to harm you and you use their ideas. Now you would have to get rid of all patented Facebook ideas in your codebase.

But the root of the problem isn't the license but the patents, because Facebook has many of them. In fact, so many, that potentially all non-trivial software uses patented facebook ideas.

 

React & a few other projects do not use this license anymore, anyway here it is:

You and your friend are 5y old. Your friend has a cool shiny toy, he will give it to you to play for free but ... you are not allowed to talk to his parents if he upsets you, or steal one of your other toys.

 
 

It's a standard BSD license except if you sue Facebook for patent infringement. FAQ

IMO the biggest issue is not being standard. Most big companies have there legal departments check and approve standard licenses like MIT, Apache2 etc... This is something different. Different is scary.

 

So would you consider the backlash to be overblown?

 

Facebook's position was that if everyone started using this license, it would cut down on patent litigation. That might be true but I don't think it would be a good legal deterrent in practice. On the one hand, if you ask your legal department's permission to use React, they probably won't get on board with being bound to never sue Facebook; they don't care how great React is. On the other hand, if you use React without getting permission from Legal, and your company is thinking about suing Facebook over patent infringement and they find out about React, it might be a deterrent. But you can also bet some engineers are going to get fired.

 

The BSD + patent licence put developers in position to choose OSS libraries for non-technical reasons -> the licence. Some examples are Wordpress and the Apache foundation.

I think is's good they changed it.

 

I think I missed the memo, facebook is screwing over people, again!? For the record, I hate that facebook dude. Nuf said

 
Classic DEV Post from Apr 4

Learning to love software development books 💙

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.

Don't ghost on us ❤️

Sign Up