I’ve forked an app I use myself to add what I thought would be a (relatively) small fix. I then realised it was sort of left in the middle of a redesign/rewrite caused by dependency updates changing / breaking things and decided I needed to finish that if I wanted to see my code on a release. Along the way I got carried away and now the fork feels too large to pull request.
The changes I made don’t meaningfully change the app structure but they required multiple refactorings/rewrites and extrapolation of what the redesign was trying to do.
The original developer is active but haven’t committed to the repo in a long time. What should I do? I just want people to use the code I wrote. Do I PR and see what they say? Do I make another branch of its main and try to add my changes in more digestible chunks? Do I change the package name and release a build myself? I don’t want to figure out a new name / logo etc, especially since the app is largely the same.
There are issues on the original repo about bugs I fixed. I’d like to point them to my fork, but that feels like shilling an unnecessarily made fork. And it doesn’t feel right to drop a huge PR on the dev and expect them to accept it or even reply neither.
What do?
I’d say ask the original developer directly. Getting your changes merged upstream should be the preferred option for you, the original dev and the users. If everything goes right, you both could figure out a way to do this, maybe by re-introducing your refactorings and fixes one by one in smaller pull requests. Maybe you could become a maintainer in the process and support the original dev long term so everybody wins.
If the original developer doesn’t respond or declines you could think about bringing your own fork forward. Think about the consequences though, the original dev might get frustrated by a competing fork and abandon the project completely. The users on the other hand might be confused or insecure about which version to choose. Your fork must offer a lot for them to jump ship and switch.
Generally I’d say open source is about working together, not against one another, so just shoot them a message and see where it goes.
Great point. Makes me think of trillium next notes which continues to supply nothing new even though the original is archived