Live data from Hacker News

Analysis of the conflict among Canonical, GNOME, and KDE

blogs.gnome.org

21–30 of 35 posts

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#21

Posts like these really show the problems in the current free software development world; balkanization between different stakeholders and bizarre processes that alternate between bureaucracy and anarchy. Watching the tug-of-war between Red Hat and Canonical play itself out in the form of dysfunctional community development process is depressing. I'm aware that watching sausage being made never makes you very hungry,…

Democracy is inefficient.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#22
post #2

These problems might take forever to solve [as the organisations are large]... In the meantime, I wouldn't be surprised if someone came up with a better technology model as a replacement. Id like to see a desktop development model more like modern web development - UI in HTML5/javascript/SVG, json data messaging, UI & system events coming from a port [eg. shinetech/eventserver], able to write small server-like plugin…

With GTK+3 and GNOME3, there is a push towards a development model like you've described. GNOME Shell's UI is written in Javascript, the core is written in C. Themes are done in a CSS-alike language. DBUS (a cross-desktop standard that works in both KDE and GNOME) provides data messaging and your "UI & system events coming from a port." This allows daemons (your "server-like plugins") to communicate across programs, share data, UI elements, and whatever else you feel like communicating between processes.

One of the most important changes is the gobject-introspection work, which allows library authors to annotate their library's API in a way that allows bindings to be automatically created for any language. This is how GNOME Shell is able to use Javascript to call into GTK+3. Developers wanting to develop for GTK+ in their favorite language, be it Ruby, Python, Lisp, C#, D, or anything else, don't have to write bindings themselves or wait for someone else to write them.

Many new GNOME applications and libraries are being written in Vala, a language with an object model based on GObject but a syntax like C#. It offers a modern language with garbage collection, and everything compiles down to C in the end. The same compiler can also compile a language called Genie, which is designed to have a syntax similar to Python (although, in my opinion, it hasn't done a great job at that yet, and I've seen no use of the language in the wild). It also compiles down to C.

Tensions are high in the FOSS desktop world right now but that's nothing new. Flare ups like this come and go. Sometimes the problems are fixed and we find new ones to argue about a few years down the line. Sometimes the wounds fester, become gangrenous, and people leave for good.

Most of us just want to write code we can use and have fun writing.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#23
post #7
post #2

These problems might take forever to solve [as the organisations are large]... In the meantime, I wouldn't be surprised if someone came up with a better technology model as a replacement. Id like to see a desktop development model more like modern web development - UI in HTML5/javascript/SVG, json data messaging, UI & system events coming from a port [eg. shinetech/eventserver], able to write small server-like plugin…

Can anyone point me to a good architecture/dev overview of Gnome Shell and Unity ? I find it hard to sift out the marketing from the tech in what Ive seen.

GNOME Shell is the window manager (and some would argue a little bit more) for GNOME3. The GNOME wiki is a good place to start. A mostly up-to-date design overview is available at https://live.gnome.org/GnomeShell/Design/

A technical overview can be found at Owen Taylor's blog http://blog.fishsoup.net/2008/10/22/implementing-the-next-gn... It's old, from when the shell was just being planned, but all the major architectural decisions are there.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#24
post #21

Posts like these really show the problems in the current free software development world; balkanization between different stakeholders and bizarre processes that alternate between bureaucracy and anarchy. Watching the tug-of-war between Red Hat and Canonical play itself out in the form of dysfunctional community development process is depressing. I'm aware that watching sausage being made never makes you very hungry,…

Democracy is inefficient.

This type of lazy thinking in generalizations amazes me. Inefficient at what? If you mean it's inefficient for rapid decision making, I wholeheartedly agree. If you mean inefficient at allowing people to express themselves, I disagree.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#25
I'm surprised that no one here has yet pointed out that posts like this are a part of the self-correction mechanism present in transparent communities. Sure, it may be drama in the short term, but I think the fact that we know about these altercations is an important thing in and of itself. I would be highly surprised if this kind of drama didn't occur in the proprietary software world, but we don't get to see it and learn from it.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#26
post #21

Earlier quoted context omitted.

Democracy is inefficient.

This type of lazy thinking in generalizations amazes me. Inefficient at what? If you mean it's inefficient for rapid decision making, I wholeheartedly agree. If you mean inefficient at allowing people to express themselves, I disagree.

Fair enough - Open systems explore the landscape of all possible systems through diverse implementation and designs. This diversity sometimes leads to open systems finding the global optima, but even in less ideal circumstances the various different approaches reach a local optima for some subset of user needs. Closed systems on the other hand try to reach the global maxima by analysis, design and 'vision'. The original poster laments the competing implementaions, back stabbiness and ideologies. From my perspective that is how open source is supposed to work - people who are full of it trying to take their vision to its maximum limit. Competing implementaions and backstabbiness is not a modern phenomenon - bsd vs linux, emacs vs vi, xemacs vs emacs, n implementaions of scheme, n implementations of common lisp, ironpython/jython/python/pypy.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#27
post #26

Earlier quoted context omitted.

This type of lazy thinking in generalizations amazes me. Inefficient at what? If you mean it's inefficient for rapid decision making, I wholeheartedly agree. If you mean inefficient at allowing people to express themselves, I disagree.

Fair enough - Open systems explore the landscape of all possible systems through diverse implementation and designs. This diversity sometimes leads to open systems finding the global optima, but even in less ideal circumstances the various different approaches reach a local optima for some subset of user needs. Closed systems on the other hand try to reach the global maxima by analysis, design and 'vision'. The origi…

You bring up an interesting phenomenon: well-developed open source environments share a cut-throat competitive culture for consumer mindshare rather similarly to multinational corporations. I wonder if there is a scalability issue in human management where at some point we go berserk trying to define the mainstream.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#28
post #26

Earlier quoted context omitted.

Fair enough - Open systems explore the landscape of all possible systems through diverse implementation and designs. This diversity sometimes leads to open systems finding the global optima, but even in less ideal circumstances the various different approaches reach a local optima for some subset of user needs. Closed systems on the other hand try to reach the global maxima by analysis, design and 'vision'. The origi…

You bring up an interesting phenomenon: well-developed open source environments share a cut-throat competitive culture for consumer mindshare rather similarly to multinational corporations. I wonder if there is a scalability issue in human management where at some point we go berserk trying to define the mainstream.

As far as open source is concerned, it might be helpful to split the projects into two categories before examining their motives 1) Corporate driven projects. Here the need to reinvent might be due to profit based motives, or it could be because someone is trying to create work for themselves. 2) Volunteer driven projects. In this case I think it's the geeky need to understand things from first principle that drives the reinvention. The fact that for poorly documented projects the cost of reimplementation early on is comparable to rewriting from scratch doesn't help. Also large projects seem disorganized and bloated when compared against a new naive implementation with few features.

Re: Analysis of the conflict among Canonical, GNOME, and KDE

#30
post #26

Earlier quoted context omitted.

This type of lazy thinking in generalizations amazes me. Inefficient at what? If you mean it's inefficient for rapid decision making, I wholeheartedly agree. If you mean inefficient at allowing people to express themselves, I disagree.

Fair enough - Open systems explore the landscape of all possible systems through diverse implementation and designs. This diversity sometimes leads to open systems finding the global optima, but even in less ideal circumstances the various different approaches reach a local optima for some subset of user needs. Closed systems on the other hand try to reach the global maxima by analysis, design and 'vision'. The origi…

Optima and maxima are the plural forms of optimum and maximum, respectively.
Post reply on HN