So what I notice is that there seems to be a spectrum between feature-conservative and feature-enthusiast open-source projects.
RH doesn't name any names but there seem to be more feature-enthusiast projects out there. I wonder if someone could name an example and see the pros and cons of the two approaches.
I guess one good example (that was mentioned just yesterday here on HN) would be Flask vs FastAPI: https://news.ycombinator.com/item?id=31953470 - "There are no open issues or pull requests on Flask "
Quick count finds that FastAPI has 48422 lines of code, while Flask has 9995. Flask just achieved "Zero standing issues/PRs" while FastAPI has 1.1K open issues and ~500 open PRs.
Large surface area/API quickly leads to be overwhelmed when you're trying to maintain it. Adding new features/fixing existing ones becomes harder as well.
Best bet to make sure something is maintainable over time is to add as little as possible to it, and if you really have to, make sure you're also removing something at the same time.
Otherwise you need a massive team just to be able to "survive" and not making things rot.
Someone run that tool on the Clojure codebase as well, and it really shows how well the Clojure codebase has been written, as most code that was initially written is still there and does what it needs, without having to be rewritten.
> So when I say in passing “if it doesn’t matter to Rich, it won’t get in”, it’s not a slight, it’s a statement of fact. People are limited, and must prioritize, your ticket will most likely be deprioritized unless it’s directly related to whatever Rich is currently working on.
> In addition make sure every assumption, every detail you’ve thought of, every possible side-effect of your code, is mentioned in the ticket. Because if you forget to mention something, Rich will most likely catch it, and hand the ticket back to you with a comment of “did you think about X”, that will add another few weeks into your dev time.
> Now begins the “personal opinion” section, what I’ve stated here are the facts as I’ve worked on Clojure and the core projects. I got tired of the constant back-and-forth. Never being able to talk to the decision maker directly aside through a 3rd party. Problems that could be solved via a 10 minute meeting blow up into months of back and forth discussions, and if any party gets busy and forgets to get back to the other about the ticket, that process just takes longer.
The TLDR of the post seems to have been that it takes to long for him to get in changes that he cares about, while he feels like the Core team is focusing on things that are not as important (implicitly at least).
On a happy note, it seems Baldridge is at least acknowledging his missteps with the whole situation with the whole "Thanks for everything Rich, and please don't take my current leave-of-absence from the community as anger. It was out of anger last week, but now I'm using it as a way to reflect" part.
RH doesn't name any names but there seem to be more feature-enthusiast projects out there. I wonder if someone could name an example and see the pros and cons of the two approaches.