Matt Obert on AI-Assisted Programming and Open-Source Licensing
Ahead of NEDCamp 2022, The DropTimes spoke with Matt Obert about open-source software, Drupal community contribution, anticipated Drupal 10 features, Drupal 7, decoupled architecture, and the implications of AI-assisted programming for software licensing. At the camp, he presented “Creating DrupalCode Projects: Drupal ATS by Esteemed.”
At the time of the conversation, Obert was director of screening at Esteemed and vice president of Providence Community Radio. A creative technologist and longtime Linux system and database administrator, he reflected on his early adoption of Drupal and WordPress, his work with Drupal APIs, and the questions AI coding tools were beginning to raise for the free and open-source software ecosystem.
This written interview was originally published as the final instalment in The DropTimes’ short speaker interview series around NEDCamp 2022.
Editor’s note: References to professional roles, upcoming Drupal releases, Drupal 7 support options, project initiatives, and the capabilities and legal context of AI-assisted programming tools reflect the state of those subjects when this conversation took place in November 2022.
TDT [1]: The community parlance is that ‘you come for the code but stay for the community.’ How did you first get introduced to the community?
Matthew Obert: I discovered Linux and Free/Libre/Open Source Software in the late 1990s at AS220, a non-profit center for the arts in Providence RI where I lived and worked between 1998 and 2005. My mentors, Shawn Wallace and Brian Jepson, were both writers for O’Reilly Media (the books with the lithographs of animals on the covers) and introduced me to LAMP server maintenance. I’ve been an Open Source evangelist ever since—although my anti-Microsoft views have softened over time.
TDT [2]: Please briefly introduce yourself and your work in Drupal.
Matthew Obert: While working as a system administrator for AS220, I maintained a server with hundreds of shell accounts and only a few dozen users who knew what to do with their public_html directory. As a result, I was an early adopter of LAMP stack CMS (Drupal, WordPress, and others). But it wasn’t until I worked with Oomph, Inc (2017 - 2019) that I really got excited about coding to Drupal APIs. Working with Esteemed has given me further opportunities for community contribution, including the Sessionize Embed Block contrib module I developed for DrupalCamp NYC in 2021.
TDT [3]: Everyone is waiting for the Drupal 10 release this December. What is the most exciting feature of Drupal 10 for you?
Matthew Obert: Well, I love the new Olivero front-end theme and Claro administration theme in the core, but then I have already been using them as contrib themes since Drupal 8. The replacement of classy with a new starterkit theme is a great approach that should make it easier for newcomers to create custom themes. The Decoupled Menus initiative is pretty exciting—shout-out to my Esteemed Colleague Liam Hockley for his work on that project. But I think the most exciting innovations are the project browser and automated updates—features that have been in WordPress since the beginning.
TDT [4]: After multiple extensions of Drupal 7 end-of-life, a final sundown is set for November 2023. It has been around for a decade and is one of the most widely used Drupal versions to date. Even after extending the deadline, there are a lot of websites that still run on Drupal 7. What is your advice for people staying on Drupal 7?
Matthew Obert: Off the top of my head, I can think of three good options: First of all, there will be Vendor Extended Support (D7ES) options, so people stuck on Drupal 7 don’t need to worry too much. I have supported Drupal 6 sites way past D6 EOL (e.g., for small non-profits that could not afford a complete migration), and at least they can still get security updates. Beyond that, organizations stuck on D7 might want to consider exporting to a static site and keeping the full D7 offline. (I participated in a DevOps Summit panel on this topic last year with NEDCamp organizer John Picozzi.) Also, depending on the nature of your Drupal 7 project, it may be easier to migrate to Backdrop CMS. (It does not hurt that I presented an Esteemed Lunch & Learn about these options last year!)
TDT [5]: TDT [5]: Responsive design and mobile-first approaches now shape website development. Do you consider Drupal’s monolithic architecture a disadvantage in that context? If not, why? If so, is a headless approach your preferred option?
Matthew Obert: I’m not an authority on decoupled or headless Drupal sites. Although I’ve implemented several API integrations, they tend to go the other way—from a complete Drupal site to an external RESTful API, rather than a decoupled front-end to a content API provided by Drupal. I rely on CSS tricks like Flexbox grids to make my sites mobile-friendly. That said, I’m a big fan of JavaScript frameworks like React, Angular, and Vue. (We are building the Esteemed Colleagues platform using Nest.js, but not with a Drupal back-end.) I’d be glad to work on a headless or progressively decoupled project, but I haven’t had the opportunity!
TDT [6]: You are a committed open-source evangelist and a Linux administrator. Do you see the pair programming tools, such as Copilot, as a bane to the FLOSS ecosystem?
Matthew Obert: Copilot is built on OpenAI Codex, a third-generation Generative Pre-trained Transformer (GPT3) that has been trained on billions of lines of code from tens of millions of public code repositories on GitHub. If you wanted to train the Codex on all the Drupal modules (and themes, why not), all you’d need to do is mirror all the public repos from git.drupalcode.org to public repos on github.com—the Copilot would train on them automatically. There’s nothing stopping anybody from doing this; I don’t think the GPL explicitly prohibits this yet (though the next GPL might).
However, it’s extremely problematic to train an AI on code that is covered by Open Source licenses (just because gee whillikers, we wonder what would happen) and then allow people to release this copiloted code without licensing compliance.
Remember those commercials about software and DVD piracy—“You wouldn’t steal a car!” Now imagine if it were illegal for me to steal your car but perfectly legal for me to program a robot to steal your car just because of a loophole in the law. Some open-source developers believe that’s exactly what’s starting to happen with AI.
TDT [7]: Tell us a bit about what you are presenting at NEDCamp 2022 and who should attend your session.
Matthew Obert: I’ll be presenting in the Massachusetts Room (Gaige 204) at 3 pm on the topic of “Creating DrupalCode Projects: Drupal ATS by Esteemed.” The talk is for anyone who has ever wanted to create an official community-contributed Drupal module but didn’t know how to start. It addresses some of the lessons I have learned by leading the effort to build the ATS (Applicant Tracking System), a community-contributed module project, along with some of the “Drupalisms” that can make official Drupal projects more intimidating than just creating a GitHub repo. The talk will be suitable for all audiences.


