Am I an asshole? Yeah, sometimes. I have strong opinions and I have a habit of saying the wrong thing and getting people mad at me. But it’s usually in cases where I see people treated unfairly and I try to stand up for them, usually very poorly.
We have a great group of contributors to Eclipse who work their asses off to make it better, often on their own time and their own dime. Often they have good ideas and I hate to see those ideas not given a fair shake. Everyone has an opinion and that’s what makes a community vibrant. But every idea and every contributor should be given respect. If you don’t you equally lose respect.
I made this comment on the UTF-8 default encoding bug that I hope resonates with people. Knowing how things go, I’m sure I’ll piss off just as many people.
Remember when you make decisions like this, you are making them on behalf of the community, the entire community, not just your employer and certainly not only yourself, and that you are doing it with respect for the opinion of those who’ve commented on this bug and elsewhere. Then hopefully the respect would be mutual. There are millions of users out there. Our products are successful because Eclipse in the large is successful. We need to make sure we protect that.
My point is that when you make a decision when working on an open source project you have to take into consideration the entire community that’s impacted by that decision. With Eclipse, especially the Java side, it’s gigantic. And for us vendors, its a few orders of magnitude larger than the number of our customers. So when you make a decision that’s not in the best interest of the masses, it will sooner or later come back to bite you. You don’t want to go into a customer engagement and have the prospect say, “you built on Eclipse? Eclipse sucks!” That’s not good business.
It’s hard for us committers and leaders to see that. It’s miles apart from that moment of decision to where something like that could happen. But I try and keep it in mind when making design decisions I make. And if it causes a little short term pain for my customers, well that’s my problem to solve, not the community’s. If someone has a good idea, it’s my duty to treat it with respect and in the end it could make the product better for everyone, including my customers.