Earlier this month, the pressure was mounting, with companies like WordPress abandoning Facebook’s front-end library React after the Apache Foundation deemed it unfit for Apache projects earlier in the summer. This week, the news came swiftly: Facebook would Relicense React, Jest, Flow, and Immutable.js and assuage everyone’s concerns over its worrisome BSD licensing. As we wrote earlier this week, “React had been distributed under a BSD license with patents encircling the project,” which “led to many developers leaving the React community for fear of being brought up on patent infringement charges.”
So everything is hunky dory now in the world, right? Not quite so fast, say some.
Just got my new programming keyboard. pic.twitter.com/vHpcaDtoC4
— Daryl (@darylginn) September 29, 2017
While Redmonk’s Stephen O’Grady directs us to remember that we’re only in this situation in the first place because Facebook chose to make an internal software available as open source, the specific change in licensing is somewhat problematic:
The problem is that by choosing this approach, Facebook does not convey with the MIT license any patent grants as they would have under the Apache. If Facebook has patents that read on React, in other words, users of that software are not given an explicit license to them via MIT, only an untested implicit license.
Which means that Facebook has effectively resolved one patent issue by introducing a second.
An article in Quartz this week similarly summarizes the licensing controversy until now, noting a parallel concern from Electronic Frontier Foundation patent attorney Daniel Nazer:
Developers around the internet rejoiced over the decision, but Daniel Nazer, the patent attorney at the Electronic Frontier Foundation, pointed out that with only the MIT license and no explicit grant to Facebook’s patents, React has entered a murky legal area. The MIT license might imply rights to the patent, he said, but that has never been litigated, and no precedent has been established.
“You’ve gone from having an express license to an open question,” he said. “Only if you were planning to sue Facebook for patent infringement, or thought that was reasonably likely in your future, are you better off now.”
Legal nuances aside, it seems that most articles on the topic are ready to heap praise on Facebook for finally kowtowing to community pressures. Only time will tell if this relicensing effort will pay off.
My depiction of Windows 10 Subsystem for Linux (WSL). pic.twitter.com/bQGAPbvCJJ
— nixCraft (@nixcraft) September 28, 2017
This Week in Programming Languages
- StackOverflow offers a dual release this week with its Microsoft-powered StackOverflow bot. First, developers gain access to a chatbot to search StackOverflow with. As noted in their promo, “The promise of StackOverflow’s bot … is to keep developers in the zone while they’re working on their code. Secondly, of course, the code is fully available on GitHub, meaning you not only get a nifty new bot to work with (the promo video even shows it writing simple code for you), but you get to see how it works with Microsoft’s tools. Bonus.
- With last week’s arrival of JDK 9, we also saw the completion of Project Jigsaw, which has been almost a decade in the making. Project Jigsaw purports to enhance “Java to support programming in the large by adding a module system to the Java SE Platform and to its reference implementation, the JDK. You can now leverage the key advantages of that system, namely strong encapsulation, and reliable configuration, to climb out of JAR hell and better structure your code for reusability and long-term evolution.”
- While we’re talking about Java, a study caught our eye this week that ranked programming languages according to real-world energy efficiency — like ranking light bulbs or servers. After all, the efficiency of code does translate into energy use, and according to this study, Java is one of the most energy-efficient languages, Python among least energy efficient. The study finds that compiled languages tend to be the most energy efficient, while interpreted languages were least efficient. “On average, if sorted by their programming paradigm, the imperative languages needed the least amount of memory, followed by the object-oriented, the functional, and finally the scripting languages.”
- Chances are, if this applies to you then you’ve noticed by now, but better late than never — Dropbox announced yesterday that the deprecation of its API v1 was complete.
HELLO ITS ME THE GUY THEY CHOSE TO GIVE 280 CHARACTERS OF UNMITIGATED TWITTER TO
THAT'S RIGHT NOW YOU CAN ENJOY ALL OF MY MOST BRILLIANT TH
— PHP CEO (@PHP_CEO) September 26, 2017
- Finally, moving on to some open source news, Microsoft this week officially became a sponsor of the Open Source Initiative. You may, as others, hold your applause. Frederic Lardinois at Techcrunch points out that “there remains a good amount of skepticism in the open source and free software community around why Microsoft is doing this. The fact that former Microsoft CEO Steve Ballmer once called Linux a cancer still echoes through the collective unconscious of the open source world.”
- Yahoo this week also open sourced its Vespa big data processing and serving engine, saying that the move will make “it easy for anyone to build applications that can compute responses to user requests, over large datasets, at real time and at internet scale — capabilities that up until now, have been within reach of only a few large companies.” The project is available on Github.