Open joe-no-body opened 3 years ago
I appreciate these concerns and know that this is an issue in the FOSS, particularly the more personally abusive maintainer stuff.
I think in both of those cases, if there is a single maintainer behaving badly, a project is generally in dire straits. It's a shame that the contributors would be SoL for sure, but it doesn't bode well for the future of the project either way.
For HOOP, the intent is for the maintainer(s) to more or less keep "control" of the project, direction wise and legally.
I know that wont sit well with some folks, but comes from my history maintaining part-way open source games (where you need to maintain the ability to sell it, contributions and all) and smaller libraries where you get 50-50 "excellent" and 50-50 "total rubbish" contributions that you don't necessarily want to include or "pay for" in some way (you already pay in time when respectfully declining/explaining the problems).
Akin to the github tshirt "get a PR accepted and get a tshirt" where everyone was getting spam, I think setting a low-effort low-communication bar is a common mistake. That's why the commercial terms are negotiated. That's why the license in return for contribution is negotiated.
I was literally having thoughts about a rogue maintainer and some sort of timed expiry/relicensing clause in the shower, haha.
I think if it worked on a per-commit basis that could be fine. I would personally probably default to something like the anti-capitalist license to keep defense against time-delay strip mining while remaining fairly permissive :) but I guess other folks using the model could default to something else.
If HOOP became widely adopted it'd be possible to set up a central watchlist of libs and what commit had crossed that threshold.
The idea of preventing forks is an interesting one, but I'm a bit nervous about some of the implications. It's true that forking can be a major threat to an open source project, it's also a major check on the maintainers. You've already mentioned the case of a maintainer passing away/disappearing, but there are a couple other cases I can think of where this could be especially important:
Both of these scenarios can and do happen in existing FOSS projects, but the key difference is that FOSS licenses convey the right to maintain and distribute the software in perpetuity. As a contributor, that's a really reassuring guarantee, because I know that my rights in the software will always be the same.
A few options that initially come to mind here: