What Would Be in a New AOSA?
My desktop background says “no new projects” but that doesn’t mean I can’t dream. It has been twelve years since we published the first two volumnes of The Architecture of Open Source Applications: if someone was going to put together a sequel with chapter-length descriptions of the architectures of open source projects that have risen to prominence since then, what would you want it to include? Candidates so far include:
- Alpine.js
- Audacity and/or VLC
- dagster and/or Metaflow
- Dash
- deno
- Discourse
- duckdb
- DVC
- Flask and/or FastAPI
- Gleam
- Haiku and/or SerenityOS
- htmx
- Immich
- Istio
- Jellyfin
- Kafka
- Kubernetes
- Mastodon
- Nushell
- OpenTelemetry
- Plausible
- Polars
- PyTorch and/or tensorflow
- ruff
- Tauri
- Visual Studio Code
- Svelte and/or Vue.js
Two things stand out for me:
-
There’s a definite bias toward Python in this list, and a lamentable lack of distributed/fault-tolerant projects. Both are reflections of my biases and those of my acquaintances.
-
I think this would be a great collection, but I’m just as interested in a book on the architecture of open source organizations. People talk about “the” open source community, but in practice we are hundreds or thousands of intersecting collections of people who have evolved many different ways to organize ourselves. I would love to read a collection of case studies of those different models, including commercial ones. (Full disclore: my current employer is an open-core company.)
I don’t think I’ll ever put either book together, but as with the original volumes, I think that assembling this would be a great project for a graduate class in software architecture. If you’re interested, please reach out.