Feature creep in open source is almost always because of user pressure "add this or I'm going elsewhere". Nobody has the insight to build in a modular way on top of that library or system, ironically despite being programmers! Sigh.
Yet. The things that truly succeed find a way to evolve, scale and grow by learning to include contributors in a way that make them owners of their new contribution and more. It does not always happen. Not all projects can achieve the scale and funding to do it properly but those are the ones that succeed.
Point to the ones that worked and there's the thousands of others that didn't, leaving the maintainers totally burned out. Turns out we're not born managers or project leaders. GitHub and others could do more to improve life for maintainers and users alike. I see sponsorships, but I don't see bounties! Where's the bounty programs? Reward the user for their contribution, reward the maintainer for their long term efforts. The platform needs to do more. Can't put all the pressure on the people using the platforms.
> Yet. The things that truly succeed find a way to evolve, scale and grow by learning to include contributors in a way that make them owners
This is well said. Maintainers need to grow their communities by allowing contributors to take ownership of components (this can be done with technical things like modular design that predicts future ways that things will be used, or by building good relationships with contributors), and they also need to have a clear vision for the things that their project is and is not.
It’s definitely a balance because if you are perceived as saying no too much and the community doesn’t understand or doesn’t accept your reasoning, then the project may stop growing and you’ll have less help to build the things you want to build.
And often there is already a modular system ready, but the person requesting a feature is either too lazy or doesn't know the system enough to use it (or sometimes even know it exists).
This seems especially true for drive-by requests where someone on a dev team has a feature they are required to implement in XYZcorp's application. They don't know the platform well, they see the feature isn't provided out of the box, so instead of doing much research, they just hop in the issue queue and request it.
Sometimes the modular system is very flexible and straightforward. Other times the system really is modular, but makes many assumptions which make little sense to and are even difficult to foresee by someone less familiar with the overall system. See all the years of discussion over libraries vs frameworks vs complete code ecosystems. If I have a three week deadline and it takes three months to come up to speed with your system's docs and code, I'm going to ask for something without an up-front PR before I take it on myself.
"Feature creep" -- the universal problem of almost every piece of hardware OR software or standards doc or government budget. Saying "no" is the hardest thing a manager ever does, because he or she usually hurts someone's feelings and maybe even their career. I suppose it has some similarity to the Tragedy of the Commons.
Yet. The things that truly succeed find a way to evolve, scale and grow by learning to include contributors in a way that make them owners of their new contribution and more. It does not always happen. Not all projects can achieve the scale and funding to do it properly but those are the ones that succeed.
Point to the ones that worked and there's the thousands of others that didn't, leaving the maintainers totally burned out. Turns out we're not born managers or project leaders. GitHub and others could do more to improve life for maintainers and users alike. I see sponsorships, but I don't see bounties! Where's the bounty programs? Reward the user for their contribution, reward the maintainer for their long term efforts. The platform needs to do more. Can't put all the pressure on the people using the platforms.