Exactly. Reasons like those explained the GP and the subsequent replies are the reason we end up with bloated code with hundreds or even thousands of unused methods/functions/classes/etc.
"What is this function used for?"
"Oh, because I know that the next feature we add here will need this."
This is not a valid excuse. Anybody who has spent a month working in the industry will know that product managers change their minds on a minute-by-minute basis. Don't waste my time by putting in code that I will end up reading, deciphering, and eventually find is not even used.
HFCS isn't everywhere. It's just in all the crappy food that you have in your pantry.
Did you think about what you were posting before you posted it?
Exactly. I'm a professional UI developer and I used to contribute to open source software quite a bit back in the day. I don't contribute much these days mostly because of lack of free time to do so, but this was a major point of contention for me.
The biggest problem is that the programmers have trouble accepting advice for changes to the product they've poured their blood, sweat, and tears into. I've found for the most part that many open source projects are over complicated. One of the best ways to improve the usability of a product is to simplify it. You need to remove or conceal the features that are rarely used. Unfortunately, those features tend to be the hardest to implement, so the person who implemented it wants to make sure people know about it. It's not unexpected that they wouldn't be happy if you suggest that it be removed.
"Is it really you, Fuzz, or is it Memorex, or is it radiation sickness?" -- Sonic Disruptors comics