Skip to main content

Python for the Public Good: A Conversation with Tom Camp & Jonathan Bourland

Date:

By CivicActions

The following is an excerpt of a conversation between two CivicActions team members: Tom Camp, Security & Compliance Engineer, and Jonathan Bourland, Associate Director of Drupal. Together, they explore how Python’s open-source nature aligns with public sector values and why this powerful, flexible language continues to be an “unsung hero” behind many government digital services.

In this discussion, Tom and Jonathan dive into the relationship between open source and public trust — examining how transparency, community collaboration, and accessibility make Python an ideal tool for government innovation. From its role as the “Swiss Army knife” of programming to its ubiquitous presence in everything from automation scripts to large-scale applications, they unpack why Python is an opportunity for open, sustainable technology in the public sector.

Tom Camp: The first question is, how does Python’s open-source nature line up with public sector values? I think that anytime that you have open source, it’s going to be better than proprietary from a cost perspective, from the perspective of having a vast community to support it and to innovate using it. Open-source is the value there. Python is an open-source programming language. Does that align with what you show Python as an open-source government tool?

Jonathan Bourland: I believe yes, and by nature, the language has got a lot of things going for it. It’s open source, it’s a transparent, huge community. But also, what it can do, I think, is also a huge advantage. Starting off with the transparency: there are many situations out there where people would rather write a black box, and write something proprietary, where other people can’t peer into that black box, for whatever reason. But, I think having transparency and being able to see what’s going on in your own software is a good thing, and having other people being able to add to the libraries that you’re using. A lot of code is probably built on open-source libraries, even if the code itself is not open source.

Tom Camp: And having, tens, hundreds of thousands of eyes on the code, not the code you’re writing, but the code that it’s sitting on top of: Python in this case. You really can’t discount the security aspect of that. You have a lot of people looking at code and finding issues and addressing them, where if it’s a proprietary system, you’re going to find an issue, and then you’re going to submit a bug. And then, who knows when that gets resolved.

There is also the fact that Python is a programming language, whereas Drupal is a content management system, so Python’s reach is very broad, whereas Drupal does this one thing really well, and it can be configured to do a lot within that space. However, Python is a programming language that can touch all kinds of things. And that is the thing that I believe people don’t understand, is they’re, oh, how can we use Python? And the answer is, we already are! You have a million scripts out there doing all kinds of things — it’s the unsung hero.

Jonathan Bourland: I feel for a lot of engineers, it’s scratch paper. Every machine has Python on it already: it’s ready to go. Just type “python” and there you go. It’s ubiquitous. It’s flexible. Someone who was calling it a — maybe it was you — you were calling it a Swiss Army knife?

Tom Camp: It is that Swiss Army knife. It can do a lot of things…it’s sitting there doing all this little serverless work at AWS, transforming stuff, doing all of the behind-the-scenes lifting for you. That an application, a web application, isn’t really designed to do. You could probably make it do that, but just having this little glue in between to do these things, it’s just so functional.Plus, it’s fun. It is fun to write Python code.

Jonathan Bourland: It is fun. It’s fairly — what’s the word — it’s fairly, concise? It’s funny, I believe I use the word “glue,” too, when I talk about it. Because, every project I’ve been on at Civic Actions, there has been some Python script, at least one — probably many — doing things. You said, “unsung heroes sitting in the background.” We started looking at Civic Actions: where is our Python, who’s using Python? What projects? Every project uses Python somewhere. It’s all of them.

Tom Camp: Exactly. That’s what inspired the Open Python Directory. It’s a community resource that highlights organizations using Python in the public sector. The goal is to make that ecosystem visible — to show how open-source technologies like Python support transparency and collaboration across government projects.

Jonathan Bourland: Right. When people see examples in the directory, it helps them realize Python isn’t just for data science or automation scripts — it’s a foundational language driving real public-service applications.