Facebook has, very reasonably, given into pressure from all sides to change the licence of many of its open source project from the contentious BSD+patents to the more familiar and friendly MIT License.

To be honest we have been trying to put together a news report about Facebook and its use of the BSD+patents licence for some weeks. but failed to resolve the basic issue - is it evil?

At first glance the argument seems to be that it is. The license is a standard BSD licence, but with a twist. Any user of React who sued, or more broadly made a patents assertion, against Facebook would lose the right to use React. At first this seems alarming and some warned from an early stage that this was not good - to the extent of saying that we should all steer clear of any open source project that used the BSD+patents license. As React was such a big success it seemed that there might be safety in numbers and who is going to sue Facebook anyway?

The argument has been made in a number of places that one of the problems is that you cannot say how such conditions might be used in the future, nor how they might affect your future. Consider if you create a very profitable application using React and a big company wanted to buy you out but that company had an existing ongoing patent dispute with Facebook - your application would be worthless if they bought it because it could no longer use React.

There are many examples of possible problems, but Facebook defends itself with the argument that it just wants to provide the community with open source software and protect itself at the same time. The difficulty in presenting these arguments in a news report has been that they are complicated and legalistic. The strongest argument is that Facebook is doing nothing that others are not doing.The idea that defensive clauses are common is difficult to prove, however. In the Apache 2.0 licence, for example, the patent grant is terminated if you bring a patent claim against it.

Anyway the situation has resolved and until a similar case appears there doesn't seem to be any pressing reason to make a clear judgement on the matter. Facebook has given into the complaint and pressure. Apache decided to put the licence on its category X list which basically means that you can't use software under it within an Apache project. Wordpress then followed by saying it would be moving away from React. Others have also expressed concern at using or adopting React. Facebook Engineering director Adam Wolff in a blog post said that they clearly hadn't won the argument and despite still believing in its licence, React and some other projects would be moved over to the MIT license. .

"Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license. We're relicensing these projects because React is the foundation of a broad ecosystem of open source software for the web, and we don't want to hold back forward progress for nontechnical reasons."

There are still important projects, notably GraphQL, that haven't been confirmed as moving from the BSD+patents licence and no doubt users will keep watching what happens.

"This shift naturally raises questions about the rest of Facebook's open source projects. Many of our popular projects will keep the BSD + Patents license for now. We're evaluating those projects' licenses too, but each project is different and alternative licensing options will depend on a variety of factors."

So it might not all be over, done and dusted, even if Facebook wants it to be:

"We're looking forward to putting this license discussion behind us and getting back to what we care about most: shipping great products."

For us poor programmers, innocent of the law, it really is a horrible nightmare of a problem. Who would think that giving away software could be so fraught with difficulties.

You probably think, like I do, that anything can be fixed in software, But it appears that the latest class of attacks need more than software to fix. Google's researchers are convinced that only hard [ ... ]