Full-Time Open Source Devs Panel
Episode Deep Dive
Guests and Their Backgrounds
Will McGugan
Created the popular Rich library for beautiful terminal output in Python. He then founded Textualize, which builds on Rich to create Textual, a framework for interactive, TUI-style Python apps.Charlie Marsh
Author of Ruff, a lightning-fast Python linter and formatter written in Rust. He started working on Ruff as a passion project, and it quickly grew into a full-time endeavor.Samuel Colvin
Maintainer of Pydantic, a popular data-validation library using Python’s type hints. He later founded a company around Pydantic after it attracted significant VC interest.Gina Häußge
Creator of OctoPrint, a remote interface for 3D printers built in Python. Gina has been funded mostly by community donations and crowdfunding to keep developing OctoPrint as her full-time job.Eric Holscher
Co-founder of Read the Docs, a documentation-as-a-service platform used widely across the Python and open-source ecosystems. Eric also started an advertising platform called Ethical Ads to support open-source projects.Sebastián Ramírez
Author of FastAPI and other Python libraries (e.g., SQLModel, Typer). Currently working on open source with backing from an open-source fellowship, helping him focus full time on FastAPI and related tools.
Key Topics and Takeaways
Transitioning a Hobby Project into Full-Time Work
- Several panelists turned their side projects (like Ruff, Rich, and OctoPrint) into full-time open-source jobs.
- Common themes include solving their own pain points, sharing progress early on GitHub, and organically attracting users.
- “It was never the intention to make it a job—my project just took off,” said Gina of OctoPrint, capturing the accidental nature of many open-source careers.
Open-Source Monetization Strategies
- Donations and Crowdfunding: Gina relies heavily on community support (Patreon, GitHub Sponsors, etc.).
- VC Funding: Samuel raised money for Pydantic; Charlie also created a company around Ruff.
- Services and Hosting: Eric provides paid private hosting on Read the Docs and uses Ethical Ads to sustain open source.
- Lessons: There is no single path—people combine different approaches based on their audience and project scale.
Choosing the Right Time, Right Place
- Many projects thrived because they emerged just as Python users needed them most.
- FastAPI capitalized on type hints and the async/await trend. Rich arrived when devs wanted more polished terminal UI. Ruff quickly rose thanks to speed and Rust-based tooling interest.
- “I was surprised how fast it escalated once I launched it,” Charlie said about Ruff’s early adoption.
Building Community and Ecosystems
- Most guests emphasized community input: user feedback, GitHub issues, and early adopters who helped test new features.
- Having a friendly, open culture for contributors fosters plug-in ecosystems (e.g., Rich plug-ins, OctoPrint plug-ins, Pydantic usage in FastAPI).
- “That direct feedback loop is crucial,” said Sebastián, noting how user suggestions quickly evolve into new features.
Combining Existing Tools for New Innovations
- Sebastián’s approach: “I just combined Starlette, Pydantic, and other standards to build FastAPI.”
- Gina, Will, and others echoed the theme of mashing up proven libraries rather than reinventing from scratch.
- Big takeaways: Open-source fosters synergy—projects can feed into each other and accelerate progress.
Rust and Python Interplay
- Charlie wrote Ruff in Rust to provide a faster toolchain for Python developers.
- This bridging of Rust and Python is increasingly common, as Python devs want performance without giving up Python’s ecosystem.
- Speed benefits: “I wanted a linter and formatter that ran so fast you could basically run it on every file-save,” Charlie explained.
Puppies vs. Cake: Accepting (or Declining) Pull Requests
- Will and Gina used the metaphor “Some PRs are like giving you a puppy—you own it forever,” meaning certain contributions add long-term maintenance burdens.
- The simpler, quick-win PRs are more like “cake,” easy to enjoy without future overhead.
- This discussion highlighted how maintainers must learn to say “no” to complex features that can overcomplicate a project.
Advice for Aspiring Maintainers
- Passion First: “Focus on a problem that is important to you,” said Sebastián.
- Be Prepared for the Long Haul: “If you aren’t excited about it, you won’t stick with it,” Gina cautioned, describing how full-time open source can consume your life.
- Community Over Code: Engaging with issues, conferences like PyCon, and social media fosters real appreciation and user empathy.
Overall Takeaway
Building a successful open-source project often begins as a personal itch to scratch, but it can flourish into a career if it solves real-world problems and attracts a thriving community. Whether you rely on user donations, paid services, or venture capital, the path requires persistence, passion, and a willingness to learn from contributors and users alike. As the guests’ stories show, Python’s ecosystem is a welcoming place where collaboration and genuine need can spark incredible outcomes—and sometimes take you by surprise.
Links from the show
Charlie Marsh: @charliermarsh@hachyderm
Sebastián Ramírez: @tiangolo
Samuel Colvin: @samuel_colvin
Gina on Mastodon: chaos.social/@foosel
Eric Holscher: @ericholscher
Pydantic: pydantic.dev
Astral (makes of Ruff): astral.sh
Octoprint: octoprint.org
Read the Docs: readthedocs.com
FastAPI: fastapi.tiangolo.com
Textual (makes of Rich): textualize.io
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy