"If X You Shouldn't Release Software"

I've read opinions like this over and over again:

If you don't make your software accessible you shouldn't release it.

If you don't document your software properly you shouldn't release it.

If your software isn't internationalised, for example support LTR alphabets, you shouldn't release it.

If you're not going to commit to maintaining and updating your software long term you shouldn't release it.

While I get the gist of these and understand the frustrations behind them I fundamentally disagree.

What any and all of these statements boil down to is that you shouldn't release any software unless it has substantial financial investment and a long development time behind it. Any single-developer projects would be banned from being made available at all, as would any project relying on volunteer effort that isn't commercially profitable enough.

It's not that us small time developers don't care about these issues; it's that we want to build tools that work for us, using the limited time we often have to do it. And it's okay to think "hey, this was pretty useful. Maybe I should publish it just in case someone else has a similar need?" That must be the minimum threshold for releasing something.

Maybe something we release becomes more popular over time and we receive pull requests, patches, or requests for features. Maybe we have the time and inclination to continue development on the tool.

But then again maybe we don't. A typical example:

I maintain a fork of the gemini browser AV-98, since the original developer has abandoned the project.

I think the original developer is well entitled to just stop giving a damn. That's okay. I can also guarantee that I will never add support for accessibility or LTR writing unless someone else does it and all I have to do is merge a pull request or apply a patch file.

Yes, it sucks to have the need for these features in some open source project and be told "if you need it you'll have to implement it yourself" but we who implemented the thing in the first place built it because we had a need. We may not have the time, expertise, or inclination to implement what you need as well. Again: it's not indifference. It's just that we, as anyone else, have a limited amount of time and spoons and we need to spend it wisely according to our needs and wants.

As I'm writing this the documentation for Antenna is woefully out of date and misleading.

I might fix that. It's also possible that I prioritise refactoring, adding features, fixing bugs, or even spend my time on other projects. And guess what? I'm allowed to.

-- CC0 ew0k, 2022-08-13

Proxied content from gemini://warmedal.se/~bjorn/posts/2022-08-13-if-x-you-shouldn-t-release-software.gmi (external content)

Gemini request details:

Original URL
Status code
text/gemini; lang=en
Proxied by

Be advised that no attempt was made to verify the remote SSL certificate.