by Dietrich Schmitz
Prevailing wisdom has it that the road well traveled is safest. That may pertain when traveling cross-country in your car, but, it may not necessarily yield benefits in the computer industry.
You see, we have several forks in the road that are presenting as choices and very quickly developers are want to choose the path well-traveled thinking that such a path will offer the least amount of effort and resistance. That might make sense initially when short-sighted objectives are being met, as in reduced cost of labor input, but ignoring good design practices by taking shortcuts with direct hard coupling of apis can produce long-term inflexibilities that will make future coding brittle and prone to breakage.
(Image credit: Wikipedia.org)
Adding abstractions for apis is a good way to isolate hard coded system dependencies and using object encapsulation with abstract methods can allow polymorphic behaviors to be applied at a later date and thereby offering extensibility.
The shortest distance between two points is a straight line. Simply coupling an api (systemd) to a gui (Gnome) is an invitation for future disaster and in-built limitations. A
GUI framework should be loosely coupled to the underlying system and choosing to included hard-coded system dependencies is a recipe for disaster.
But that is the current situation faced by developers who need to make a choice for how to deal with the newest Linux infrastructure changes now being phased in with systemd.
CinnArch is no more as the work necessary to move to systemd was simply prohibitive and an announcement was made to close their doors.
[Edit 4/16/2013 9:00am I stand corrected. I misunderstood the dynamic with CinnArch and good fellow pointed the error of my ways out here:
Dietrich what is your source that supports that Cinnarch is no more because of systemd? Cinnarch is no more because of how Cinnamon lags GNOME development. Since Cinnarch was based on Arch and Arch has shipped systemd for sometime I don't think that was the factor.
]
Today, in similar fashion,
Fuduntu announced they would also be closing their doors due to their inability to allocate needed resources to address refactoring their code in Gnome 2.34.
Others seeing the writing on the wall include Ikey Doherty, founder of
SolusOS, who had his own
issues with upstream developers, very recently made the decision to rebase his Distro on a new
PiSi package management system in conjunction with a decision to fork Gnome3 to a new GUI called 'Consort'.
Today,
+Aaron Seigo and
+Ikey Doherty had a 'public'
chat on
Google Plus about the latest happenings. It was in response to
+Katherine Noyes PCWorld story
Fuduntu Linux is Closing its Doors. I have taken to calling Aaron '
The Thinker' lately and I find most of what he says intriguing and quite insightful. Here's his starting thread in reply to the Noyes story:
The Thinker
A comment +Aaron Seigo wrote on +Dietrich Schmitz's reshare of the original post:
It is interesting that two of the reasons stated were Gtk+ 2 maintenance and systemd dependencies. It demonstrates two things: a) how important it is to pick the horse you bet on carefully (in this case Gtk+ 2) with a good understanding of its future (which mainly lies with the developers who maintain it .. or don't) and b) the impact that Linux middleware churn has on smaller shops.
Personally, I think that if a few of these smaller distributions set aside differences and worked together, they would stand a better chance of creating something with a solid future. Diversity is great, but there's a limit to what the ecosystem can sustain.
The above is the starting comment from Aaron and here is what followed:
Ikey Doherty5:23 PM
OK but different projects have different aims. What interest is there in all of these individuals dropping their goals to satisfy a dream that isn't theirs? That's quite a selfish viewpoint, as it takes the joy out of it for the developers
Aaron Seigo5:52 PM
+Ikey Doherty In my experience being part of as well as managing projects and teams of wildly, wonderfully independent and brilliant people ... the idea that "we have wildly different goals" is often overstated. Moreover, the idea that "we have different goals, and therefore need to work separately" is often also unfounded.
What I find is that many engineers / software developers struggle to identify issues that don't
really matter and spend a lot of time focusing on differences rather than commonalities.
This results in a lot of discussion and division over matters of little consequence and a lot of missed opportunities due to massive duplication of effort and lack of coordination on the common 95% to spare the perceived purity of the 5% in differences.
It's one of the things that drew me to Mer. They understood this pretty deeply, and when we got involved with it we were able to help broaden that mindset even further .. because they were open to it.
Jolla, Nemo and Plasma Active all have unique and divergent goals. We've identified those and marked them out as "not to be tread upon" ground and gotten to work on sharing the remaining 95%. Turns out, we keep finding new opportunities to share now that these doors are open: libhybris, maliit, device adaptations ...
It's one of the things that has drawn me to SDDM. The main developer of SDDM also groks this, and SDDM is now used by a small handful of projects .. with Plasma likely to join when we release Plasma Workspaces 2. This will mean dropping "our own" KDM and even letting go of significant work done with LightDM, but it will ultimately be worth it if it lets us share the 95% that is common so we can all focus on the 5% we care about.
So I'd suggest that the idea that one must either hold onto their dreams and goals or cooperate is a false dichotomy. You can almost always find a group with goals similar enough to your own that you can share the 95% with them. The 5% is yours.
Collapse this comment
Ikey Doherty5:55 PM
I don't disagree with people sharing, just when there is room to share something. Sometimes projects differ too much. Take SolusOS 2 for example. Its totally independent and using the PiSi package manager, there's not an awful lot of room for sharing there, and no sense in us joining forces with other projects. However with the Consort Desktop, we intend to bring as many projects together as we can to collaborate, especially in light of the recent dropping of Cinnamon from various projects. It'd be nice for cross-project collaboration on that front.
BTW, SDDM is hot.
Collapse this comment
Aaron Seigo6:26 PM
+Ikey Doherty Ultimately, you're The Source(tm) for where the 95%-5% line is drawn for SolusOS.
I do find it's always good to require a non-self-flattering defense to one's self (or one's team) as to where the value in a project's differences are. As developers, we're often able to sell ourselves on our own ideas very well ... sometimes a little too well ... and are often really bad at playing devil's advocate. Cost/benefit is not always easy to map out, and at times we're not even clear as to which of our plans hold the true value for us. Anyways ...
Bringing people together around Consort Desktop sounds like a very good idea. Desktop environments are a huge amount of work to maintain, and Linux middleware churn does not make that any easier.
To be utterly blunt, I honestly don't think any of the newer desktop env projects have any realistic long term prospects unless they pull together a greater developer audience. Even XFCE is suffering from developer retention right now. Unity has a well-funded and stubborn company backing it which is its possible saving grace. Even if none of them succeed, however, I do expect that at least some of them will push the envelope and in doing so advance the state of the art for Free software desktops.
Compiz is a great example of a star that shone brightly and pushed things forward in important ways even if it eventually has subsided in its importance.
p.s. I don't want to hijack this thread to go off on desktop environment design, but I think there's a strong case to be made for why KDE's Plasma is the best available starting point for a "GNOME 2 like env". If that's at all intriguing to you as a topic of conversation, you know where to find me :)
Collapse this comment
Ikey Doherty6:33 PM
Jumping ship to Plasma/Qt + co would cause more problems for me than I'm willing to deal with if I'm perfectly honest. I'll start a PM with you about it if thats ok ?
Gonzalo Velasco C.6:48 PM
SystemD I don't know, but from GTK2 to 3 is a smaller change, isn't it? Is it the same to say changing everything related to Gnome 2 for something related to Gnome 3, or is there more?
So, while this road well-traveled may appear to be a good choice beware of major roadwork, detours, and potholes going down that road. It may be a seemingly good ride right now but alternate routes may be advised. ;)
-- Dietrich