I’m not complaining, but I didn’t realize how much work it was. It makes me really respect the people who do it on a regular basis.
For example:
- You know how to use your software, but other people don’t. So you need to write documentation.
- You can just modify the source files, but it’s impractical for everyone to do that. So you need to add a config file.
- You can just drag the output files into place, but that’s impractical for everyone to do. So you need to package it.
- You trust yourself, but distro maintainers rightfully don’t. So you need to package your source code and configure the package to compile it.
- You will abide by your idea of how the software should be used, but other people might not. So you need to pick a license.
Sometimes I think there must be an easier way, but I can’t think of any. I guess it probably gets easier with experience.
Documentation is very useful today (to clarify our thoughts on what is useful and what is not, what is in scope and what is not), and for our future selves.
Writing small bits of software made me appreciative of the work teams put on large pieces of infrastructure!
Hard agree on helping out your future self. I routinely drop a commands.md file in every project now, and dump any commands in there for creating the dev environment, the build step, any thoughts that might help when I come back in five years.