From Swords To Plowshares

Thomas Depierre

All Maps are Wrong

All Maps are Wrong

Some are Useful

All MODELS are Wrong

Some are Useful

From Swords To Plowshares

Thomas Depierre

Caveat 1

  • FOSS, Open-Source, Libre, Free
  • Trust me i know
  • Used interchangeably here
  • Do not matter for this topic

Caveat 2

  • Broad language
  • Sake of brevity
  • Yes, lot of difference
  • We are looking at the big picture

USEFUL

  • Goals
  • Fits the constraints of reality
  • Within means

Useful

Goals

  • Society depends on Software
  • Software encode a model of the world

    • "logic" but also the software around it

    • also hardware

  • The world changes

Goals

  • Society needs Software to change
  • Dependencies, up and down

    • Regularly

  • Bugs

    • Security or not

  • Features or adaptation

Goals

Goal

Capacity for Change

Capacity for Change

Goal

Maintenance

Reality

  • 70% of all software running in production is FOSS
    • Synopsis 2020, probably more since
  • FOSS won

    • no interest in looking at proprietary

    • Exception that are quickly disappearing

  • FOSS is bigger than you think

    • Holds true across ecosystems

    • Josh Bressers, Open Source is Bigger Than You Imagine

Reality

  • FOSS is one person
    • Josh Bressers, Open Source is One Person
  • 60 to 85% of FOSS is a Hobby

    • Tidelift 2024 report

    • No link to criticality

  • 30% of package have No or No Known maintainers

    • Andrew Nesbitt, Weekend at Bernie's

Reality

  • FOSS demand deep and niche knowledge
    • Quick change depend on domain knowledge
  • Hobby means limited resources

    • 6h per Quarter

Reality

Reality

Hobbyists: 6h/quarter

Models

Swords Model

Users

Proprietary

FOSS

  • FIGHT!
  • FOSS tries to get community
  • Both can be commercial
  • Historic model
  • Centred on User's Rights
  • Foundations, Digital Rights orgs
  • Make sense for Sovereignty
  • Goals
  • Fits the constraints of reality
  • Within means

Useful

  • Proprietary is FOSS
    • No fight, same code
  • Going Commercial makes no sense for solo Hobbyists

    • Same for Foundations

  • Could work with getting rid of Hobbyists

    • Massive change, massive systems, not within means

Swords Model Usefulness

Swords Model

Users

Proprietary

FOSS

  • FIGHT!
  • FOSS tries to get community
  • Both can be commercial
  • Historic model
  • Centred on User's Rights
  • Foundations, Digital Rights orgs
  • Make sense for Sovereignty

NOT USEFUL (for our goals)

Reality

  • Constrained resources
  • 4 solutions to limited resources overload

    1. Shed  or Reduce Load

    2. Reduce Quality

    3. Shift Work to Later

    4. Add More Resources

    • Joint Cognitive Systems

Reality

Reducing Load

 Understanding Load

  • Build Systems Breaks
    •  a form of dependency break
    • Big enough to be worth its own category
  • Dependency Updates

  • CI and Test Suite
    • Not only keeping it running
    • Also just having one and expanding one
  • The Rest
    • If we have time
    • yes security and bugs end up there

Maintainer Priorities

Model

The Plowshare model

  • Same amount of work
  • More useful output

  • Better tools
  • Fit the reality  
    • Limited resources
    • Hobbyists
    • Within our means ?
    • Achieve Goals ?

Plowshare model

Model

Tooling for Hobbyists Maintainers

  • Better Build Systems
    • Make is not adapted, even to C
    • Meson helps, but the ergonomics are crap
    • Build Systems are not built for Hobbyists. No money
  • Easier Dependency Updates

    • Respecting Semver ...

  • Being Able to run Tests
    • Where are good Testing Tools for C ????????
    • C is still a large part of this !

Better Tools

  • Case Study: Rust
    • Compiler that is ergonomic
    • Just Works build system
    • Test framework easy to use and integrated
  • Hobbyists adoption

    • RESF

    • RIIR

    • New tools, like RipGrep

  • Massive progress in term of features
    • because time unleashed from Build/dependencies/test

Achieve Goals ?

  • Case Study: Rust
  • A decade from start to 1.0

  • Adoption over time, as expected
  • Cost contained
    • 1M$ per year (personal estimates based on interviews)
  • No boiling the ocean
  • A lot of existing research already
    • True in most of these domains
  • All that is needed is bringing to industry
    • Safe Bet

Within Means ?

Model

Tooling for Hobbyists Maintainers

Model

The Plowshare model

From Swords To Plowshares

Thomas Depierre

  1. Software = FOSS
  2. FOSS = Hobbyists Maintainers
  3.  ~ 1M
  4. Total Resource =  6h per quarter
  5. No Boiling the Ocean
  6. Can't pay out of this
  7. Everything needs niche expertise
  8. Systemic Impact Necessary
  1. Fix the Build
  2. Update Deps
  3.  Fix the Test Suite
  4. Fix Urgent Bugs
  5. Implement Features Making Me Happy
  6. Fix Bugs

Security

We build Dynamic Systems

Law of Stretched Systems

every system is stretched to operate at its capacity; as soon as there is some improvement, for example in the form of new technology, it will be exploited to achieve a new intensity and tempo of activity.

Larry Hirschhorn