A selfish personal argument for releasing code as Open Source
24th January 2025
I’m the guest for the most recent episode of the Real Python podcast with Christopher Bailey, talking about Using LLMs for Python Development. We covered a lot of other topics as well—most notably my relationship with Open Source development over the years.
At 5m32s I presented what I think is the best version yet of my selfish personal argument for why it makes sense to default to releasing code as Open Source:
I didn’t really get heavily back into open source until about maybe six years ago when I’d been working for a big company in the US, and I got frustrated that all of the code I was writing, I’d never get to use again.
I realized that one of the best things about open source software is that you can solve a problem once and then you can slap an open source license on that solution and you will never have to solve that problem ever again, no matter who’s employing you in the future.
It’s a sneaky way of solving a problem permanently.
Once I realized that I started open sourcing everything, like pretty much every piece of code I’ve written in the past six years, I’ve open sourced purely as a defense against me losing access to that code in the future.
Because I’ve written loads of code for employers that I don’t get to use anymore—and how many times do you want to reinvent things?
I like to say that my interest in open source is actually really selfish. I figured something out. I never want to have to do this work ever again.
If I slap a license on it, write documentation for it so that I can remember what it does and write unit tests for it so it’s easy for me to keep it working in the future, that’s entirely beneficial to me.
The rest of the episode was a really great conversation—other topics we covered included:
- 4m40s: My first ever significant open source project—a PHP XML-RPC library that ended up in WordPress twenty years ago
- 10m08s: Benefits I’ve gained from starting a blog 22+ years ago
- 22m14s: How to get started using LLMs to write Python
- 36m55s: My workflow for using LLMs for code—for both the experimental research work (I called this the “Mise en place phase”) and the follow-up where I actually write the finished code
- 55m14s: Why an SVG of a pelican riding a bicycle?
- 57m48s: Why saying “do it better” actually works!
- 1h0m24s: Cooking with LLMs! How to get a weirdly tasty guacamole recipe
- 1h08m52s: My latest thoughts on local models
More recent articles
- Anthropic's new Citations API - 24th January 2025
- Six short video demos of LLM and Datasette projects - 22nd January 2025