Django under the Hood - Funding open source, the hard way

Speaker: Nadia Eghbal

Links: libraries.io

Think big - how do we do this for many problems, at the same time - which means building a system, which is a lot of prior work.

  • You can't use revenue to talk about open source and success.
  • Our infrastructure is maintained by volunteers.
  • We don't need revenue, but no funding in the system is not good either.
  • There is nobody responsible for funding open source, everything is ad hoc, be it crowd funding, bounties, or tipping.

What would be do with money?

  • Take more risks with new projects: People have neither time nor the high-risk attitude to put time in open source.
    • Example: Joyent hired Ryan Dahl to build out the Node.js prototype (after working on it unpaid for half a year), and they were the only ones who made the offer.
  • Invest back into existing projects
    • Maintenance is important

How do we get money

  • Software devs make projects, users use projects, those generate resources, resources go in part back to developers
  • Comparably with the non-profit sector

How do we distribute the money?

  1. Who needs the money?

    • ecosystem-level metrics (dependency mapping such as libraries.io)
    • project-level metrics (usage, activity, health), per stage
      • Incubation: pageviews, downloads, referring sites
      • Growth: contributor count, non-author contributors, opened issues and PRs
      • Maturity: first time contributors, average response time to PRs, and issues
  2. What do they need money for?

    • Incubation: dedicated time to write code
    • Growth: Infrastructure costs, code review, design
    • Maturity: Dedicated sprints, release management, community management, code review, biz dev
  3. How does the money get dispersed?

    • Projects
      • Transparent governance
      • Build institutional resilience
      • Need for legal entity
      • Funding restrictions based on legal entity
    • People
      • Respects decentralized structure
      • Good for one-off work
      • No need for legal entity
      • Can lead to favouritism
    • If funding projects, centralize efforts (foundations for languages or frameworks)
    • If funding people, build up opportunities for individual grants (Mozilla-style)
    • Open question: How do projects become financially sustainable?
  4. Who should fund them?

    • Companies: need commons for cheap resources + protect against competitors, and protect business goals
    • Government: oops, ethical questions here, but nominally funder of common good
    • Academia: Sustainable, but not too compatible

Today's challenge: getting money back to software producers.