FLOSS developers, particularly those writing code in their spare time, hack on whatever they feel like. Usually because they find it fun.
This is why we have jokes about the number of people writing IRC clients in the 90s, which apply to the number of people writing Twitter clients this decade. :-)
GNOME is a meritocratic collective of individuals (some of whom work for companies with an interest in GNOME) with a degree of aligned vision and values, and an incredibly thin layer of artificial technical leadership (mainly represented by the Release Team).
It's not a command-and-control culture. People work on things because they want to, are paid to, or (in many cases) both.
One thing to keep in mind: There is a sense of GNOME being a "team" of like-minded souls, so distinctions between vision and values between projects (such as Firefox and Pidgin) may stand out to developers more than they are obvious to users.
What one developer finds fun may be another hacker's dental surgery nightmare. There are always new ideas to muck around with, new projects to contribute to, and new people to work with. For these reasons, directing FLOSS developer energy is not a zero-sum game.
When someone says "GNOME and KDE developers should combine their talents and work together, then they'd all be better off (as will users)", my response is this: Are you HIGH? These people may share some common values, but in large part, their vision and values are different enough that it would not make any sense at all, let alone be fun.
Should all the NoSQL folk stop working on competing stacks, and work together for the "betterment" of themselves and their users? Hell no.
Give it a few years and there'll be obvious frontrunners which have been better maintained, supported, managed and better suit real requirements (cf. MySQL and PostgreSQL in the FLOSS RDBMS world), but for now, get the fuck out of the way of innovation!
There are long and interesting stories behind the specific projects the author raises -- the Epiphany browser and the Empathy IM client -- but they're a bit long for this post.
I'm suspect the author would be surprised to find out that the existence of Epiphany and Empathy is much more to do with a sense of exceptionalism on the part of Firefox and Pidgin than of GNOME. :-)
Reality check: Most GNOME users still use Firefox and Pidgin anyway (at least until Ubuntu shipped Empathy in Lucid, and which will be much more convincing in Maverick).
I'd be more than happy to hear more about the stories behind Epiphany and Empathy that you hinted about if you have some more time!
vs.
"I feel like writing a high performance, multi-node key value store, just to prove that I can" OR "I enjoy coding with X, and I think I could make a really cool browser with it" OR any other number of motivations.
Some of those motivations produce a Redis, a guiding principle, a community, co-developers and a market. Some of the produce a SourceForget project that is never heard from again, let alone improved beyond alpha quality.
But that's a lot of flowers blooming, and there's no shortage of developers realising that FLOSS is where the action -- and practical education! -- is.
DVCS and social coding venues like GitHub make it all the more easy to start, share, and improve.
You'll probably see all of that as messy and inefficient. Most experienced FLOSS developers see it as a necessary by-product of open learning, development and innovation -- our process.
Do tell.
Then install another piece of software rather than the Gnome-branded software.
In Linux, I can eat my cake and have it too if I really want to -- I can run Amarok but use Gnome if I want. If someone wants to spend their time developing a browser suited exactly to the philosophy of the Gnome desktop, it's your decision whether or not you want to (un)install it. The only thing that gets wasted is their time.
Most non Gnome-branded apps work fine in Gnome. If GNOME wants to duplicate existing software, it's Gnome's right to do so. It's also your right to install what you want.
In other words, go to your favorite package manager, and pick what you desire. Don't be upset that you have more options. Options are the beauty of open source.
If this was a conventional business, Microsoft for example, I would probably agree that more cooperation and tech sharing between the Xbox and Live divisions would be a good thing. Increase communication, reduce redundancies, all that good business stuff.
For some open source projects, like Gnome, I get the feeling the shaman is often strong than the salesman. Corporate help aside, the personal/emotional attachment of OSS contributors drives involvement in ways a big number next to market share percentage can't. But even steadfast contributors would like to see the product used, so Gnome and others aren't off the hook completely.
Should Gnome be more cooperative with 3rd party apps? Maybe. Personally, I'm thankful for the amount of quality OSS that let's a company, like Canonical, build on the shoulders of giants and offer a system better tailored for end users. That's where the request for cooperation is more realistic.
Still...
I haven't used Linux IM clients in a while but the Pidgin debacle made me wince a little.
Seriously. I've used GNOME since 2003, but these days I spend 95% of my time in Emacs and Conkeror. I keep the panel around because the wifi widget is nice, and I use nautilus a couple of times a week for the few things that are awkward to do in a shell. But GNOME is nothing more than a starting point... a blank canvas.
Why stop at the browser or IM client though? Technically, Gnome itself only exists because of that same mindset (not being satisfied with KDE's initial license).
Linux people tout the fact that you can install whichever application meets your needs (or write your own, if one doesn't) as a main benefit to using Linux. I'm not even one of those people (I really dislike Gnome, and I have no love for Linux in general), and I don't see this as a bad thing.
I have a hate/hate relationship with the GNU/Linux desktop, but I would never presume that people who are predominantly volunteering their time and efforts to work on Gnome have a responsibility to rely on non-Gnome applications for fundamental desktop functionality.
The only possible rationale I can see for the author's opinion is that if the Gnome developers weren't spending their time having to create an official Gnome application when an existing one would serve just fine, they would be free to spend that time improving other aspects of Gnome.
I don't think that's necessarily a given.
The trouble with "why stop there" arguments though is that they can make any reasonable suggestion seem absurd.
There was a valid reason to create Gnome, but is there a valid reason for Epiphany?
>I would never presume that people who are predominantly volunteering their time and efforts to work on Gnome have a responsibility to rely on non-Gnome applications for fundamental desktop functionality
The creators of Gnome have no responsibility to their users, but as users we have the privilege of providing them with feedback.
If 99.999% of Gnome users are providing the development team with the feedback that they will not use Epiphany no matter how much more polished it becomes then what should Gnome do?
The way I say it there are three options.
1. Do nothing, continue to develop and polish an application which no one will ever use.
2. Retire Epiphany and then have no "official" Gnome web browser.
3. Retire Epiphany and chose one of the major browsers which most of their user base are already happily using, and then try to make the experience of that browser on their desktop as good as possible.
Maybe I am narrow minded, but are there really any other options?
Gnome worked to create Human Interface Guidelines, and wanted a web browser (which is a fairly fundamental part of a desktop environment in this day and age) that used those guidelines to provide a cohesive experience.
Here was an announcement email which explains some of the reasons for it's existence:
http://mail.gnome.org/archives/epiphany-list/2008-April/msg0...
I would say that options 2 and 3 that you propose are nonstarters.
I feel weird that I've found myself in a position defending Epiphany. I don't mean to be, it's a shitty browser.
I just don't find it puzzling that a desktop experience project would want to be in control of their own web browser which uses their own underlying technologies.
I know the author makes the distinction once, but he continued to use this incorrectly and he may as well have referred to a love hate relationship with the Mac OS Desktop, Cygwin Desktop or FreeBSD Desktop. Heaven forbid should he have used the term 'GNOME Desktop'.