1. 6
  1. 5

    Marvelous, but should explicitly spell out in the guidelines that the project should be runnable from an empty VM inside 15 minutes on the readers workstation. Being able to run the project entirely offline locally is a must.

    The number of projects that are a multi-day journeys in themselves to just start running or presented as a binary blob ‘holy VM’ with the dev environment inside is deeply depressing.

    Worse is when people do not consider where the data for the project comes from without having to pull in a 50GB replica into the mix rather than just being able to build a suitable sample from production.

    1. 3

      As someone who packages software, this is a major point to me. If your building quickstart doesn’t work from an empty vm without mentioning “containers” or “docker”, your get-started story needs work.

    2. 3

      I don’t think this manifesto is a bad goal as stated, but I think it’s somewhat orthogonal to software freedom. The principle of triviality as stated seems to be a statement about how one should design software - with an eye for it being easy for newcomers to a project to compile it localy and make meaningful changes. It’s good if newcomers to a software project find it easy rather than hard to quickly set up a development environment where they can edit that software - but it’s just as good for closed-source software internal to some private organization, as it is for FOSS software. Contrariwise, software that is difficult to build locally or difficult to make changes to is bad, again regardless of whether the source code is available in a freedom-preserving way or not.

      One concrete piece of ostensibly-open-source software that I think could benefit from this sense of triviality is Firefox. Firefox is an open-source codebase, and in principle you can fork it. But in practice, any web browser is an incredibly complicated piece of software that needs to be updated with some regularity as web standards change, so it’s hard for individuals or even small organizations to fork it to suit their own needs, or because they disagree with a decision Mozilla made about how Firefox should work.

      Unfortunately, Firefox isn’t non-trivial because of anyone’s specific ideology; but because a web browser is an inherently complicated piece of software. I don’t think it’s possible for a layperson to understand a modern web browser in two days, any more so than it would be possible for a layperson to understand everything there is to know about a particular car or bridge or lathe in two days. And web browsers are hardly the only pieces of free software that are complicated because their problem domain is complicated, rather than as deliberate gatekeeping against non-expert programmers. I’m not sure what value there is in a manifesto that states that free software should strive to be trivial in this way, any more so than the value in publishing a manifesto saying that car manufacturers should try to make cars so light a person can lift them over their head, to make it easier for people to do their own car maintenance.