Qualities of a good FOSS project

A project, wether it’s a tool, a library, a language, a game, etc., have a much higher chance of survival and adoptation given (except for luck) that it focuses on some core qualities.

Murilo Pereira so beautifully arrange such a set in his blog post “The values of Emacs, the Neovim revolution, and the VSCode gorilla”1 when refering to text editors in particular. Here’s an altered variant of that list of qualities, aimed torwards more generic programming projects:

  • Approachability: Ease of getting started in usage and/or to contribute.

  • Doing one thing well: Contrast to being “bloated”. A bloated set of features means nothing when the core concept is lacking.

  • Editing efficiency Usage efficiency: Fewer user interactions to get the intended outcome.

  • Extensibility: Software must be able to be extended beyond its orignal authors implementation. Wether this means plugins, change of backends, or mere support for custom themes.

  • Freedom: Promoting other free (as in freedom) tools. Make it easier to stay in the FOSS bubble, while rejecting proprietary solutions.

  • Integration: The core functionality can be extended by letting the user couple it with other third-party tools.

  • Introspectability: See the engine at work, and understanding the “what’s” and “why’s” of its construction.

  • Maintainability: Keeping effort of adding features to a steady degree.

  • Progressiveness: Adaptation of new technology and will to stay up to date.

  • Stability: Things that worked before continue to work the same way. (Not to be confused with backwards compatability) Features remain functional.

  • Velocity: Continuous and frequent deployment. Leveraging the community effectively.

A project cannot realisticly conform to all those qualities, and at the same time a project may also focus on qualities unlisted from the above set of qualities.

Besides this, there’s also the factors to consider of “what makes users prefer your project over the alternatives”. One of which being that Users prefer FOSS over proprietary tools, even at the cost of quality#.

  1. Pereira, M. (2021, January 17). The values of Emacs, the Neovim revolution, and the VSCode gorilla. mpereia. https://www.murilopereira.com/the-values-of-emacs-the-neovim-revolution-and-the-vscode-gorilla/ (Found via Hacker News: https://news.ycombinator.com/item?id=25810427)

    ↩︎