Gnome. Again.

I was reading today at the d-d-l mailing list about all the blah-blah regarding adding Mono and some of its apps on Gnome or not. At the very end, not only they have not reached a conclusion, but the discussion turned into “what is Gnome and what’s its real purpose”. This is a lot like thinking the pros and cons of buying a new car and at the end becoming depressed and dysfunctional after thinking too hard about why do humans need a car, why do we need to work in the first place, what is our purpose in the universe and if God exists. It’s all very laughable (or sad, depending how you see it).

This whole discussion is a perfect example how most big OSS projects are leaderless, unfocused and with forked opinions towards most things. I have said it in the past, and I will say it again: Gnome needs a leader (or an elected Board) that can take such decisions after some discussion has taken place in the public mailing lists and most opinions have been expressed. The current Gnome Board doesn’t take technical decisions. I am not exactly sure why it exists.

In the actual topic of Mono becoming part of Gnome, I have to say the following: Gnome people again argue about the wrong thing. Instead of discussing which language must become the new standard development language in Gnome, they are arguing if we want to have yet another binding in the platform, or if Mono is better or worse than the already accepted Python. All besides the point, a point that was correctly pointed out by Havoc, Miguel and others 3 years ago already: Gnome needs a new, modern language. GTK+’s plain C doesn’t cut it anymore (even if GTK+ C will continue to be distributed with Gnome, of course). Just like 10 years ago there were few people who could program in x86 assembly anymore, today fewer and fewer graduates learn C. The only question that should have been discussed is which that language must be? Is it Python, is it C++, is it Java or C#? Again, the lack of a real leader in Gnome has failed to take that decision in the last 3 years and has failed to bring Gnome to the 21st Century development-wise.

And so here I am, reading the d-d-l and laughing my ass off with their amateurish ways of running this major software project. Yes, Gnome is a community project (with strong backing from 3 major software companies), but so is PostgreSQL and Apache. There is something to learn from these two projects, about how they operate and take decisions.

Update: I made three posts in the ddl, here, here and here.

Post a comment »

Thom Holwerda wrote on July 17th, 2006 at 11:05 AM PST:

For the more sane people among us, like me and you, your blog post is kicking in open doors. You cannot run a project or organisation without a leader. I mean, take a look at OSNews: 4 people, and more often than not, we depend on David to make the call.

This is what GNOME needs too: a David Adams. Someone who does not interefere with the way we (Eugenia/Adam/I) run OSNews on a day-to-day basis, but only really makes himself hear whenever the big, important decisions must be taken. Someone who listens to the discussions, weighs the pros and cons as presented in the discussion, and then makes a decision. He (or she) then throws that decision back into the discussion to gain more input, and then, discussion time is over, decision making time is here.

Without such a structure, you cannot make important decisions. And it shows in GNOME.

A good software-related example is SLED 10. How long will it take before Ubuntu reaches that level of polish? I’m willing to bet that by the time the Ubuntu community has found out wether or not to adopt the new Slab GNOME menu, we’ll have SLED 15.

Sometimes, you need a leader, in this case Novell, to advance. And there both GNOME and KDE are lacking. Severely.


This is the admin speaking...
Eugenia wrote on July 17th, 2006 at 11:13 AM PST:

Agreed. The Gnome Foundation Board must again slightly modify its purpose. At least four of the seven members must be technical people (they usually are anyway), and then the Board must take a decision on a currently hot topic. Without a leader, Gnome is like a ship without steering in the deep sea.


Erick wrote on July 18th, 2006 at 4:05 AM PST:

Strongly seconded. I wrote tsclient in C because that was all there was. I started a newer version based on your mock-ups in C#, but the fact that support is spotty (not everyone includes mono), I stopped it. I don’t need a thousand people asking me how to get mono on their system – I don’t care – I provide the software free, you figure it out. So, no mono, no new version. GNOME needs a leader, but that won’t happen. Miguel was one hope for that and he’s stepped away from GNOME toward mono. Havoc might have been another, but he’s noticably absent now. There aren’t many others with the name and/or capabilities. I’ve given up on GNOME as a whole because it seems like a misguided ship – off course and no captain/navigator to set it straight…


Goddamn wrote on July 20th, 2006 at 7:57 AM PST:

“This is a lot like thinking the pros and cons of buying a new car and at the end becoming depressed and dysfunctional after thinking too hard about why do humans need a car, why do we need to work in the first place, what is our purpose in the universe and if God exists. It’s all very laughable (or sad, depending how you see it).

You are seeing the deep truth behind gnome developers.
I saw Havoc Pennington questionning the very essence behind gnome, like, ten times.
Some of the ones i remember :
* the “gnome interface nazis” rants, where Havoc finally doesn’t understand wtf gnome should be. He goes like “i don’t know what life means, if there is an after-death and if gnome should focus toward experienced users or newbies..”

* The same, when jeff waugh and him were talking about the Spatial Nautilus

* The same, when the stupid ximians at Novell started a “pseudo” fork of gnome.

* The same, now.

Havoc Pennington is a very skilled dev but he’s a little, duh, lunatic. He doesn’t know what to do, where to focus his projects, he raises good questions but can’t anwser them himself. He’s.. BORING, like 70% of the gnome heads.

If there’s one thing i like in KDE (i hate the “everything and kitchen sink” side of KDE..), it’s the KDE developers. They know where they are going, they don’t need to discuss months and months before taking a single fucking decision. If KDE4 really brings usability towards KDE, i will be the most happy man in earth.

I think one of the things that makes Gnome developers so chaotic is the participation of too many enterprises with different goal. Redhat is a major gnome contributor and.. they doesn’t really care about the desktop (except Havoc himself). Redhat has some conflicts with Ximian view of quality control. (RH devs are complaining about how unstable and unsecure Evolution is.) And Redhat hate Mono.

Sun, the “usability” side of Gnome (with the ex-Eazel guys), is the enterprise behind Java. Naturally, they can’t stand Novell and Miguel/Mono. Sun is also behind OpenOffice, and if it’s not a “gnome project”, it’s one of the most valuable contribution to the desktop and it uses GTK widgets.

Now, about indivuduals conflicts : some of the biggest heads of gnome (jeff waugh, nat friedman [..]) can’t stand the Spatial Nautilus.. but wait, how much time they wasted on this issue ? i don’t even want to know. I admit, i like the idea of Spatial Nautilus. Seeing that they are going (slowly) backward after so much time on developing and arguing about it, it’s making me crazy. Ubuntu and Novell are using the browser mode by default.

There will NEVER EVER be a real leader in gnome. This project needs badly a FORK.


This is the admin speaking...
Eugenia wrote on July 20th, 2006 at 8:56 AM PST:

Well said I think. Either all these companies need to get a clue and “listen” to a new leader and FOLLOW that leader, or they should completely fork and do their thing.

>Havoc Pennington is a very skilled dev but he’s a little, duh, lunatic.

That’s why we love him. :)


Dennis Heuer wrote on July 24th, 2006 at 4:25 AM PST:

I think the problem is rooted way more deep. If you look at Icaza’s “innovative” history, you see that he only implemented clones of Windows software, mainly monolithic stuff. The decision to go mono follows the same history. Others who agree with him also seem to fall in love with this monolithic stuff, like Evolution but also OpenOffice. C-lovers seem to love the library and tool stuff. They not only want a different language, they want a different platform.

When I read all this justifications like “beagle is great, mono must be great” I not only wonder about the way of argumentation but also if I’m an old-fashioned guy. I don’t use any of beagle, f-spot, and mono-friends. I prefer the direct way of doing things over the abstracted desktop. My organization is clear and straight forward, which implies that nautilus does it for me. I’m a Unix-Guy (who will not die out because Icaza told him so.) And I like slim systems–what gnome proposed to be years ago. I see no sense in installing hundreds of megs for an interpreted sandbox that mainly sends my doings via bindings to the underneath C-layer. I agree that C isn’t “smart”. The problem is that if I decide for another language, I decide for another platform/philosophy.

Who is backing which language and why? Mono is backed by Novell because Novell definetly wants to stay compatible with Vista. One of the consequences is that gnome
would be doomed to chain to the ideal of a stupid corporate desktop with a lot of fat, monolithic and incompatible software. Better (more community-friendly) software would have to come from other people. The Java-way is not so clear but mainly corporates want it. The python-way is not that corporate. Pythoners create mainly small tools for individual purposes. They don’t care too much about big, monolithic stuff. Pythoners are different people. The C-Guild is hackish and not interested in such discussions anyway.

Whatever language will be chosen, it will attract different people with different ideas of a productive desktop. I am not shure if any of the languages in discussion will help gnome survive because the newly attracted developers will just occupy gnome for their own direction. They will mainly do things on top of gnome. If many of them care about internal details is quite unclear. There are always few who care about the internals of a project.

Deciding for a new language may push gnome in a certain area but mainly on top of the desktop. The internals will stay preAlpha, as they still seem to me. Actually, I think that the C-development underneath gnome was the most fruitful consequence of the foundation of the gnome project. To be truthful, most of gnome is somehow broken and left aside over time. Nautilus, the session-manager, the mime-stuff, etc. This all seems to not really work well and to not have fulfilled the early provisions. D-BUS, HAL, X, pango, and other projects were pushed forward successfully instead. Possibly this is a consequence of the chaotic C-Base of gnome. However, C# or python will not solve this problem. They will rather lead to full ignorance while turning the visual part into a bolid, 3D, corporate, silly, toy-like thingy. A better way out could be Vala. It provides a high-level language for the combination of gnome’s and other relevant interfaces at runtime (or for compilation to C-code). This is much like VB for Windows and could help directing the focus on the gnome base. An external language, as the discussed languages are, will hide the internal and even the interface issues over time and make them disappear for most people. The issues themselves will not disappear.


Rob wrote on July 24th, 2006 at 9:06 AM PST:

I cannot agree at all to many points raised.

* Leadership
GNOME is more diverse than your average OSS project run by a “benevolent dictator”. E.g. The focus of python is much narrower and the Apache project has a bunch of completely independent subprojects so it’s not possible to compare leadership among those projects.

* Corporate Influence
A number of big and small companies are making their living with GNOME. Of course they have different key interests and there are discussions involved in coordinating the efforts and bigger picture. That just shows that GNOME is a healthy project.

* Fork
Interestingly the “Fork” advice usually comes from outside the project and I doubt people know what would be involved in forking GNOME. Look at the previous fork attempt by Ali, even though it was done by a GNOME developer and backed by many OSNews readers it failed. GNOME is too big to fork, what should be possible though is replacing subsystems and put a new “face” on GNOME. But the distros are already doing that …

Summary:
Many people (prominent OSNews editors among them) misunderstand the discussions on d-d-l. Developers are trying to reach a consensus and it involves emotions. Some issues cannot simply be solved by a dictator after a week of discussion or communicated to all gnome devs after a private meeting (as Thom suggested).


superstoned wrote on July 24th, 2006 at 11:38 AM PST:

Gnome could use something like the Workgroups KDE has installed. The Technical Workgroup, for example, has to decide on hard issues. It consists of several of the most respected core KDE developers, and only kicks in if the community seems to be unable to decide on something.


Ricardo Ramalho wrote on July 24th, 2006 at 12:06 PM PST:

Bindings, Religion, and many other nonsense…

Why, oh why don’t the Gnome people (or should we say *Nix people in general…), create something like OS X’s “/Library/Frameworks”? Well… That way, things that go out of the “Religion”, could be installed by those that are non-believers… and most probably we all would be happy.

And… please don’t tell me that anyone could do a shell-script that does exactly that ok? ;)

Sorry for the sarcasm, but i had a terrible weekend. Hope you got my message… :)

C ya. Nice blog. ;)


Ricardo Ramalho wrote on July 27th, 2006 at 9:16 AM PST:

Well… i’m kind of pragmatic here. And i will not be even a bit sarcastic here!

I’m a programmer for 6 years now. And if i want to create an application, i want to do it as fast as i can! Java ou C# accomplish this task quite well. Rapid Application Development. Something that some g33ks just don’t get.

And then, you get an OS/Desktop/whatever that’s created for… users!!! And what do they want? They want flashy “3D, corporate, silly, toy-like thingy”. That’s what they want! They don’t care about how things get done, in what manner, in what language. All they want is to get their things done, with all the bells and whistles.

Mono, in this case, is an opportunity for Gnome itself; they can grab some applications from Windows. Yeah, these apps come from the Windows world, they’re evil! And so, they taint Linux! Just like Picasa for Linux right? No… We need more “Picasa”’s, we need more “Wine”’s, and more “Mono”.

Forget the philosofical questions, for a change… Gnome needs it!


Dennis Heuer wrote on July 29th, 2006 at 4:53 AM PST:

Ricardo Ramalho wrote: We need more “Picasa”’s, we need more “Wine”’s, and more “Mono”. Forget the philosofical questions, for a change… Gnome needs it!

Sorry, aehmm, who is paying you for writing this ideological nonsense?

What the user needs depends on the user. Users are not uniform. The question is what users are wished for gnome. This will decide for the language. Because only similar thinking developers will go on developing gnome. They will choose for their most wished language. That’s what I was targeting at. The direction gnome goes decides for the language. If one first decides for a language, one also decides for the direction because every language attracts its own type of developers. You and your written doctrine are the best proof for what I’ve written about mono and ignorance. Thanks for that proof.


Comments are closed as this blog post is now archived.

Lines, paragraphs break automatically. HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

The URI to TrackBack this blog entry is this. And here is the RSS 2.0 for comments on this post.