This Week in Programming: Open Source, Open Data, and Openwashing
Choo choo, all aboard everyone, hop on the open source and open data train!
Google Chief Economist (what a title, huh?) Hal Varian penned a blog post boasting about the company’s contributions in the realm of open source and open data. Of course, Google’s contributions in this realm are substantial, to say the least. As Varian relates in the post, Google’s open data contributions include the Open Images dataset of 36.5 million images, millions of annotated videos in the YouTube-8M collection, the Natural Questions database, which contains 307,373 human-generated questions and answers, 20,000 Kaggle Open Datasets and the Cloud Public Datasets, all the data encapsulated in Google Trends that reaches back to 2004, and the 62 datasets listed on Google AI, amongst others.
That’s just the open data. Open source, of course, is another impressive story. Varian lays it out:
Key examples of this include Android, our smartphone operating system, Chromium, the code base for our Chrome browser (now also powering many competitors), and TensorFlow, our machine learning system. Google’s release of Kubernetes changed cloud hosting forever, and has enabled innovation and competition across the cloud industry. Google is also the largest contributor of open source code to GitHub, a shared repository for software development. In 2017, Googlers made more than 250,000 changes to tens of thousands of projects on GitHub alone.
How can you argue with that? And Google isn’t the only one diving into the open source game these days, with big names like IBM, Microsoft, Facebook and Amazon even getting in on the fun. But even looking at this impressive list, I find myself wondering… does open source and open data absolve these companies of their other sins?
Therapist: and what do we do when the tests fail in CI?
Me: keep deleting test files until the build passes
— I Am Devloper (@iamdevloper) September 8, 2019
Even just opening up Google’s blog post, my mind immediately wandered to thoughts of Google “accidentally” collecting data with its Street View vehicles. Yes, that was ages ago, but even just earlier this year the company was fined $57 million over GDPR violations and it’s about to pay $170 million in fines for violating the Children’s Online Privacy Protection Act. The list goes on, for Google, and any of these companies.
A little Googling quickly put a word to my thoughts — openwashing — but I find myself questioning that moniker for companies that, admittedly, do this much to contribute to open source. The site offers two definitions:
Openwashing: to spin a product or company as open, although it is not. Derived from ‘greenwashing.’ Michelle Thorn
Openwashing: n., having an appearance of open-source and open-licensing for marketing purposes, while continuing proprietary practices. Audrey Watters
Nonetheless, oodles of open source and open data or not, these companies also actively work to erode privacy and data protections of their users. So that might be my question to you, dear reader — is there a ratio that makes it all okay? Can we look at one aspect and ignore the other? Does the contribution of thousands upon thousands of data sets and much of the open source software that’s making the Internet run make it all okay?
I’d venture that it’s not a binary and it’s obviously not okay, but just reading that blog post, I couldn’t move past without noting that open source and open data is all good and happy, but it doesn’t overshadow the other side of things.
Dear Google and others: quit feeding us with one hand while pickpocketing us with the other.
The first time I got stuck in vimhttps://t.co/6xQeDcjTNN
— Erin 🐠 (@erinfranmc) September 10, 2019
This Week in Programming
- GitLab Extends Free CI/CD for GitHub Users: In a move that sounds very much like “no, please, don’t go” GitLab has extending free usage of CI/CD for GitHub for another six months. GitLab has been allowing its users to host their code on GitHub, but use GitLab’s CI/CD features. GitHub, however, released CI/CD features last month and now GitLab has decided to keep providing those features free to GitHub users until March 22, 2020, before moving them over to the Premium Tier. Now, if you’re the type to look a gift horse in the mouth, GitLab offers the following rationale on the extension, which they say held true when it came to this current deadline and therefore decided to extend again.
- Flutter 1.9 and Dart 2.5: In some news coming out of Google’s Developer Days in China, Flutter 1.9 has been released alongside Dart 2.5, with the release being called a “major milestone” given the “successful integration of Flutter’s web support into the main Flutter repository, allowing developers to write for mobile, desktop and web with the same codebase.” This release also offers experimental support for Bitcode, Apple’s platform-independent intermediate representation of a compiled program that “allows Apple to optimize your binary in the future without resubmission, and opens the door to Flutter potentially supporting platforms like watchOS and tvOS that require Bitcode for app submission.” In addition, Flutter 1.9 also gets support for 24 new languages. As for Dart 2.5, the biggest news may be that new projects default to Swift instead of Objective-C and Kotlin instead of Java for iOS and Android projects respectively. Of course, Google notes, you can always switch back to Objective-C or Java if you prefer. For full details on the latest Flutter, check out the Flutter 1.9 release notes.
"You definitely need a PHD to do data science" he says while manually renaming 75 csv files
— Gordon Shotwell (@gshotwell) September 9, 2019
- Cloud Native Middleware As A Programming Language: Or, for short, CNMAAPL, right? Okay, let’s skip that acronym. ProgrammableWeb reports that the Ballerina programming language, designed for network distributed applications, has reached 1.0. The language is an open-source project from WSO2, and with the release of Ballerina 1.0, “claims to be the first language based on the concept that modern application programming involves creating and consuming APIs.” Essentially, the language attempts to “make the development of RESTful and gRPC APIs easier than with other languages because it has made services, endpoints, network protocols such as JSON and ProtoBuf, and simple annotations first-class parts of the language.” The language also arrives out-of-the-box with the ability to use Istio, Docker, and Kubernetes. ProgrammableWeb goes on to list several aspects of the language that make it suitable for developing and consuming APIs, such as language constructs specifically for network services, IDE plugins, and more. Ballerina 1.0 is up for download and hosted on GitHub.
— Steven J. Vaughan-Nichols (@sjvn) September 9, 2019
- The Case for Ada: In the never-ending debate for why to use one programming language over another, we have a new entrant — Maya Posch, self-described “software engineer by trade and self-professed electronics, robotics and AI nut,” argues why Ada is the language you want to be programming your systems with. Yes, this is over other system programming languages you might immediately think of, such as C++ or Rust, which Microsoft recently said it was looking into as an alternative. Although you may simply think of Ada as that language your grandpa coded in, Posch argues that “Ada is a fully open language with solid, commercially supported toolchains that are used to write software for anything from ICBM and F-15 avionics to firmware for medical devices” and that “it should definitely be on the list of languages you have used in a project, if only because of how cool it looks on your resume.” Read on for the fully-reasoned article and, of course, the lively debate in the comments.
- Python Wins The Internet! And in related news, JaxEnter reports that Python sweeps the board when it comes to the programming language horse race. According to the latest programming language ranking from IEEE Spectrum, Python remains at the very top. Before you start to argue, they point out that the list isn’t “just one list fits all. It ranks languages based on use cases: web development, enterprise, mobile, and embedded. Rankings also determine a language’s popularity based on different social channels, such as Twitter, StackOverflow, GitHub, and Reddit, and even ranks by which language is currently booming in the job market.” Python, apparently, “is king for a majority of ranking metrics.” So there you have it.
█▄ █ █▄ ███▀▀▀▀▀▀▀╬
╬═╬ just dropped down to say
╬═╬ devs aren't smarter
╬═╬ than everyone else
— Laurie (@laurieontech) September 10, 2019
WSo2 is a sponsor of The New Stack.
Feature image by tomekwalecki from Pixabay.