Technology

This Week in Programming: Elasticsearch Turns AWS into an Open Source Champion

22 Jan 2021 12:19pm, by

In our telling of stories around open source software, we often frame things in terms of good and bad, open and closed, free and not free. Two years ago, when Amazon Web Services (AWS) created the Open Distro for Elasticsearch, some argued that what the company was forking the project to sidestep its attempts at restricting AWS from selling Elasticsearch as a service. The general consensus among those opining on Twitter and elsewhere was that this was yet another case of an internet giant using its heft to bully the smaller open source company. In that David versus Goliath telling of the story, Goliath AWS was unfairly profiting off the toils of Elastic, essentially stealing the fruits of their labor, using their market dominance to overshadow the smaller company and sell its product as a service.

My, how things can change.

This week, Elastic announced that it had enough with AWS offering their open source software as a service, and that it would be changing the license for both Elasticsearch and Kibana from Apache 2.0 to a dual license under the Server Side Public License (SSPL) and the Elastic License, giving users the choice of which license to apply. Both of these licenses contain clauses restricting the use of the software — a move that the Open Source Initiative sees as being in violation of the sixth point of the Open Source Definition, which states that “the license must not restrict anyone from making use of the program in a specific field of endeavor.”

“With the shift to SaaS as a delivery model, some cloud service providers have taken advantage of open source products by providing them as a service, without contributing back,” Elastic explained. “This change won’t affect the vast majority of our users, but it will restrict cloud service providers from offering our software as a service.”

In response, AWS this week announced that it would be “stepping up for a truly open source Elasticsearch,” this time truly forking the project, in order to keep it available under the Apache 2.0 license.

“In order to ensure open source versions of both packages remain available and well supported, including in our own offerings, we are announcing today that AWS will step up to create and maintain an ALv2-licensed fork of open source Elasticsearch and Kibana,” the company wrote.

Despite Elastic’s repeated assertions that what AWS had been doing was “NOT OK,” what was even more “NOT OK,” it seems, was the closing off of a previously open source project. And while the general narrative around the whole affair has had the easily adopted tone of “AWS bad, anyone else good,” another Twitter thread offered a topsy-turvy perspective that makes that David versus Goliath framing one to question.

This Week in Programming

  • Red Hat Expands RHEL Free Use: Late last year, Red Hat took the unpopular step of deprecating Linux CentOS in favor of a streaming edition, and now the company has announced two new free use cases for its Red Hat Enterprise Linux (RHEL) for both small production workloads and customer development teams. “When we announced our intent to transition to CentOS Stream,” they wrote, “we did so with a plan to create new programs to address use cases traditionally served by CentOS Linux.” Starting no later than February 1, 2021, RHEL’s “Individual Developer” subscription can be used in production for up to 16 systems. At the same time, as part of its Red Hat Developer Program, development teams “can now be added to this program at no additional cost via the customer’s existing subscription.” Keep an eye on The New Stack for a detailed walk-through from Linux guru Jack Wallen.

  • AWS Adds Go SDK v2, Ends Python 2.7 Support: Amazon Web Services offered several updates this week regarding its AWS SDK, including the general availability of AWS SDK for Go version 2 (v2), which requires Go 1.15 or higher, and “offers significant performance improvements in CPU and memory utilization over version 1.” New features include modularization, packaging each AWS service client as an independent Go module, intuitive configuration in a single Config type, simplified API client methods by providing a simpler API client, performance improvements, and more. As for Python 2.7, AWS has announced the end of support as of July 15, 2021. With official support for Python 2.7 ended a year ago, AWS says that it will “be joining these deprecations to maintain secure and up-to-date SDKs.” Check out the full post for how to keep yourself up to date.

  • GitHub’s Enterprise Server 3.0 Previews: First announced last year during the GitHub Universe Keynote, GitHub has put out a release candidate for GitHub Enterprise Server 3.0. The release candidate offers users a way to test features and provide feedback before moving over to their production environments, which might be a good idea, since GitHub says “it’s the biggest ever change to Enterprise Server.” New features include the introduction of GitHub Actions, the ability to publish and consume packages together with code, the betas of iOS and Android apps, and the features associated with GitHub Advanced Security, such as code scanning and secret scanning.
  • DigitalOcean App Platform Connects to GitLab: DigitalOcean’s App Platform, announced late last year, has now introduced a GitLab integration (joining the already existing GitHub integration) that will allow users to deploy code directly from their GitLab repositories. The integration also features an “Autodeploy on Push” functionality that will automatically re-deploy their app with each push to the branch containing the source code. The company notes that a BitBucket integration is “around the corner.”

  • Rust’s Docs Get A Speed Boost: The Rustdoc team has written up a blog post summarizing the recent Rustdoc performance improvements, noting that “it’s all about cleanup.” The post comes after a recent tweet by Rustdoc team leader Guillaume Gomez showcased the speed improvements and the community let out a collective “how’d you do it?” As usual, the Rust blog offers an inside look at how the sausage is made, detailing the work the team did to pay down technical debt by “removing implementations in rustdoc and using the compiler types directly.” Looking forward, the team still hopes to “simplify and rework a lot of the rustdoc source code” and says there’s more work to be done to help speed up the language’s documentation.
  • A “New Kind of Open Source Organization”: Last up, Coraline Ada Ehmke, the creator of the Hippocratic License and Contributor Covenant, announced the creation of the Organization for Ethical Source (OES) this week, looking to challenge the idea “that open source software can be used for any purpose without restriction, even for explicitly ‘evil’ purposes.” Arguing that “the world has changed since the Open Source Definition was created — open source has become ubiquitous, and is now being leveraged by bad actors for mass surveillance, racist policing, and other human rights abuses all over the world,” Ehmke says that “As technologists we have to accept that our work has an outsized impact on society, and that means we have an outsized responsibility to minimize the harm it can cause. The Organization for Ethical Source was founded to help technologists accept these responsibilities, and learn how to center justice and equity in the work we do. We are united in our conviction that software freedom must not come before human freedom.” If arguing about the very nature of open source is among your favorite pastimes, this is the week for you, so get out there.


Feature Image: U.S. Senator Bernie Sanders “dropping in” to one of our Pancake Breakfasts (Bernie Sanders Sitting in a Chair With Mittens Meme Template)

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