In Russo’s A Response to the Paradox of Choice, I interpret this paragraph to be the crux of his essay:
It is now time for Linux to rise, unify, and eliminate choice [in] a positive way. The LSB2 project is a great start to unification of Linux. It is impossible to eliminate all choice. What the leaders must do is make their choices based on what is good for the Linux community in the long term. The truth is, if you eliminate some choices and dictate others so that Linux can be more united, Linux can only grow and prosper.
I believe this argument is mistaken, and the lines of the discussion ignore the nature of Free/Open Source Software. First, consider that there is no mechanism to tangibly remove choice from the Internet. Second, if the success of Linux depends on its narrow comparison to other systems, that is at best a short term point of view.
Russo proposes that eliminating choice strengthens the chances for success. Consider that by dictating some standards, you’ve neither eliminated choice nor dictated to the Linux developer community. The cummunity is not subordinant to the voice of authority. Rather, members of the community subscribe to the LSB guidelines when they wish to forge compatibility. The LSB has no control over the free will of the developers in the Linux community, nor could it. Such control is not possible. To juxtapose the image of corporate control over an ecosystem
is nonsense.
I think the anxiety about Linux standardization is due to the anxiety caused by the battle for desktops and servers…the battle for market ranking. What is truly lost if Linux doesn’t take over the world next year? In two, three, ten or fifty years? Nothing is lost, nor is anyone’s contribution to Linux in vain.
To think that Linux is in a race with any other opperating system is mistaken. However, people marketing Linux solutions are in a race…but in the context of their market, only. As long as their teams contribute to the body of Open Source software, their magnitude of their company’s success only matters to their stakeholders. Corporate sponsorship is vibrant part of open source and the Linux community, but corporate success is not the measurement of the success of Linux. User adoption is a measurement of the success of Linux.
The Linux community is not to be likened to a commercial entity, such analogies are inapplicable. The magnitude of choice in the Linux community is an expression of the absence of dictitorial corporate control over what developers may develop on. We are reminded of the concept of scratching an itch: Open Source starts as the scratching stick crafted by one and rubbed smooth as it is adopted by many. A corporate product in contrast is smoothed by marketing and intended to scratch an itch that statistics says should be there. While it can be improved, it improves only as long as the corporation feeds life into it. Most commercial applications and opperatings systems have surprisingly short term lifespans, often dictated by the life of the company.
The phenomenon of Open Source is an expression of community desire for software, not a corporate desire for profit. Software companies sprout and wilt like the grass in my yard, and so do the wares they provide that cannot grow in the medium of the community. Open source software projects become part of their community because the community can maintain them…or if you will…grow them.
The character of the FOSS community is likened in my mind more to agriculture than to manufacturing. The myriad of FOSS software available reflects all the hybridized and heirloomed varieties of software people have a taste for growing. These varieties are not in competition, they are merely selection. The corporate consumer, rather, has been exposed to the single taste of the supersized burger combo software. If the user is confused by the selection, their choice is really quite simple. However, if you want to introduce confused users to new tastes, focus not on reducing selection but providing a better introduction to learning about the selection. Consider Knoppix.
I think the scope of the issue is much larger than the software selection in today’s Linux distro. That can be changed rapidly if people desired. However, the scope of software adoption and use is changing: the barriers to software development are lowering rapidly. Use is increasing because the variety of solutions, or opportunity for low cost, customized solutions is more affordible for small businesses. FOSS has made this happen.
The last time you were in an old barn, did you stop to pick up the tongs that were forged by the blacksmith that lived on the property? The hayfork constructed from branches taken off the property? FOSS software is an expression of the antithesis of software consumerism, it is an expression of software self reliance. (And I think that small businesses that grasp the role of FOSS perpetuate these benefits.)
The anxiety people feel about Linux not being as good of a desktop as Windows or Mac only casts Linux and FOSS in those corporate terms. This anxiety will evaporate as people realize that FOSS is an expression of their growing self reliance to build their own software solutions…not a race to compete with or to be validated in likeness or corporate software offerings. However, this conciousness will take a generation
or two to really sink in.
Russo writes, “What the leaders must do is make their choices based on what is good for the Linux community in the long term.” I would think that this is argument is really only pertinent to the short term. The long term success of Linux is the long term success of Open Source. It is so assured that we need not worry about it (unless you’re concerned about freedom of speach). Neither does Linux derive its long term success from its leaders–it derives its long term success from its users. Were the “leaders of Linux” to steer their distros into a brick wall of incompatible features, users would move on and demand solutions the met their needs (or if motivated, create their own solutions). Already, this unbounded creativity is what we are seeing today.
Neither draw analogy to the success of Windows with its protracted set of choices to a success created by Linux similarly limited. Linux is in an entirely different marketplace: one where FOSS is present and clearly a more viable long term solution than many corporate software solutions. Linux is out-competing Windows in legitimate low end markets and provides stability by freeing the user from the costly and traumatic cycle of
file format obsolecense.
Limiting choice in current Linux distros to be more like Windows might increase Linux vendor’s short term market share. However, limiting choice in the realm of Open Source just isn’t in the nature of Open Source, and is not going to occur in the long term time frame. So, limiting choice in Linux will not occur in the long term at all. Even by not limiting choice in the short term will Linux adoption not fail to grow…it just might not grow as fast in the same niches Windows fills. Linux isn’t going to suddenly disappear. That it’s Open Source…no one will let it!
The long term success of Linux, or any Open Source software, is in its adoption and stewardship by users who want it. As software is developed across the globe in other countries, our grandchildren will live in a software culture molded by a new most common demonator in software…the lowest common demoninator becomes FOSS (not Microsoft).
Furthermore, the diversity of Linux distributions and FOSS applications we see today will be dwarfed by the selection present in fifty years. Those people who grow up in an environment of Open Source won’t feel any anxiety about this breadth of choice…they would be alarmed to see
it disappear.
About the Author
Jed Reynolds tries not to spend too much time on his computer at home, so he can concentrate on his family. He has been a programmer, system administrator and Linux user since 1992.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
The problem I see is that if somebody were to try out a Linux distro and has a negative experience with it, he’ll have at least a dozen different people telling him he’s using the wrong distro, and then recommend their flavor of the week. So, what’s it gonna be? Suse, Fedora, Madnrake, Xnadros, Linspire, Lycoris, Vector, Libranet, or what? Honestly, it’s enough to make my head hurt just thinking about it. Funny thing is, I’ve tried almost all these distros and don’t really care for any of them. I’m a Windows power user, and prefer Slackware above all others, so you never really can tell.
been beatin’ to death yet?? Or is this just the clever way to continue on with the “Linux isn’t ready for the desktop” arguments?
“The problem I see is that if somebody were to try out a Linux distro and has a negative experience with it, he’ll have at least a dozen different people telling him he’s using the wrong distro, and then recommend their flavor of the week.”
And if I have a negative experience with Windows where should I turn?
No one can limit choice in FOSS because that’s not how the game works, and that’s not a bad thing.
And if I have a negative experience with Windows where should I turn?
Probably Linux or OSX
I think that this is the right time to call for merging of similar projects and Linux distro’s. If these projects would agree to make a modular, plug-in based core (if possible), it would make a lot of things easier and simpler. Just a thought.
The power of Linux is the power of competition within it’s own operating system: Kde vs. Gnome, Evolution vs. Kontact, etc. It’s also the rule of: the best program wins. When there is a program and a better one has been created, the better one will win.
And for distro’s: choice is good, a company desktop (Ubuntu?), or a hobbyist desktop (Gentoo?) shouldn’t be done in one distro. Every distro should specialise on their own mission. If it’s speed then go for speed, if its security go for security!
However some things COULD be standardised more… I would love to see a installer that can be used on all distro’s… imagine double clicking on a icon on a cd in Linux… I’m still waiting for that!
You say, “However some things COULD be standardised more… I would love to see a installer that can be used on all distro’s… imagine double clicking on a icon on a cd in Linux… I’m still waiting for that!”
I say, “Keep waiting. You’re never going to get it unless someone comes out of nowhere and literally takes the Linux Desktop by force and leaves them in no position but to adopt it. One of the two big desktops is guarnteed to go, “Oh, but, but, it doesn’t [insert inane complaint about some trivial feature nobody uses] very well! We’ll just use something similar, but completey incompatiable. But it’ll be OK – choice is teh fule!!!”
And then, God willing, all our base are will belong to Syllable, who will rise again in this dark 21st century to shine the great ray of hope upon us all.
First, consider that there is no mechanism to tangibly remove choice from the Internet.
While this is true, sometimes one must say: Unfortunatly. However, it would be sufficient if some authors at least try to clean up the mess after they left. Try searching for “+Linux +winzip +replacement” and you’ll find apps like Lnxzip which is ugly and outdated. There are better but hardly known alternatives because web marketing is something, some developers seldomly care about. Why should anybody bother to install a Linux distribution when something fundamental as a Winzip replacement looks like it was designed ten years ago?
What is truly lost if Linux doesn’t take over the world next year? In two, three, ten or fifty years? Nothing is lost, nor is anyone’s contribution to Linux in vain.
See the Lnxzip application what happens if interests vanish. Just because an application is Open Source, it doesn’t mean it will live forever. In fact, one of the central problems of OpenSource is the ongoing efforts spend into small utilities instead of concentrating to improve some good or outstanding projects.
The author seems to be one of those that think the next new laguage will solve the problem because it _so easy_ to make apps, then. Photoshop coded in a month, no problem! That’s not true. Search novellforge for the one who spends his time doing a web browser in Mono. As if there are not enought web browsers. On the other hand, there are 17 or 18 different CD burning projects for GNOME but none of them is fit to compete with K3B or NERO.
The phenomenon of Open Source is an expression of community desire for software, not a corporate desire for profit.
True! But how many would use and develop GNU/Linux if they could not rely on others doing the same? The utility of the platform depends one other peoples decisions. If one doesn’t take care of others interest, you may one day be the only one left on the platform. That’s comparable to the utility of a telephon when nobody else got one. Network effects dominate any platform and from what can be read on the net, there’s less coordination than possible.
I don’t want to say that there should be no competition or similar projects. In fact, this is quite healthy to some degree. But there are projects that overstress the competition.
And although there is no way to remove choice, there is a mechanism to decrease future choice on the internet. It’s called cooperation, communication, and responsibility for the platform, and not just the single project to scratch your own’s itch.
Sorry, the rant became quite long. At least, I didn’t write the fifth article in the series. 😉
I think the evolution of OSS is too dynamic for a modular core, at least a community wide one. Within a few months the core would be antiquated, and when that happens it would break under the momentum of the community. This is what individual distributions are for, in fact, to adapt to the evolution according to their philosophies.
I’ve long thought that there should be more rallying around package managers. For example, RPM distributors should work together as much as possible for compatability, and the same with Apt, and eventually for Pacman and Gentoo when they’re used more widely. I’m sure a lot of integration from one distribution could be used in another, and to some degree this is already done just by opening their work (those who do), but I figure it would be much more productive to organize. I guess the LSB could be thought of this way, almost, for RPM distros; but again, it seems to be trying to create a static standard for a dynamic community.
And although there is no way to remove choice, there is a mechanism to decrease future choice on the internet. It’s called cooperation, communication, and responsibility for the platform, and not just the single project to scratch your own’s itch.
I think that’s exactly it, just like Gaia
But I suspect we can’t reach that ideal without trying every possible road for a very very long time to come, even in a subset as limited as the OSS community. The other alternative would be to rally around a single person’s ideas, but I think history adequately demonstrates why that’s not the best idea.
A blog entry I read a while ago (think it was from a Sun CEO), engraved one theme into my memory: the notion of “open”. The author argued that “open” isn’t “you can view inside”, but really means “you can easily replace it”.
If you view a Linux distro as a collection of components, with some glue in between, then the whole point is, that those components should be as easy as possible to replace. You prefer Gnome? KDE out, Gnome in. You want latest kernel? 2.4 out, 2.6 in (or try Hurd). It’s okay to have many choices for each, as long as it’s easy to swap one for another. And to improve Linux, or OSS in general, developers should focus on standardising and STABILISING that glue between components.
Something like LSB is good not because it defines a base set of functions. Users should decide if they need that. But, for those distro’s that provide a superset of LSB, it is good because it makes parts ‘above and beyond LSB’ easier to swap.
That also puts binary compatibility on the ‘to do’ list. Many developers don’t care (“Binary segfaults? Try recompiling”), but having binary compatibility across distro’s, is one way to make Linux more popular. Besides that, a unified method for package and dependency management would IMHO be the biggest step forward. Another wish: packages that don’t need/use hard-coded locations in a filesystem.
If there had only been one dominant linux toolkit then Linux on the desktop would’ve progressed further along than it has now. That doesn’t mean there has to be one Desktop Environment…in fact there could be a common desktop framework that many desktops could be built upon, but they all interop seamlessly.
And obviously it doesn’t mean that there couldn’t be alternative toolkits and desktops, but that there would be one standard. Right now, do you know if your user has a KDE or Gnome desktop. If your software isn’t in some distro’s repository with dependency resolution then you’re SOL.
It doesn’t matter if there are 300 text editors or 200 distros (even though a lot of the duplication of effort is stupid), but what matters is developers standards.
freedesktop.org is a step in the right direction and I assume from perusing some of the mailing lists that KDE will *eventually* incorporate D-BUS, but having two dominant toolkits (really 4 when you consider Gtk+, QT, KDE, and Gnome libraries), just doesn’t sit right with me. I’d rather just have one dominant toolkit and one dominant framework library and have a bunch of anklebiter, sourceforge projects.
And yes, I know you can’t force anybody to do anything in the open source world and competition is a good thing, but I’d rather have the competition at a higher level than at the toolkit level. Is there competition at the X-level? No. Would things be better if there was? Maybe, maybe not, but I don’t see fanboys complaining about that.
The problem is when you centralize like that you have one organization (or even worse, corporation) shaping the status quo, which gains an unrivaled amount of power in the industry. Then you end up with a ton of smaller projects trying to chip away at that power so that their opinions can be heard, instead of just being ignored in favor of that organization’s/corporation’s plans for continued dominance.
Sound familiar?
Yes, it can be done in a fashion so that a group can’t take it over for their own benefit, but do you really think we can trust people with that at this point? Sure a lot of people are trustworthy, but there are enough that you have to be more cautious. Even if it’s open, you can always find a way to close it off at some level, and at that point market share becomes king.
But even if it stays open, I prefer Enlightenment, what about me? I can live with Gnome, but I really don’t like the way QT looks, what about that? There are those who’s computers can’t comfortably handle anything bigger than XFCE, what about them? KDE and Gnome already suck a great deal of attention away from smaller projects, and that’s ok because that’s how it’s happening naturally. To campaign for the unparelleled dominance of one or the other… I don’t know if I could stomach that. BSD would be looking awfully nice right about then.
But I suspect we can’t reach that ideal without trying every possible road for a very very long time to come, even in a subset as limited as the OSS community.
IMHO, the OSS community being a subset (of the general population) is exactly the reason for the choices dilemma. This is not a group of people lead by pragmatical considerations (such as making lots of money), but a bunch of subgroups of all kind of users: The old Unix-on-a-86 people, the Linux-as-a-Unix-replacement people, the I-can’t-afford-a-MAC people, the Microsoft-killed-my-platform-of-choice people, the I-can’t-stand-Microsoft people, the I’d-like-a-Win-98-copy people, etc.
And btw, there are possibilities in between “testing-everything” and “one-to-rule-them-all”. 😉
We live in a democratic world. With democracy and freedom people can enjoy the ability to well be free and do what they wish to do. This can also be concidered “choice.” Choice exists, it’s always been with us as humans get used to it.
What about the standards that are already out there, eg. TcpIP/HTTP/X, etc…? Do evil corporations control those standards?
You prefer Englightment? Fine. Nobody can take that away from you. But as a developer I would at least know that you would have Gtk+/Gnome or QT/KDE and their respective support libraries on your system.
People complain about the number of distros. Honestly you should only pay attention to the ones every one talks about and the ones you personally have tested and love. There are probably more car brand names then mainstream distros people recommend.
But having all those subgroups also makes it the perfect candidate for seeking the perfect compromise which allows a community based on cooperation, communication, and responsibility for the platform. Which is also the reason for the choice dilemma, or opportunity as it may be.
And btw, there are possibilities in between “testing-everything” and “one-to-rule-them-all”. 😉
Certainly, but wouldn’t the only way to find them be to test everything? I guess I meant more the swaying back and forth through time as you settle on the compromises. Of course, at the same time the community is perpetually moving forward, so you’re trying to compromise on something dynamic, but that evolution brings compromise closer to fruition, so the evolution is also based on the state of the compromise.
Or maybe I’m just rambling something incomprehensible, my brain seems to be somewhere else today.
It is important to consider choice from a developer point of view and choice from a user point of view.
Users benefit from having a wide variety of software to choose from, regardless of where it comes from. The vast majority of users have little interest in, or awareness of, the development model used to create a particular program. or the license under which it is released. They simply have no reason to care.
To the extent that FOSS developers code to scratch their own itches, rather than the interests of users, they actually limit the choice available to users.
Looking at this issue as a user, much of the ballyhooed choice made available by FOSS is superficial or false. Linux is Linux. The differences between distributions, at the OS level, are minimal and barely perceived by a user. (Measurable by a developer, yes, but not perceptible to a user.) Umpteen forks and variations of, say, a window manager typically result in products that differ about as much as a hamburger at McDonald’s differs from a hamburger at Burger King. While two heavyweights like Gnome and KDE differ greatly, even they attempt to meet the same needs with the same approaches. Neither strays far from the expectations of users.
Touting the choices available in FOSS is really just taking advantage of the fact that FOSS is anarchic and has produced a whole lot of software. From a user’s point of view, however, the real choice is not between thousands of FOSS programs. It is between the quality and innovativeness of FOSS programs and their proprietary cousins. If FOSS developers create software that users like, and if users believe that software is better than closed software, they have nothing to worry about.
Those also aren’t things which users interact with directly, so controlling them wouldn’t result in market dominance. They could, however, be used for market lock in if, say, someone adds an extra layer to the TCP/IP stack and then convinces customers it’s a necessity. Maybe that’s not even possible, but you get my point.
As a developer I don’t think you need to worry which libraries are available on a system, that’s the job of the distributors. As a developer the only thing that should be necessary is, “you know, there’s a lack of a good CD burner that integrates well with Gnome,” or, “I like the CD burner idea, but I really don’t want to require Gnome libs.” That’s much different from saying, “Well I want to code a CD burner for Gnome and I want everybody to have the dependencies already taken care of, so everyone should be required to have Gnome installed by default.”
If you want to code something for QT, you code it using QT, and optionally KDE libs. If you want to code something for GTK, you code it using GTK, and optionally Gnome libs. There’s no reason for me to have a huge mass of libraries on my hard drive which I don’t use, just to make life easier for developers. This is what distributors and package managers are here for, handling dependencies.
Focus on a single best solution is the reason why the Soviet Union is the sole remaining superpower, after the United States and others collapsed under the weight of needless duplication of efforts brought about by unbridled competition.
Oh, wait, that’s not quite what happened, is it? Free and open competition is proven to work. Sure, there’s duplication of effort, much of which is wasted. Companies fail, and the hard work of their employees disappears. Surely focus on a single effort would be more efficient.
But that’s not the real world. Nothing could be less efficient than an organization which has a monopoly. Imagine that all software was written by a single government agency. That would be more efficient, right?
You can’t eliminate failure. The worst thing possible is when you can’t abandon a failed approach because it is the only approach. That’s exactly when you see the greatest waste, as time and money are poured into a project that won’t work. It is far better to have multiple efforts, and allow some to fail, because they will fail earlier, at a lower cost. Free market economies work because companies are allowed to go bankrupt, and are replaced by better companies. The biggest problem with government agencies is that they can’t go bankrupt.
Decisions are hard, choice is uncomfortable. Most people would rather let someone else make the decisions. But those few people who are willing to make decisions will make some poor choices from time to time, and they must be allowed to fail. There must be other people making different choices, or we have no one to switch to after failure.
Lack of choice guarantees failure at some point. Wealth of choice guarantees quick recovery from failure. Competition works for economies, and it works for software development. Remove competition, and stagnation results.
Competition can be annoying, irritating, confusing, and wasteful. But it wastes far less than the absense of competition.
“The problem I see is that if somebody were to try out a Linux distro and has a negative experience with it, he’ll have at least a dozen different people telling him he’s using the wrong distro, and then recommend their flavor of the week.”
It’s done with Windows as well:
You should be using XP it’s the latest.
You should be using Win2k, it’s the only working version.
So yea, a moot point.
Very well-spoken essay, and gets right to the heart of the matter.
Certainly, but wouldn’t the only way to find them be to test everything?
Well, thinking might help. For example, KDE, GNOME, and XFce are the preferred desktops on Linuxquestions.org, accounting for roughly 90% of all votes if I remember correctly. Thus, it makes no sense using any other toolkit as QT or GTK+ (including bindings) unless you’d like to go crossplatform with wxWidgets, or SWT.
On the other hand, I know a project that is three years old, but can’t still decide if they should use GTKmm or FOX, I believe. Their CVS is full with built files but there’s just one file with functionality (two, if you count the header file). These are the consequenses of too much choice.
Given the above assumption, if you decide for GTK+ or any of its binding, your users will have some additional libs already installed, GConf for example. Then, you can also try to be HIG conform.
However, if you’d like to have a hobby, there’s enought toolkits (and some binding) without any fundamental apps. Yes, Linux needs another image viewer, written in FOX. Or you may like to publish your new email notification project.
This will increase choice althought most users won’t care about it, and it will certainly makes exploring Linux via Google more interesting, and harder to understand for the average newbie.
Uhm, and I got to sleep, now. Once more, sorry for the rant.
As I can’t hug the author (and he’s pobably glad about it) I just want to thank him for this great article!
So that project only has one functioning file, but is that due to the overwhelming choice or because the developers don’t have a clear direction for their project? I have no doubt that the choice makes it more difficult to get started on a project and develop the sense of direction as you go along, but couldn’t it also be argued that the sense of direction should mature before the project is started? (beyond dabbling)
Unfortunately I’m not one to make an argument for that. Yet another reason to start coding, so I can bitch about more things
Oh, and doesn’t Linux need one of everything written in Fox? Strictly from a user standpoint, I’ve loved that toolkit ever since I set eyes on XFE.
Those also aren’t things which users interact with directly, so controlling them wouldn’t result in market dominance. They could, however, be used for market lock in if, say, someone adds an extra layer to the TCP/IP stack and then convinces customers it’s a necessity. Maybe that’s not even possible, but you get my point.
No, I don’t get your point. Users don’t interact with code either. Users interact with a GUI and/or console. That’s it.
As a developer I don’t think you need to worry which libraries are available on a system, that’s the job of the distributors.
No, relying on distros to package and resolve dependencies is a problem. When Linux on the desktop grows up you won’t always be able to rely on distros to distribute software.
If you want to code something for QT, you code it using QT, and optionally KDE libs. If you want to code something for GTK, you code it using GTK, and optionally Gnome libs. There’s no reason for me to have a huge mass of libraries on my hard drive which I don’t use, just to make life easier for developers. This is what distributors and package managers are here for, handling dependencies.
There’s already a huge mass of software on your harddrive that you never use. Hard drive space is irrelevant these days for the most part, but memory isn’t. How about when you want to use K3B on your gnome desktop and have to haul in half of the KDE libs into memory just to use it. Not a good thing.
No, I don’t get your point. Users don’t interact with code either. Users interact with a GUI and/or console. That’s it.
Exactly, users don’t interact with code, they interact with the GUI. If a single organization controls the bulk of the libraries and toolkits used in desktop Linux, then they control the direction of desktop Linux. At least now we have a split between Gnome/GTK and KDE/QT, and that competition and division keeps each of their sizes down so other smaller projects also have a real contribution to the direction of desktop Linux. Plus I think your plan makes it more difficult to transition to a new framework because the majority of developers and users will be behind the existing framework. And just imagine what happens if a malicious or greedy group gets behind the helm.
No, relying on distros to package and resolve dependencies is a problem. When Linux on the desktop grows up you won’t always be able to rely on distros to distribute software.
So with this standardized library set, what do you propose? Keeping around libraries for five generations to ensure backwards compatiblity, by default? If a distribution can’t be relied upon to distribute software and manage repositories with proper dependency checking when Linux on the desktop grows up, that distribution shouldn’t be used. If no Linux distributions can do that… I can’t even imagine that happening it would be such a huge step back.
There’s already a huge mass of software on your harddrive that you never use. Hard drive space is irrelevant these days for the most part, but memory isn’t. How about when you want to use K3B on your gnome desktop and have to haul in half of the KDE libs into memory just to use it. Not a good thing.
I can guarantee you there isn’t, unless you count my testing drive. I use Arch Linux, and I even excluded pieces of the base package set I don’t need (like dhcp and raidtools). This is why we’re having this discussion, I don’t WANT all that cruft on my drive. If I don’t want KDE libs on my computer, I don’t use K3B. I find it hard to believe that if you don’t want to pull KDE when you use K3B, that you want to start out with even more libraries in the first place.
While this is true, sometimes one must say: Unfortunatly. However, it would be sufficient if some authors at least try to clean up the mess after they left. Try searching for “+Linux +winzip +replacement” and you’ll find apps like Lnxzip which is ugly and outdated. There are better but hardly known alternatives because web marketing is something, some developers seldomly care about. Why should anybody bother to install a Linux distribution when something fundamental as a Winzip replacement looks like it was designed ten years ago?
>
>
Pretty much *NOBODY* within the Linux world uses crap like
Winzip or Windows archivers so there’s pretty much no need
for a Linux “Winzip” replacement.
Midnight Commander (mc) and other text-based CLI/GUI shells for Linux handle linux archives just fine.
Learn how to use them.
> And yes, I know you can’t force anybody to do anything in the open source world and competition is a good thing, but I’d rather have the competition at a higher level than at the toolkit level. Is there competition at the X-level? No. Would things be better if there was? Maybe, maybe not, but I don’t see fanboys complaining about that.
I do complain. Serious competitors to X is sorely needed, in my opinion. That’s why I keep my eyes on projects like DirectFB. There is a GTK and Qt port to DirectFB on the way, and GTK port is quite complete. That’s not a small thing.
Not enough people stop to say nice essay I enjoyed the read and damn near completely agree! It was very well thought out well written and I think that it summed up some loose ends and brought up some very valid points. Good going, I look forward to reading something else from you on osnews in the future.
I appreciate the comments I’m glad to have such a receptive audience, and a kind one to boot! I was expecting much hotter flames 🙂 I am encouraged to post in the future.
Jed Reynolds,
That’s a well written, structured, reasoned article. Brilliant work!
Exactly, users don’t interact with code, they interact with the GUI. If a single organization controls the bulk of the libraries and toolkits used in desktop Linux, then they control the direction of desktop Linux. At least now we have a split between Gnome/GTK and KDE/QT, and that competition and division keeps each of their sizes down so other smaller projects also have a real contribution to the direction of desktop Linux. Plus I think your plan makes it more difficult to transition to a new framework because the majority of developers and users will be behind the existing framework. And just imagine what happens if a malicious or greedy group gets behind the helm.
I don’t think anybody could really “control” the direction of the toolkit/framework as long as the code is open. Heck KDE’s direction is already pretty much controlled by QT. That’s why KDE can never really become dominant because the control all lies within trolltech. The code could always be forked and in the case of X.org vs Xfree86, the user apis stay the same. I don’t see a mass cry for a move from X (except for one guy that responded to me).
So with this standardized library set, what do you propose? Keeping around libraries for five generations to ensure backwards compatiblity, by default? If a distribution can’t be relied upon to distribute software and manage repositories with proper dependency checking when Linux on the desktop grows up, that distribution shouldn’t be used. If no Linux distributions can do that… I can’t even imagine that happening it would be such a huge step back.
Well, at some point you can get rid of the libraries with a tool that could check library dependencies. Linux already suffers from stagnant bits lying around for no purpose. No distro will always be able to handle all the software that is going to be out there – especially proprietary, commercial software that will come into play as linux grows up.
I can guarantee you there isn’t, unless you count my testing drive. I use Arch Linux, and I even excluded pieces of the base package set I don’t need (like dhcp and raidtools). This is why we’re having this discussion, I don’t WANT all that cruft on my drive. If I don’t want KDE libs on my computer, I don’t use K3B. I find it hard to believe that if you don’t want to pull KDE when you use K3B, that you want to start out with even more libraries in the first place.
Nobody would ever force you to install the standard gui libraries if you don’t want to, but at least vendors can target a standard and if you do need that software then you get the libraries. Nobody forces you to install X, but if you want to run a gui application, you’re gonna have to install it.
The problem I see with projects like DirectFB is that ever increasingly they need support from hardware vendors (ATI, Nvidia) to get hardware acceleration (even in 2d). At some point in the not too distant future, most linux desktops will be fully 3d-accelerated. I don’t mean a 3d desktop environment, but using the power of the GPU to actually offload much of the animation.
Now if Nvidia and ATI were releasing their chiplevel register specs then that would not be a problem, but I don’t see that happening anytime soon. ATI has actually take a step backwards I believe by closing up much of the Radeon specs.
The +linux +winzip +replacement point is quite valid as a general point: when transitioning from your familiar Windows desktop to a new Linux desktop, does it have the apps I’m used to? In the case of winzip, the replacement might be FileRoller. In the larger scope, there are no garantees. Just like if you were a win98 user forced to upgrade to winXP. Many things would be the same, but there’s still a lot of differences!
FOSS now provides us with a choice other than Windows. There are plenty of efforts to make Linux distros as similar to Windows as possible, to ease this transition. If you recreate Windows faithfully out of Linux…you win!
This is why you’ve gotta think about what you really need before you switch. Or, when you switch, you gotta not expect what you left to be replaced by…what you left. As a system administrator, as I’m researched upgrading my win98 desktops to Fedora, I looked long and hard at various alternative softwares. I ended up creating a disk image that was based on Fedora, with a couple of extra things and modified desktop defaults closer to a Windows experience.
And some users just can’t be given Fedora desktops, they have to have Windows desktops. No two users want the same thing. I had to create a compromise. Just as every Linux Distro is engaged in negotiating compromise! With FOSS, I’m free to customize: I can give my users something that neither the Linux distros themselves nor Windows couldn’t provide!
I think that between Fedora, Mandrake, Suse and Xandros, they are all mostly trying to do the same thing…replace Windows! That’s high level competition! That many of these products are available FOR FREE–we really should count ourselves quite fortunate.
Pretty much *NOBODY* within the Linux world uses crap like Winzip or Windows archivers so there’s pretty much no need for a Linux “Winzip” replacement.
According to the number of projects that tried to achive just that, you’re wrong. I counted roughtly 10 projects written in GTK/GNOME.
As Jed Reynolds noted, it was just an example that people interested in switching, will take care that common apps are available. And in most cases, they exists and are easy to use.
Unfortunatly, we as a community don’t make it easy to find those apps via google. File-Roller, for example, is a perfect or even better Winzip replacement but it doesn’t show up on google.
Even if a users finds File-Roller, what will he think when he visits its homepage and the screenshots? Everybody knows, screenshots are the most important thing on projects pages. Have a look yourself.
With advertising such as this, we shouldn’t wonder if Linux is judged as a toy platform for geeks, not worth to be considered for the average user desktops.
But this is exactly the point, right? People in your interest group don’t want to Linux available for the masses, or at least 10% of the desktop market. It seems to me, that’s sort of comparable to “paradigmata” in science. Fortunatly, your group gets smaller every day.
I do not think we need just one desktop environment or only a couple of different distros, but some FOSS projects or distributions would really benefit from a merger.
Consider these examples:
– khtml vs gecko
– k3b vs all other utilities (integrated burners like nautilus excluded)
– kopete or gaim vs all others
– rpm vs deb vs tgz
– xine vs mplayer
– urpmi vs apt-get vs yum
A lot of projects “waste” time with duplication efforts. Instead they should join an already established project unless they have vastly different design or implementation ideas. Same goes for distributions.
Of course, what you’re talking about wouldn’t be really so much a merger as dropping one in favour of the other.
Plus, what most people see as duplication isn’t really duplication, but re-use of existing components. Both xine and mplayer use the xiph libaries for decoding ogg and flac for example. What’s really different is the interface, and frankly, there’s never going to be one interface to please everyone.
The perceived duplication is actually an opportunity. k3b amarok, and plenty of other duplications would have been a great loss if the view had been taken that there was enough cd burning apps and media players around.
Yes but who knows what would have happened if lets say the k3b or amarok developers had joined an existing project and improved it. You cant always say that unless there is a new software project there wont be any innovation.
Time will prove my words. Either Linux will standardize or will keep on crawling for market share.
Think about cars. There are different brands available to choose though the purpose is all the same: driving. Same thing for Linux distros. In other word, your analogy sounds like that every cars build by different manufacturers should be a black Ford Model T.
It is a matter of preference rather than “too many choice” issue. That is the point some people needs to understand.
I don’t think anybody could really “control” the direction of the toolkit/framework as long as the code is open. Heck KDE’s direction is already pretty much controlled by QT. That’s why KDE can never really become dominant because the control all lies within trolltech. The code could always be forked and in the case of X.org vs Xfree86, the user apis stay the same. I don’t see a mass cry for a move from X (except for one guy that responded to me).
Well consider the power associated with user base. If a new DE sparks a huge switch to Linux, or if the switch happens regardless, and the vast majority find themselves in this DE; then that development team holds the power of all those users when it comes to influencing the direction of the toolkit. After a few years, how easy do you think it would be for them to essentially take over development of the toolkit if they decided to? It doesn’t matter if it’s open if the majority of users are apathetic.
It wouldn’t matter if this happened with KDE or Gnome at this point, because the other would still be viable while XFCE or Enlightenment stepped up to take it’s place. With one dominant toolkit, that’s just not the case.
Well, at some point you can get rid of the libraries with a tool that could check library dependencies. Linux already suffers from stagnant bits lying around for no purpose. No distro will always be able to handle all the software that is going to be out there – especially proprietary, commercial software that will come into play as linux grows up.
Which is why distributions follow a philosophy when making decisions. This way people can match their computing patterns to said philosophy. Sure it takes a little bit more thinking than most Windows users are accustomed to, but I certainly don’t think that’s a bad thing.
Yes, there are plenty of stagnant bits, again, this is for distributors and maintainers to clean out. The OSS community is dynamic, that’s what makes it so attractive, to me at least. If tight control is put over that dynamism then it no longer exists, and the vast majority of distributions will move towards a single desktop model.
I just don’t think the advantages are worth the inherent problems. Say you have two major desktop environments, just like today. They have seperate toolkits, which both help shape the desktop environment, but also shape themselves to the DE’s framework. Now you put these two same desktop environments on a single toolkit and they pull that toolkit in two seperate directions, and both environments are held back because of it. Add some smaller DE projects, and where does this toolkit stand?
If, instead, it stands firm and doesn’t adapt to the environments’ needs, then the environment specific libraries will be huge, and the central toolkit isn’t much more than what X provides.
If you really want to minimize duplication of effort, why don’t you just write backends? http://musicpd.org is a good example. They can have front ends written for CLI, ncurses, GTK, Gnome, Fox, whatever people want.
If you’ve ever spent much time surfing for win32 freeware on Tucows, you’ll find plenty of unmaintained packages. Check out the number of free DVD players for example. Which work on win98, which on winNT? But, if you fork up the cash for a commercial product, you’ll probably find something that’s better quality.
You see some duplication of packages on Windows–but at the commercial level it’s called “competing products.” Back when MS Office was competing with Word Perfect and Lotus, you heard lots of confusion about which to choose as well.
The big difference between the Windows desktop market and the Linux desktop market is the amount of marketing money pumped into our eyes. Our perception of Linux might be a lot of raw packages while the Windows market is one of commercial solutions. But when you get into win32 freeware–it’s often just raw packages with the same problems like missing library references and platform dependency issues.
Many distros strive to provide desktops that compete with Windows, and the ones you pay for are going to be tighter and have more hardware support. Those are also the ones that are spending the effort narrowing your application choices.
It seems to me that the effervescence of an application–that being, those applications that bubble to the top and get into polished distros–is like the natural selection process for applications. As it is–the amount of choices between things is not outrageous at this level–there’s roughly two of everything–a K and a Gnome version, typically. That’s not much different than deciding wether to go with MS Word or Word Perfect. Lower in the barrel, there’s lots of choices. I think people get distracted with stuff that floats lower in the barrel.
The big distros WANT to have MS Office or Word Perfect or whatever in their installs. You’d buy their distros if that were the case because they’d be closer to Windows. It’s not like the distros are really going out of their way to make things more confusing–it’s just that no two people want the same thing! The Linux landscape is constantly improving itself–and we are seeing convergence.
But for those people that want EVEN LESS CHOICE–maybe there should be a prize contest where the community votes on the Ultimate Newbie Distro. We could have a Newbie Reference Implementation, or the Newbie Desktop. Then you just have to convince the rest of the Linux using world to tell all newbies to “use that until you get savy.” That’s still a pretty big task.
One page should be enough for an article like this.
In OSS, standards are no more than a request. Some distros, for example use framebuffer graphics rather than X. Perhaps what is needed is not a standardization of “Linux” but rather a standard set of programs, including Linux, which software companies can develop for. That is basically what the LSB is; it’s only the name that’s confusing.
It makes no more sense for programmers to talk about choice, as if it were something tangible, than it does for politicians to do so. “The paradox of choice” sounds cool but doesn’t mean anything outside of philosophical debates on the nature of free will.
The real issue is whether or not the Linux software community needs to accept certain limits to ensure interoperability. The fact is it wouldn’t exist if hadn’t been doing that all along.
If you’re having trouble with a specific distro; before trying a new distro, why not complain to your distributor? That’s what you’d do if your distro was MS Windows or Mac OSX. That’s what distros are for. If you’re having trouble with free, unsupported software … well, you’re screwed – whoever made your OS.
As someone who used to be a regular user of Linux, I found the biggest problem was being able to make an informed choice about software (from text editors up to full distros).
For example, I only favoured bash because a) I only used the most basic features of a shell, and b) it was the first one I used (Red Hat, c.1995). As far as I know, there is no way of comparing the features of different shells.
However, one thing I have noticed since I stopped using Linux regularly is that any major distro is seems to be usable as a desktop, although I don’t know how good hardware support is for things such as digital TV cards or scanners (I did notice that AverMedia has a dead link to using their digital tv card in Linux).
Anyway, my end-thoughts are that choice isn’t really hindering Linux, it’s the lack of information – or rather, there being too much information to take in. I can see why someone might find the range of distributions intimidating, although unless you are going be a poweruser, they are all very much of a muchness.
One final thing: isn’t there a more elegant way of “presenting” program versions? From an outsider’s point of view, it looks a bit too technical to see all these 0.5.2-4 numbers after a program name. I can see why they are useful if you want to have the latest version, but can’t they be hidden from the newbie? I’m using Windows 5.00.2195 Service Pack 3, but as far as my father is concerned (it’s his computer), he just installed Windows 2000.
One of the (several) reasons I stopped using Linux was BeOS, and I remember how wonderfully simple the installation was (no vi, vim or emacs decisions!) In hindsight, BeOS was a dead end, and the inherent nature of the world of Linux, with its thousands of programmers working on mp3player0.3.45.5 and Kplayermp3-1.0.1, and Gnomp3play0.2 etc. are what drives Linux. BeOS couldn’t survive the disappearance of Be Inc., but Linux can survive the departure of Novell, IBM, Sun, Red Hat and Mandrake.
IMHO, if you don’t like choice, grab a copy of Linspire or Xandros and quit making such a big deal about stuff you download for free. If you become intimidated with the number of distros, check out the major distributions page at distrowatch.com. Hell, my mom, who, a year ago, could barely handle Windows and its “choices”, uses Linux for all her daily computer chores now and barely ever uses Windows anymore. If she can handle choice and all the other stuff you don’t like about Linux and you can’t….well, I feel sorry for you. Also, the whole arguement about things needing to be standardized so that commercial software will run on any distro, could somebody please name me one distro where OpenOffice.org (from their webpage, not the package included with your distro), America’s Army, UT2004, Enemy Territory, Crossover Office or StarOffice will not install on???? I have yet to come across one.
Oh, and don’t expect the whole OS community to change to meet your demands, cause it isnt going to happen
I recently thought about the hindrance of Linux acceptance in corporations and it happens to be too many choices. Imagine Average Joe buying a computer at Comp-U-Crap and needing support. Firstly, is he running the same distribution that was given to him at work? How about the same window manager / desktop environment? Web browser? email client? Unfortunately, one of Windows’ strengths is that each particular version is exactly the same (before updates). There’s no question about the window manager. I am a network engineer and RHCE, but I can unfortunately help a Windows user with much greater ease than helping a Linux newbie because I don’t have to ask tons of questions just to figure out what he/she is running.
Back to the corporation: if Citibank standardizes things within their company a particular way, Merrill Lynch may do it significantly differently, and Average Joe may have yet another distinct setup.
Us Linux users waste so much time arguing about KDE vs. Gnome, emacs vs. vi, etc., while Windows users can focus on other things. Granted, I like having choices and I have certain preferences, but there are so many duplicated efforts in Linux that time and effort are wasted re-inventing the wheel. If there was a standardized Linux “look and feel”, I believe Linux would be more easily accepted on the desktop. Of course, those of us who aren’t point-and-click drones would still have our choices, just as a Windows user can use Firefox instead of Internet Exploder, but an average user should be able to look at a display and say, “That’s Linux”.
When talking about “standard” Linux, I think that we have to distinguish between the various user bases.
In the hobbyist market, no one would suggest that Linux be standardized.
Does anyone remember the computer market before 1981? There were dozens of computer companies, none with a truly large market share, running numerous OS’s. This was great, a lot of fun, but had little business penetration. The Apple llE probably had the most, but it was still very thin.
When IBM decided to take advantage of this new area, it came up with a new machine that in almost all reviews at the time said was about equal to the Apple llE.
Almost all of the reviews, however, said that it would sell because it had three things that the llE didn’t…I. B. M.
If we look at business today with respect to Linux, we can see a somewhat similar situation. Now, don’t flame me and say that it’s not exactly the same, because business’s are using Linux more than they were using personal computers before 1981. Yes, I know that. That’s because they are used to computers now, and are somewhat more willing to try something new.
But, other than for servers and specialized apps., it isn’t really there.
This is because business is looking for two things which Linux hasn’t been able to offer it.
The first is the backing and support of a large vendor which can, and will, service their needs with Linux as their needs are being serviced with Windows. Now, again, I KNOW that Windows is problematic, at best, but it’s there, and it’s the standard. I’m not arguing that it’s the BEST standard. Just that it’s the standard now. Business’s don’t like to leave standards, even when they are flawed, to move to something that they don’t know much about, and therefore don’t trust. It’s the nature of business.
The second is (as already mentioned above) standardization. This is very important to business. Especially to large business’s. Businesses believe that standardization brings costs down. As we have all seen in the last few years, bringing down cost has become the most important function of management.
As few companies have any in-house IT types who are conversant in Linux, they are reluctant to look at it.
Now that IBM, and others are making Linux a main thrust, there will be a greater chance that Linux will make head-roads onto the desktop.
But, business still wants standards. IBM, because of it’s size can offer that. What we might see is that IBM Linux becoming the most prevalent distro of Linux on the corporate desk.
Will this be good or bad? I don’t think that anyone can truthfully answer that now.
But as long as everyone here can continue to use their preferred version, I’m not sure if it matters.
Clausi writes in response to the article:
The author seems to be one of those that think the next new laguage will solve the problem because it _so easy_ to make apps, then. Photoshop coded in a month, no problem! That’s not true. Search novellforge for the one who spends his time doing a web browser in Mono. As if there are not enought web browsers. On the other hand, there are 17 or 18 different CD burning projects for GNOME but none of them is fit to compete with K3B or NERO.
In light of the respondant’s whole response, one of his basic sentiments is that when the Linux community’s efforts are so diluted by similar projects, the more worthy projects that deserve effort suffer. I agree with that, but I don’t see how, unless more creative ways of deriving monitary support for development efforts are contrived, will the community wake up and focus on fewer projects.
Without having been specific in some of my statements about how the barriers to software development have lowered, I presume Clausi is responding to those. This is an interesting presumption on the respondant’s part. I happen to have been a team lead on a medium sized software project and I know first hand how much time and effort goes into software development. I’ve read a good fraction of the books on the topic and feel I can keep my own councel on the topic. To wit, Clausi seems to interpret me as saying “just whip out your copy of netbeans while you have your 3pm tea and code up the next greatest thing,” which was certianly not my intention.
When I say that the barriers to software development are dropping, I’m referring to the fact that the FOSS community have created a broad foundation of coding tools available that eliminate the barrier of “being blocked at the PO approval to buy tools.” In a small business setting where you need to write up a purchase order to put a copy of MSDN on the biz credit card, management often nips it in the bud. With Linux, the tools have always been there, and for the most part, they are high quality and enterprise ready. This means that your willing and able system administrator and dive right in and modify an open source package to meet his needs. For example, I recently deployed a copy of eGroupWare where I work. I didn’t have to shop around for a commercial web-based groupware, nor invest in a development kit for it. (Granted, this is in an environment where I am judged responsible for how I spend my time, which is in effect, my budget.)
It is not easy to make applications, even web applications. The amount of time I spend writing some plugin for eGroupWare, while certainly not as complex as Photoshop, takes plenty of time. And what changes I give back to the eGroupWare team, is part of how eGroupWare is maintained, which is like how many FOSS projects are maintained: code donations.
I do not suggest that Star Coders out there refocus their efforts and win the battle against Microsoft. Rather, the effort that part-time coders and system admins put in by the thousands is what is building the rising sediment of the FOSS community. They are part of the FOSS community’s response to demand for software.
The examples I see of “umpteen CD burners v. K3B” to me is almost like noise in comparison. A sizable fraction of projects on SourceForge, for example, are small projects that are created by a very itchy programmers and likely to drop into unmaintained limbo as their authors move onto more distracting topics. Those small projects are like the sand filling in the cracks between the larger FOSS projects out there. Those are examples of easily months, even years of effort, each of them. What some of those projects demonstrate best is a willingness by programmers to share their code-learning with the community.
I agree that there is often little information to go on when searching for a Linux application. Consider CAD/Drafting applications. Interestingly enough, a majority of the “free” CAD projects you find are still in the planning stages (basically, the hot-air stage). This noise is unfortunate, indeed. I think that some sites are doing a good job at providing a “popularity rating” for projects, but not all projects people search for are hosted at those sites.
One way this noise is getting reduced is at the distro-level. Distro maintainers have to function in the role of editors, weeding out the various unmaintained or unpopular or incompatible projects and choosing popular or better maintained versions to redistribute. By reviewing what applications are present in a distro, you’re choosing your distro through a filter of popular projects, and this helps limit choice. When you add-on to a distro by choosing packages right off of SourceForge (or other places), this can unfortunately counteract the effect of choosing a distro in the first place: you now have to maintain your very own personal version of the distro. Neither is any feedback really getting back to the distro maintainer about what packages you’re using, which might inform them how to better make their distro.