This Week in Programming: ‘We are Never, Ever, Ever Licensing Your Software’
If you look at the variety of open source licenses available, you’ll notice one theme in common — they all permit the use of that open source code in the creation of commercial products. And while these recent kerfuffles over big companies, such as Amazon, using open source code in products they provide commercialize may seem like a new trend, it’s pretty much the oldest tale in open source playing out over and over again in new and inventive ways. Heck, it’s practically the origin of open source.
This week, the debate around open source licenses has been renewed with some news from CockroachDB that they will be relicensing under “an extremely permissive version of the Business Source License (BSL)“, as first created by MariaDB, and moving even further away from the Apache License 2 (APL). The company had previously shifted to the CockroachDB Community License (CCL), which intended to “ensure that commercial usage of enterprise features, beyond an evaluation period, is paid.”
In a blog post, the company now explains its thought behind “Why We’re Relicensing CockroachDB“, writing that “our past outlook on the right business model relied on a crucial norm in the open source software world: that companies could build a business around a strong open source core product without a much larger technology platform company coming along and offering the same product as a service. That norm no longer holds.”
Continuing on, they explain that, under BSL, “CockroachDB users can scale CockroachDB to any number of nodes. They can use CockroachDB or embed it in their applications (whether they ship those applications to customers or run them as a service). They can even run it as a service internally. The one and only thing that you cannot do is offer a commercial version of CockroachDB as a service without buying a license.”
The new license has a “rolling time limit” of three years, after which the license converts to the standard Apache 2.0 license, and the company admits that “this means that CockroachDB core is no longer Open Source (according to OSI’s Open Source Definition), although the complete source code is still available, and any commercial usage is allowed with the one exception of building a DBaaS.”
i can't believe this actually needs to be said, but, well, here we are https://t.co/uWKqxbvQXI
— steve o'grady (@sogrady) June 5, 2019
— steve o'grady (@sogrady) June 4, 2019
Others, meanwhile, say that the current conundrum of companies like Amazon taking open source and forking it for its own monetization, or merely offering it as a competition-killing service, is the expected outcome to this movie.
Chris DiBona, an “open source dude” for Google, however, simply asks for one thing in this new world of not-open-source: license clarity.
..There is clearly a desire expressed by these Source Available players to work with the larger world. Here's the thing: One of the *great* and useful things about open source licenses is we have uniformity across a given license "type": mit, bsd, gplv2 etc.. and thus ..
— Chris DiBona (@cdibona) June 1, 2019
..that we whittle the 'source available' licenses down to a couple of standard ones so that we compliance types can make their adoption more efficient. I will tell you that as it stands, we end up having to evaluate every 'new' license carefully and have rejected the use of …
— Chris DiBona (@cdibona) June 1, 2019
Well, there you have it — another episode in the sitcom of how to hold on to something that isn’t really yours. As the Open Source Initiative lays out clearly in its FAQ, “Open Source licenses may not discriminate against persons or groups. Giving everyone freedom means giving evil people freedom, too.”
This Week in Programming
- WWDC For Developers: It may be a bit of a trend that developer conferences these days make sure to throw in a bunch of consumer-y news, to stay in the headlines, and Apple’s World Wide Developer Conference (WWDC) is no exception, with its $999 monitor stand. That aside, ProgrammableWeb offers a great synopsis of all the developer tools for iOS13 that Apple quietly revealed in a statement as well as in non-main-stage developer sessions. Key among the new features were SwiftUI, “Apple’s user interface framework for creating app UIs”, which makes it easy for developers to see interface changes in real-time across numerous Apple devices, as it uses the “same API built into iOS, macOS, watchOS, tvOS, and iPadOS”. ProgrammableWeb notes that with SwiftUI, “Apple is handling all the heavy lifting in the background” and “gives developers a massive headstart on building native macOS apps.” Next up, ARKit 3 “makes some truly amazing leaps forward” with its ability to account for people moving throughout space, allowing people to “walk around (behind and in front of) virtual objects”, as well as its ability to track up to three faces at a time. Of course, there are also some new machine learning capabilities as well with Core ML and Create ML, making it easier to “build, train, and deploy machine learning models with no machine learning expertise required” and switch between CPU, GPU, and Neural Engine as needed. Finally, Apple is diving a bit deeper into the ID game with Apple ID, which users can use to sign into apps and websites, even bringing Face ID and Touch ID to these sign-ins. One final note not really mentioned in ProgrammableWeb’s article — there have been some updates to the App Store Review Guidelines that are worth reviewing that deal with privacy among other things. Go forth!
Apple isn't the only one with a thousand dollar monitor stand. pic.twitter.com/9mJciEH5fn
— Steven J. Vaughan-Nichols (@sjvn) June 5, 2019
- Stashing & Rebasing Come to GitHub Desktop 2.0: That’s the gist of it — GitHub Desktop 2.0 is out and, in addition to the many features announced along the way, such as resolving merge conflicts or co-author commits, but the features folks are most excited about are stashing and rebasing. In essence, stashing means that you can stash your work aside real quick while you temporarily change contexts — ” if you’re not ready to commit your work, you can choose to bring your changes to the new branch or keep them on your current branch,” explains GitHub. Rebasing, meanwhile, lets you hide merge commits from your commit history, to provide a more “clean commit history” appearance. In terms of potentially interesting numbers: 150 contributors to GitHub Desktop 2.0, with “millions” of downloads so far, and “more than 500,000 people actively developing in the app each month.”
- GitHub Comes to Microsoft Teams: For those of you on Microsoft Teams instead of Slack, your lives may have gotten just a bit easier with GitHub for Microsoft Teams. The GitHub for Microsoft Teams application can be installed from Microsoft Teams App Store and will “support Tab, Messaging Extension, Bot and Personal app capabilities.” GitHub Bot, for example, will let you access lists of all your repositories, issues, and pull requests, search, view details, add comments, and more, giving you the full ChatOps experience. Similarly, you can configure the app to notify you of new pull requests, pushes, issues, and comments.
You know what's really cool? Sometimes Ctrl-C copies text, but other times Ctrl-C cancels the process you've been running for 2 hours.
— Jake VanderPlas (@jakevdp) June 5, 2019
- Google Intros ‘TensorNetwork’ Library: Google has released TensorNetwork, an “open source library for efficient tensor calculations”, which DevClass offers some context on, writing that the new library “is meant to help physicists as well as machine learning researchers to implement algorithms that make use of sparse data structures called tensor networks.” Google developed the new library alongside Alphabet subsidiary X and the Perimeter Institute for Theoretical Physics, “which recently hit the news as one of the collaborators behind the black hole images released earlier this year,” and is built on — you guessed it — Google’s “popular numerical computation library TensorFlow.” If you really want the nitty gritty, make sure to read Google AI team’s blog or dive even deeper into the scientific paper. Of course, you can always find it on GitHub as well, where it’s offered under the Apache 2.0 license.
- Preview Python 3.8: JaxEnter reports that Python 3.8.0 beta 1 has arrived, as of June 4, 2019, marking the “feature freeze,” which means that “from this point on, no new features will be included.” The release is one of four beta release previews to precede the final version, with the next beta scheduled for July 1, 2019 — the whole release schedule is available for details. For more info on what’s new in the beta, click on through.
Tay, multi-cloud is a hip way of saying we've acquired several companies and not migrated any cloud instances because it's expensive, time consuming, and frankly, nobody remembers why it was set up this way in the first place.
— ROT26 🇺🇦✊ (@rotate26chars) June 2, 2019