After announcing his company was abandoning Unity for GNOME, Shuttleworth posted a thank-you note to the Unity community Friday on Google Plus, but added on Saturday:
"I used to think that it was a privilege to serve people who also loved the idea of service, but now I think many members of the free software community are just deeply anti-social types who love to hate on whatever is mainstream. When Windows was mainstream they hated on it. Rationally, Windows does many things well and deserves respect for those. And when Canonical went mainstream, it became the focus of irrational hatred too. The very same muppets would write about how terrible it was that IOS/Android had no competition and then how terrible it was that Canonical was investing in (free software!) compositing and convergence. Fuck that shit."
"The whole Mir hate-fest boggled my mind - it's free software that does something invisible really well. It became a political topic as irrational as climate change or gun control, where being on one side or the other was a sign of tribal allegiance. We have a problem in the community when people choose to hate free software instead of loving that someone cares enough to take their life's work and make it freely available."
Shuttleworth says that "I came to be disgusted with the hate" on Canonical's display server Mir, saying it "changed my opinion of the free software community."
Full story here.
I agree that standards do make things much easier for everyone. However, deciding on and implementing a standard will always be much more straightforward and less painful under an organisational hierarchy. While the FOSS model will ultimately decide a standard or standards through community usage (hopefully based on merit, but you never know...), you have to accept that the path to doing so will be more messy and painful.
You come very, *very* close to hitting the point I've been screaming in my head all the way through this discussion:
We need standard INTERFACES, but as much as possible we should avoid standard IMPLEMENTATIONS.
How many mail clients are there? Friggin thousands probably. Which one do you need? Well...for most users, pick one that looks pretty, it really doesn't matter. They all do IMAP and POP3 and SMTP and all of that, so as long as they talk to the server the same way, you can switch from one to the other to the next ten times a day every day and it doesn't matter. Your mail server won't care, your desktop won't care, you aren't going to be forced to reinstall your OS or rip apart half your system or write new code to make that change.
Obviously there are cases where the interface must change. There are places where you must break backward compatibility. But if you do it right, you can swap the new one in and pull the old one out without anyone really noticing. And then you make your changes and your custom extensions, IN AN OPEN AND TRANSPARENT WAY (ie, no M$ E-E-E strategy). Monoculture means attacks are easier (you already know what software to target) and more profitable (the same attack is effective against everyone). So it's a security risk, as well as just making it harder to build my computer the way I want.
Parent mentions that we tend to target a single kernel (ie, the Linux kernel)...but I work with several different kernels every day and I barely notice the differences. Linux (in a half dozen different versions, and a few different architectures), AIX, FreeBSD (also various architectures)...yes, some software only runs on x86, some only runs on ARM, some only runs on BSD, some only runs on Linux. But the vast majority of stuff I use works on any of them, because they're all Unix, so they all share a pretty common interface. We already run the same display server with many different kernels under it and many different display managers above it...so I don't see why can't we run multiple display servers too.
My dream is a system where I can swap out any single component at any time with virtually no impact. When the next Heartbleed comes, targeting OpenSSL, half the world might already be safe because LibreSSL doesn't have the bug, and the other half can just switch over as soon as their bosses approve the change. Meanwhile OpenSSL gets their stuff fixed and maybe the next attack targets Libre. Just like how I decided one day I didn't like KDE, so I switched to Enlightenment. And I can still use the same apps, and the same backends, and didn't really need to change the system configuration in any way. Our networks would be in a much better state if the entire stack could shift that easily. But instead we're going in the other direction, with systemD incorporating as much of the system as possible, and now the major display managers starting to rely on systemD components as well...we've already passed the point where people who ask how to remove systemD are generally advised to just reinstall a whole different distro, if not switching to an entirely different kernel. That's absolutely insane.
Nobody in Linuxland with its fetishization of "freedom" will be part of a standardization process. That would require compromise, leadership, and organization. Thus, the competing "standards", where "standard" means a single implementation. The only reason we got Linux was because Linus and the rest had the POSIX standard to implement, and it got a GUI because X11 was already written for Unix. All it needed was some adaptation. When there was a choice, Linux has been kind of dismissive of existing standards because Linux developers think they can do better. History shows that usually they can't.