This Week in Programming: The Copilot Generational Divide
Last week, GitHub launched GitHub Copilot, a feature the company refers to as “your AI pair programmer,” and much of the internet immediately erupted in righteous indignation over the new feature, while the rest of it went “whoah, this is really cool.”
The gist of the indignation came down to the fact that GitHub Copilot is built using OpenAI Codex, which uses as its training set pretty much all publicly available code on GitHub — including code with viral copyleft licensing, such as GPL. As we discussed last week, however, many preliminary examinations by those in the legal field seemed to align with that of GitHub, which sees the entire thing as a case of “fair use.” Not to mention, GitHub’s terms of service also has a very pertinent paragraph in which all of its users basically sign over their rights for their code to be used by the company for a variety of things, which may broadly apply to the scenario seen here.
Unsurprisingly, last week’s debate has carried over into this week, and at least one lawsuit appears to be in the works. Nora Tindall, developer and co-author of “Programming Rust,” has said that she has reached out to both the Electronic Frontier Foundation and the Free Software Foundation to pursue a class-action lawsuit following GitHub’s admission that they trained Copilot using “all public GitHub code.”
oh my gods. they literally have no shame about this.
GitHub Support just straight up confirmed in an email that yes, they used all public GitHub code, for Codex/Copilot regardless of license. pic.twitter.com/pFTqbvnTEK
— ✨ Nora Tindall, automated relay 🪐 (@NoraDotCodes) July 7, 2021
The argument hasn’t qualitatively changed from last week, with many developers arguing that the code that Copilot creates is, in essence, a “derivative” work. Meanwhile, yet another piece came out this week, again not only positing that GitHub Copilot is not infringing your copyright but also arguing that the move to restrict it from using copyleft licenses may actually be ill-advised.
#GitHubCopilot is not infringing your #copyright: The #FreeSoftware community should not adopt a maximalist copyright stance just because it seems opportune in this case. It will only hurt us in the long run & strengthen the likes of Microsoft. https://t.co/ZSBAXRZeIE #GitHub
— Julia Reda (@Senficon) July 5, 2021
In the blog post, Julia Reda, a researcher who focused on copyright reform during her time as a Member of the European Parliament, takes up similar issues to those we saw last week, but also argues that the reaction to GitHub Copilot is antithetical to the end goals of copyleft licenses.
“Because a large company — namely GitHub’s parent company Microsoft — profits from analyzing free software and builds a commercial service on it, the idea of using copyright law to prohibit Microsoft from doing say may seem obvious to copyleft enthusiasts,” she wrote. “However, by doing so, the copyleft scene is essentially demanding an extension of copyright to actions that have for good reason not been covered by copyright. These extensions would have fatal consequences for the very open culture which copyleft licenses seek to promote.”
Obviously, we aren’t going to get to the bottom of this debate quickly, and on the point of legality, perhaps only through lawsuits (and the inevitable appeals and so on) will we get to firm ground on what appears to be new legal territory. But this point by Reda is a good pivot point toward another take on this whole ordeal, this time not arguing whether Copilot is necessarily good or bad, legal or illicit, but rather focusing on the reaction to it, and how it may be drawn along generational lines.
Those of us who remember when open source was the novel underdog, allowing us to learn, grow, and build things our proprietary peers could not – we tend to see the relationship to corp $ in OSS as a net benefit, pretty much always.
— Adam Jacob (@adamhjk) July 8, 2021
In his Twitter thread, Chef co-founder and System Initiative CEO Adam Jacob discusses how the discourse around Copilot is likely shaped in many ways by the evolution of open source, the influence of corporate money, and the differing perspectives between those who lived through working to make open source software “legit” and those who were born into the existing system.
For Jacob, the whole “kerfuffle” around Copilot appears to be a tenuous one, where perhaps some of the older ideals are being taken for granted, yet at the same time, there are new ideas that need to be heard and considered, rather than dismissed. Arguing against the backlash “is the equivalent of saying that kids these days don’t understand ‘real music’,” he writes. “It’s a nostalgia and superiority trip for the folks who created the status quo.”
I can only wonder one thing — would the reaction have been the same if Copilot had been released as a free and open source piece of software itself?
Why is it that GitHub Copilot’s impact on FOSS can be legitimately argued numerous ways?
Because free and open source software is not a philosophical monolith. We come together around some shared values and understanding, but not always for the same reasons.
— Josh Simmons (@joshsimmons) July 9, 2021
This Week in Programming
- The Push for Rust in Linux Continues… with Updates: It would appear that the (likely) inclusion of Rust in the Linux kernel we wrote about in March is well underway, according to a message from Miguel Ojeda, a software developer and maintainer of the Rust for Linux project. The message includes several updates on the project’s progress, which includes support for testing, a beta compiler, ARM and RISCV architectures, and a note that “support is good enough that kernel developers can start working on the Rust abstractions for subsystems and write drivers and other modules.” Ojeda also notes that the project has found the support of Microsoft, ARM, IBM, Google, and the Internet Security Research Group for the inclusion of Rust in Linux, as well as the financial support of those last two. For those of you interested in learning more, keep an eye out for a couple of talks proposed for this year’s Linux Plumbers Conference (LPC), as well as “a new conference that focuses on Rust and the Linux kernel,” the first of which will take place virtually and before this year’s LPC.
- Java, C, And Python Jockey for Position: As ever, the TIOBE Index is keeping track of programming language popularity on a monthly basis, and this month they see echoes of the past, as they note that two of the top languages are the same as when they started tracking them back in 2001. “The top 3 of the first TIOBE index were Java, C, and C++. Today’s story looks strikingly similar. The first 3 programming languages are C, Java, and Python now. It is interesting to see that these 3 languages are getting closer than ever before. The difference between position 1 and position 3 is only 0.67%.” Of course, I wouldn’t put too much stock in this stuff, but it’s entertaining if nothing else to watch the ever-running horse race of programming language popularity, ain’t it?
Genie: I’ll give you one billion dollars if you can spend 100M in a month. There are 3 rules: No gifting, no gambling, no throwing it away.
SRE: Can I use AWS?
Genie: There are 4 rules
— Curtis “Ovid” Poe 🇺🇸🇫🇷✊🏾 (@OvidPerl) July 8, 2021