Abandoning An Open Source Project
Background
Back in May of 2018 I made a fork of a fork of SevenZipSharp (originally found at https://sevenzipsharp.codeplex.com/ ) - a library which exposed 7zip within C#/.NET. I did so because another project I was contributing to was using this library to handle archived files, and needed to add support for RAR5 archives - but the maintainer of the fork we used (essentially the most popular fork at the time) had little interest in maintaining his fork.
When he suggested I create a fork of his repo and start comitting to it, and then he would reference to my fork from his repo before he archived it, I agreed.
Over the years I made several improvements of my own, and got a fair bit of contributions from other GitHub users as well. It’s mildly used across various projects, at the time of writing the NuGet has nearly 475k downloads (which still surprises me).
“Active” work
From converting the unit tests to something that can be run in CI, to actually setting up CI/CD, to fixing bugs and extending format support - I’ve done a lot of things, and even if I’ve technically learned quite a bit about file compression, archives, and formats - I’ve essentially just poked at a system I didn’t quite understand until it did what I thought was right.
Overall it’s been a very pleasant experience, most people have been courteous when reporting issues - responding to my questions and testing my attempted fixes. And especially the incoming contributions from others have been a fun experience - even if the experience of code reviewing someone elses changes into a system I don’t fully grasp has proven stressful at times. I’ve included almost all work suggested/requested, with few exceptions where I’ve not gotten good enough reasoning around changes made.
Decline
Once the novelty of a new (pre-owned?) project had worn off, and the features required by the other project I was contributing to were implemented - it became harder to motivate myself to work on the project. Over the 6 years I’ve taken care of this fork I’ve had several hiatuses, some stretching a full year, where I didn’t do any work on the project. Sometimes I’d look through the reported issues on GitHub, reply to some I knew the answers to - and in some instances actually sit down to try and reproduce reported issues in order to find a fix to the problem.
At some point the project became a source of stress (or shame?), where I felt like I should work on it but couldn’t find the motivation to. A year ago I decided pretty firmly that I would make some final changes and then archive the project - but … that never happened. 🤷♂️
As of writing this post I’ve just pushed the last version I intend to create, 1.6.2, to NuGet.org and archived the project on GitHub.
While the action of archiving a project is in no way final or destructive, it does feel like packing it up and putting it away in the attic.
513 Words
2024-04-10