Last Wednesday, when Larry Cafiero published his story negating the rumors of Xfce’s demise, a few snarky commenters on Reddit said the rumor might as well be true, given the snail’s pace of development at Xfce. I paid these comments little mind. Over the years, I’ve learned to expect Reddit readers to be glad to find fault with software projects, almost without exception.
Here on FOSS Force, the comments were a bit more thoughtful and a lot more mixed. Most of our readers agreed that the development process at Xfce is slow, but most seemed to think that despite the mantra “release early, release often,” sometimes a slow release cycle is a good thing.
A reader calling himself “woolie” maybe put it best:
“hey, chill off people, Xfce is perfect as is today, why would one add stuff that is not necessary? just to prove to some insecure, unstable person, that it is ‘still in development’?… preposterous!”
Woolie, I concur 100 percent.
Continued development on a project for the sake of continued development is often counterproductive. Sometimes a project arrives at a point where it’s time to take a rest and just concentrate on fixing bugs and staying on top of security issues for a while.
To be sure, this isn’t true of all software projects.
Large projects such as Linux and GIMP demand constant development, to keep up with the ever changing face of technology if for no other reason. If the decision were made tomorrow to pause development on Linux for a few years and just fix bugs and work on security issues, in rapid time Linux would begin to lose its dominance in the enterprise. After two years sans development, the operating system would already be well down the road to obsolescence and almost hopelessly behind. The same would be true of GIMP, even as it continues to gain ground on Photoshop.
But this isn’t true of all projects.
Sometimes it’s time to just coast for a while. Otherwise a project runs the risk of introducing unnecessary bloat or fixing what isn’t broken, thereby causing unnecessary problems for users — as has happened with GNOME, and before that (and to a lesser degree), KDE.
This would seem to be especially true of a project such as Xfce, where the purpose is to eliminate bloat and create an environment that’s as lightweight as possible. Here, strict adherence to the “release early, release often” mantra would inevitably lead to creeping bloat, or confusing and unnecessary changes to the user interface.
This doesn’t make new releases unnecessary; there will always be bugs to be fixed, newfound vulnerabilities to be patched, new hardware to be accommodated, and yes, occasionally new features to be added or outdated features removed. Along the way, a project might want to update the theme a bit, but that’s certainly not a necessity.
An example of this slow and steady approach can be found in the text and code editor, Bluefish. Although a new version comes out at least once a year, these mainly fix bugs and security issues, with new enhancements added sparingly. Because of this approach, the latest and greatest version of Bluefish has a look and feel almost identical to the version I began using about thirteen years ago — meaning little to no learning curve for users, even as necessary capabilities are added.
In the meantime, Xfce remains my desktop environment of choice because it does everything I need it to do without sucking-up resources I might need. As FOSS Force reader Lee Harvey put it in the comments to Larry’s article:
“Apart from a few missing features and a couple of rough edges, XFCE is pretty much ‘finished’ — in a good sense. It’s light, fast, very configurable and rock solid. Maybe it lacks glamour, but I don’t care about that.”
Me neither, Lee. I’ll take the utilitarian approach over bells and whistles any time.
As the Narnia lion says in the Food Lion commercials, “That’s just my two cents.” Feel free to post your two cents below.
Christine Hall has been a journalist since 1971. In 2001, she began writing a weekly consumer computer column and started covering Linux and FOSS in 2002 after making the switch to GNU/Linux. Follow her on Twitter: @BrideOfLinux
In agile software development, the intent of “release early, release often” is to get user feedback on product development as soon as possible because of ever-shifting requirements. It is not intended to mean “add features as fast as possible”, or “throw crap at the wall and see what sticks”.
If you are selling software, “release early, release often” is a way to keep your customers paying for (virtually) the same software over and over again, e.g. Windows.
I’d love it if KDE fixed their desktop search – which has been broken for *years* – to not use 100% of the cpu, 100% of the time. That would be a nice improvement.
The pace of release has more to do with the nature of the project and the project goals. Some projects, once they reach a critical point, should be releasing bug fixes, and updates as technology changes (Bluefish supporting HTML5/CSS3). XFCE is very functional GUI as it stands and meets the project’s primary goals of being a lightweight yet very solid GUI.
What many forget is featuritis is the enemy of functionality. For example most users of any office suite (LO, MSO, etc) only use a small fraction of its functionality. This raises the question,what could be removed and leave a functional suite for most users.
As Mike noted, Agile methods are primarily used to get user feedback early and often so the project stays on track. The idea is keep a dialog between the users and developers open throughout the development cycle.
I agree with the spirit of the article. As other commenters have pointed out, though, the FOSS advice, “Release early; release often,” isn’t really about dictating the pace of development. It’s meant to be relative to whatever development is taking place. A once a year release could be early and often if you are not finding any reason to do more.
I’m of the opinion that XFCE is as polished as it needs to be. Its perfect for older desktops / laptops that aren’t as powerful as todays offerings, and it puts everything you need right within reach. They might ant to changes the desktop backgrounds or the Windows themse or something, but I hope for the sake of all my machines running it, that they don’t find any reason to do something “drastic” or that they ever try to “follow” another DE such as KDE. (Although it’s functional I find it too “overboard” when it comes to menus and features…) But to each their own I guess right!?
One word: Debian.
[Drops microphone, walks off stage]
I gotta give this a hearty amen, it needs to be shouted from the rooftop. I’ve been using Linux for over 10 years. It irritates me no end, when a new version comes out, and I find nothing really changed. I believe a lot of these developers, just can’t leave well enough alone, they just HAVE to add a new something or other that no one will ever find or use. In my day we called it “creeping elegance.” Most of the time these added bells and whistles just increase the cost and complexity far more than is useful.
I find the problem with Linux in general is that NOBODY is in charge, your project is yours, and it becomes your life’s work and career. I spent 30 years in hardware R&D. We had a saying there: There comes a time in the life of every project when we need to shoot the engineers and begin production.
You guys are missing the point; Xfce’s development is at a standstill for the lack of developers and for the lack of time of those who are aboard. They have their roadmap ahead, but cannot continue the development at a pace it should be going for the aforementioned reasons. Xfce is a stable, matured desktop; no doubt about that. But it still needs some improvement, e.g. supporting GTK+,etc.
@Wayne
You complained about developers adding useless bells and whistles, but somewhat contradict yourself here: “It irritates me no end, when a new version comes out, and I find nothing really changed.”
Those would be the changes that are really needed. They usually either fix bugs or address security issues. Very often these sorts of changes are invisible to the user.
Function, Aesthetics, Stability, Security.
One could say these four elements comprise most of what people look for in life as well as software. Tradeoffs abound.
One needs to knows one’s users. Those are the people who need to be satisfied. Gimp developers really don’t have to worry about people who use a simple paint program for their graphics.
I use only the Calc in Libre Office (the other parts hardly at all). And of the Calc functions I use no more than 25%. I could probably continue with no other update or feature ever.
Developers sometimes have the same problem that people have in advertising. The old saw goes that half the money is wasted but nobody knows which half. The same can be true of software development despite all the attempts to really nail down the specifics.
Bringing what’s in the head into the world is difficult. Evolution has had millions of years to hone our physical birth and yet problems arise.
It seems to me that anything to do with technology rests on our over-reaching of what is possible. That can manifest itself in a many different ways but such an attitude gets us further down the road than sticking with the tried and true.
But the tried and true has its place and in fact occupies most of the space. Sometimes the only way to replace something that works is to show where it is broken but that is subjective. One has to desire the function that isn’t there or not working.
I am a simple (some might say lazy) person by temperament. My requirements are few but sometimes I have to accept additional baggage to get what I need.
Quite a bit of emphasis today is on aesthetics and that is primarily because there is already a ton of functionality. Eye candy is captivating, stimulating etc. If all of our smart phones were only text based, far fewer people would have their heads buried in them – same could be said for Linux or any other operating system.
Xfce may not have the development resources needed to go where it ultimately wants to go but for many users it doesn’t appear to fall short and even if nothing else was added many users would still be happy with it. It seems in the tech world, people need other people to reinforce their tech choices. It prevents a certain amount of cognitive dissonance. This is evident no where more than in enterprises where risk aversion to changes in tech is the norm.
The main thing is what works for you. Keep an open mind though. Sometimes one doesn’t know what one likes or needs until one sees it.
I agree. I use xfce and am happy with it as it is. Perhaps some people see an actively developing project as one that is supported and a project with very few updates as perhaps one that’s been abandoned. I must admit for some s/w I sometimes look at the last commits and tend to hesitate if there haven’t been recent updates. Perhaps if there were a way to indicate that the project is currently supported without code commits would alleviate some people’s concerns?
The beauty of all this? Is just like those who “migrated” away from Gnome when it gave it’s DE a complete overhaul, there are options. You’re not “stuck” with an interface any more than you are a web browser….e-mail client….media player etc. And although XFCE might not be marching forward its also “fine” right where it is! AS long as there are people to fix the bugs, regular users who test it out and those who recognize “Simplicity At It’s Best” then ther’s no real reason to panic.
Change isn’t always good. And to be honest I’ve grown to apprehend changes more than welcome them. Xfce is good the way it is. I only hope developers won’t go the bloatware road.
For me it is like making of lamb on barb.
If somebody say push that thing it will be underdone, even if somebody push yo to wait it will be dry.
It sucks any way, and it does not feel right…
The problem with ‘release early, release often’ is that it too often omits the necessary first step:
1. Develop a viable long-term roadmap.
2. Release early.
3. Release often.
Without step 1, release often too often implies
4. Adapt to incompatibilities with the last release.
For all the hate on KDE, since the cutover to version 4, subsequent releases have not screwed up desktop or application settings in my experience. Prior to that, such changes were a regular occurrence. So it seems that the KDE team *did* do step 1, even though they went a little overboard on step 2 and released too early (yeah, It’s all the distros’ fault, I know the drill).