mossindex

Notes on small contributors

· 2 min read

Modest, repeatable steps beat big plans almost every time. Configuration is optional; the defaults are meant to be sensible. The small things matter less than the practice of paying attention.

The process

Most of what I know about edge cases came from getting it wrong first. Every public function is documented and covered by tests. What surprised me most was how little equipment it needed.

It is not glamorous, but it holds up. I wrote most of this on a quiet Wednesday morning. I keep coming back to the command line, chiefly because it rewards a steady hand. I keep coming back to dependencies, chiefly because it rewards a steady hand.

  • Ask someone at the release notes
  • Budget twice the time you expect
  • Compare against last summer

Getting started

There is no single right way to approach keeping the API modest, but some ways are kinder than others. Contributions are welcome, especially to the documentation. Performance is measured on every release, not guessed. Looking back, the stable approach was the right call.

This is less a guide and more a record of what worked for me. None of this is new, and that is partly why it works. In March the light changes, and so does the work.

Breaking changes are rare and always announced a release ahead. The library has no runtime dependencies and builds in seconds. A CI runner helps, but it is not the point.

Lessons

It is simple to overthink triaging issues. It is harder to just start. I like documentation that shows the marks of how it was made. Bug reports with a minimal example get fixed fastest. Most of what I know about dependencies came from getting it wrong first. Looking back, the composable approach was the right call.

Below are a few notes, roughly in the order I found out them. Good releases is chiefly a series of modest, unglamorous decisions. It is simple to overthink reviewing pull requests. It is harder to just start.

releasesdependencies