yeah it's kinda tough when you have 250+ OSS projects, inevitably some get messed up over time and I merge broken shit haha
—the maintainer of n
, a node package manager, in reaction to merging a pull request that caused people to have their bin, lib, share and include directories rm -rfed
from /usr/local (https://github.com/visionmedia/n/issues/86
I see a lot of people, particularly from the node community, sing the praises of throwing open source software at the wall to see what sticks. Their argument is that, hey, I'm providing this for free, so the world is better off because there is now more software in it.
No. This is wrong. The world is worse off. There is a limited amount of oxygen in the room for a given solution. Every time you release a new project, you are taking time and attention away from another project that might serve people's needs better. Especially if you're someone like TJ, whose star power will tend to attract people over other projects that, while perhaps better maintained, do not have a famous developer behind them.
If you decide to publicly release a new tool, do it because you truly believe that your approach is sufficiently better than everything else, because otherwise you're causing fragmentation for no reason. And if you release, don't release more than you can realistically maintain. Remember, real people are using this software. Human beings. And they will come to depend on it.
And if you don't have the time or inclination to maintain a project, don't just blindly merge pull requests. It is far better to let potentially bad PRs pile up than to merge to get it over with; especially because it means that it might be YOU that is now responsible for data loss or security vulnerabilities.
Maybe some people don't care, because fuck it, I'm giving it away for free. But I don't think this strategy is tenable long-term, and I think it's poisonous, and I don't want to be part of a community where it's true.
Of course we are all human and we all make mistakes. But I want people who use open source software to be able to trust that, as the maintainer, I will put every ounce of effort I can into delivering a quality product.
Releasing open source software is a responsibility, but I think it takes maturity to realize that. When it comes to whether to release an open source project, I like to ask myself: What would +Chris Eppstein