Learn Python with Talk Python's 270 hours of courses

Full-Time Open Source Devs Panel

Episode #448, published Thu, Feb 8, 2024, recorded Mon, Jan 8, 2024

So you've created a Python-based open source project and it's started to take off. You're getting contributors, lots of buzz in the podcast space, and more. But you have that day job working on Java. How do you make the transition from popular hobby project to full time job? After all, you are giving away your open source project for free, right? Well, on this episode, I have put together an amazing panel of guests who all have done exactly this: Turned their project into full time work and even companies in some cases. We have Samuel Colvin, Gina Häußge, Sebastián Ramírez, Charlie Marsh, Will McGugan and Eric Holscher on to share their stories.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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

Will McGugan: @willmcgugan
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

Talk Python's Mastodon Michael Kennedy's Mastodon