Culture / Programming Languages

This Week in Programming: ‘We are Never, Ever, Ever Licensing Your Software’

7 Jun 2019 10:23am, by

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.”

Reactions from open-source leaders, such as Bryan Cantrill and Steve O’Grady, are anything but mixed.

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.

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!
  • Swift Package Support on GitHub: And now, as we arrive at the GitHub portion of developer news, we start off with one final Apple-y bit of news, which is that GitHub Package Registry will support Swift packages. As you’ve likely heard, GitHub recently launched “the limited beta of GitHub Package Registry, a package management service that makes it easy to publish public or private packages next to your source code” with support for JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images. Well, it now supports Swift packages too, with the Swift Package Manager, “a single cross-platform tool for building, running, testing, and packaging your Swift code.”
  • 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.

Feature image by Maklay62 from Pixabay.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.