What Needs Fixing In Linux
An anonymous reader writes "Infoweek's Fixing Linux: What's Broken And What To Do About It argues that the 17-year-old open-source operating system still has problems. Leading the list is author Serdar Yegulap's complaint that the kernel application binary interfaces are a moving target. He writes: 'The sheer breadth of kernel interfaces means it's entirely possible for something to break in a way that might not even show up in a fairly rigorous code review.' Also on his list of needed fixes are: a consistent configuration system, to enable distribution; native file versioning; audio APIs; and the integration of X11 with apps. Finally, he argues that Linux needs a committee to insure that all GUIs work consistently and integrate better on the back-end with the kernel."
How about the fact that there are way too many distrobutions, some of which are separated by nothing more than ideological lines?
while(1) attack(People.Sandy);
I'm tired of that penguin
I am sure that only sane, rational, and courteous debate will follow. Finally an argument-free thread!
-=Bang Bang=-
Because group-think is the way to go!
And they'll figure out how to impose their will on the individual programmers.
????
PROFIT?
Chas - The one, the only.
THANK GOD!!!
that Linux IS pretty much a mess, it's just that there enough hands around at all times to fix quickly enough whenever something breaks. That's pretty much how it works at the moment and this could be better indeed.
Power corrupts the few, while weakness corrupts the many.
the users
I am so happy that he has volunteered to do this. I was afraid that the article might be about wanting someone ELSE to do the work.
Is more vendor support. Every supposed real problem with Linux is based on or related to a problem with a driver; nine times out of ten this problem is caused by the manufacturer being unwilling or unable to release specifications. The various vendors out there need to realize that Linux may not be the future, but it's a more likely future than Windows, and they need to put some effort into support. Of course, some of them have, and if you reward them by purchasing their hardware, they may do more of it. Regardless, having multiple GUIs isn't actually a real problem - it's an opportunity, not a setback, and meanwhile you can trivially use libqt to draw GTK+ apps or use GTK+ to draw widgets for libqt programs (Sorry I haven't updated in a while, my last build FAILED on the build servers but worked at home, and it was a compiler error, NOT a library I forgot to specify. Nice work, Ubuntu!)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
STOP BREAKING THINGS THAT WORK FINE
Take Gnome Password Protected Windows Network Share Browsing. Worked fine in Gnome 2.22, completely fucking broken in 2.24. Why? Because they changed to gvfs, decided to take out/omit authentication and now don't know how the fuck to fix it. And then you have CIFS which can't resolve Windows Computer Names on a network. What fucking idiot decided that in a world with a 90% Windows desktop market share that removing the ability to browse windows networks was a good idea?
Conor "You're not married,you haven't got a girlfriend and you've never seen Star Trek? Good Lord!" - Patrick Stewart
The vast majority of Linux distributions each are trying to achieve something different. People like you want only a handful of distinct distributions. If we had that, we wouldn't have Linux, we'd have Windows v2.
See: Linux is NOT Windows
First person to make a fuss about this gets a prize!
Need an automatic screenshot taker? Try here.
the problem with linux, is that to many people want it to be to many things. there is no centralised effort to get it to do one thing.
there are several GUI solutions, rather than a centralised effort, there are several browsers gunning to be the main browser, there are several sound sub-systems/servers... why cant these people learn to play together, and come up with something that fits everybody.
i know i will get comments about "choice" its all about "choice", but its not, its not at all about choice to the common user... the common user want to switch the computer on, check their hotmail account, check facebook, and then talk to their friends on live messenger... THATS IT.... thats what the common computer user does now... they dont care how their computer does it, they dont care about the morality behind it, they dont care if the guy who made their file system killed his wife or not.. they dont even know what a file system is.
its only the very advanced users who care about these things, and im afraid to say, that these users dont even account for 1% of all computer users.
if linux based operating systems are to become as big as they want to be, they need to stop fighting among themselves and centralised their efforts. otherwise, we will be having this same story in another 17 years
portfolio
and the integration of X11 with apps. Finally, he argues that Linux needs a committee to insure that all GUIs work consistently and integrate better on the back-end with the kernel.
Call me old fashioned or whatever the cute term is now. But fuck that! If I ever see programs like cp become bloated with X library calls because some news reporter needs to see a GUI progress bar, I'm going to be very angry.
My biggest issue lately has been NetworkManager. It isn't absolutely necessary but wireless connections are quite annoying without it and more and more applications are becoming NetworkManager aware which means it is increasingly important to have it. It hasn't progressed that much since its inception and it's still not possible to configure most networking options to work with it. The NetworkManager homepage makes it clear that they are not interested in profiles, and their application makes it clear they are not interested in bridge interfaces or any other kind of advanced networking. So your options are to disable it and configure networking through your init scripts or deal with the extremely limited options of NetworkManager. My biggest complainst are that I cannot get a static IP on my home wireless while getting DHCP everywhere else and it's a real pain in the ass to set up bridged networking for use with a VM.
Time makes more converts than reason
Basically, what he seems to be complaining about is the lack of standards, and on this he has a point. But he clearly doesn't understand the difference between standard-as-implementation (the Microsoft way of doing things) and standard-as-protocol (the superior way).
You can see some examples of standard-as-protocol, for example, when he talks about kernel ABIs, audio APIs, and such. But most of what he speaks of is mere whining about how there isn't Just One Way to do something, calling for standard-as-implementation when that simply isn't necessary: for example, the single configuration format or the "tight integration" between X and the kernel.
It's users.
1. Why is Linux blamed for configuration files that are written by application developers? Linux is a kernel and is not responsible for Sendmail. Further I fail to see how the point and click method of configuration is better than editing a text file than can be searched, backed up and version controlled.
2. Why is it the responsibility of Linux distribution maintainers to provide a means for commericial vendors to package their product? Vendors had to spend money to get certified for other operating systems. How about putting a little work into understanding and using a Linux distribution.
3. X freezing? Umm...
Perhaps I've just feed the troll but, I'm sure the pointy hairs will read the artical and think it's all true.
UNIX/Linux Consulting
The primary interface for most people is X. There needs to a way to switch between multiple X sessions as seamlessly as switching between console sessions.
feee yeah
This is insightful? If it is, I have no idea why...
No, a committee should be responsible for setting standards, similar to how the W3C sets standards for the web. Standards are good. Besides, sometimes programmers need to have their ego reigned in and given some direction. ;)
http://www.freedesktop.org/ is the link. Was that really so hard?
~ C.
Seconded and signed.
There is absolutely nothing that Apple and Microsoft need to learn from the various linuxy GUIs.
Except virtual desktops, which is broken IMO in mac os x.*
*specifically, not being able to configure the movement hotkeys to anything besides arrow keys and some modifiers, and not focusing on the correct application: have a finder window underneath say a terminal, hotkey switch to a blank desktop and then back, now the finder window will be on top. This odd behaviour doesn't happen using the fullscreen desktop picker.
Linux is a kernel! GNU/Linux is an OS. Joking aside, with seperate people develope different part of Linux, I don't think they can make it consistent, unless there is a "standard" for linux.
We have the LSB, and distributions which make some effort to ship binary 'compat' packages, so that third parties can distribute their software in RPMv3 format (n.b. not the same format as currently used by RPM-based distros, which are on RPMv4) and it will just install and work on any i386 or x86_64 Linux system. But I wonder if that is slightly the wrong model. At the moment if you want some particular library you have the choice of statically linking it into your executable, or just relying on it being there in the target system; neither is very appealing.
For example, suppose you want GTK version 2.16 or later but LSB specifies an older GTK (actually, it specifies a set of interfaces, but that corresponds to a particular GTK version). You could statically link your app with gtk-2.16, or you could include your own private copy of the library to be stuck in /opt/myapp/libs, but then what about Fedora 10 which does include a new enough GTK?
Instead of providing a single RPM (or worse, lots of different binary RPMs for different distros), we should encourage vendors to set up a yum repository. Then to install their software you could add the third-party's repository to your software sources list and use the normal GUI tools to update and install packages. If they want to use some newer library which is not included in Ye Olde Enterprise Linux 1.1, then they can just add a package for that library to the repository, and it will be installed only on systems that need it. This also takes care of automatic updates, which are not provided if you just give people an RPM file to install manually.
Of course, we don't live in a world where you can just 'encourage' third-party software vendors to do things and they'll jump to it; otherwise Nvidia would long ago have released free drivers. So you need to make it as easy as possible to set up a repository for yum or apt-get or smart or whatever packaging tool distros are using. It needs to be trivially easy. So I would suggest enhancing yum and the other tools to work from a plain directory of rpm files served over http. Just dump the files on a webserver, let Apache serve the directory listing and let yum point to that and Just Work. Or, if that's too dirty for you, use a directory on an ftp site (which at least has a defined protocol for listing the files available).
I think a repository for package management programs like yum satisfies what the author is talking about when he asks for a 'meta-package'.
-- Ed Avis ed@membled.com
No, a committee should be responsible for setting standards, similar to how the W3C sets standards for the web.
There is already Linux Standard Base. But what real influence does the LSB Workgroup have in the GNU/Linux ecosystem?
In the sense that there is little originality, and it seems anything added to linux has to have occurred in another operating system.
Linux/Unix has plenty shortcomings, but its evangelists believe it's so perfect it cannot be improved. Here is my short list of major peeves.
1. Filesystem metadata/permissions. Why do files still have to have rudimentary metadata? Drives are massive and a few bytes would not harm. MacOS has added metadata. An example would be that a file should be able to keep a list of all the dates it was accessed. Why can a file only have one owner/group?
2. Root is God. This must really be fixed. There should be a way for root to irrevocably divest its powers, and root does not need to access users file. A user should explicitly grant root permission to read his files. It will always be a major security issue because all one has to do is become root. Plan9 managed to do that.
3. They lie about everything is a file. Why not extend this to networking resources ('cd http://www.gnu.org/ would be cool ). Plan9 also succeeded there.
I am sure linux evangelists are going to propose (hack-filled) workarounds or reasons it can't work, but I don't buy it. That is why I left linux.
...and none of them are listed in this article. Most of these are lame rehashes of old stuff that just isn't important. How about stuff like flash not crashing on me every two minutes? A IM client that doesn't freeze on file transfers with native MSN clients (I've tried several and they just don't work), some real compatibility with MS Office (the locked excel sheet for travel expenses breaks every time and I have to unlock it to actually make it work), fix the dual screen setup so that it actually works, that the side buttons on my mouse would work without hacking xorg.conf, all the ways WINE fails me and so on. I don't care that there's plenty choices, I just want at least one choice that works...
Live today, because you never know what tomorrow brings
X crashes on me very often , Mostly when moving dragging graphical element and it crashes more in 1024 X 768 than it does in 800 X 600.the fault gives me a blank screen
In the log there is sometime a message X server has had a segmentation fault .
However sometimes there is no error
to regain operation, I must re boot . I consider this a MOST severe and unacceptable error
Playing a few Solitaire games in 1024 X 768 causes this Most often
What should I do ? the problem happens on Ubuntu 8.10
Yes I can run 8.04 , but like 8.10 I would like to fix it
Anyone have this problem as well?
A quick search says it's a bug , but I don't know if it has been resolved or not.
What if anything fixes it ?. This kind of error is what drives people Away from an OS,
and franky I did think about windows . If linux is to gain acceptance, this kind of dead computer error is Totaly unacceptable.
USB barely works. It's OK for mass-storage devices, but sucks hugely for high-bandwidth devices, or anything that's removable - and gets removed.
Video: just as bad. Put these two together and you have a mess of non-functional webcams, video applications which sometimes hold together if you're prepared to spend hours and days hunting down just the rtight combination of codecs, libraries and applications.
However, the worst part of Linux is tha parlous state of the documentation. A morass of different styles: .man .info HOWTOs, html, text-files. Almost none is available in more than one language and hardly any is kept up to date. Even less is declared obsolete, to stop people trying techniques that haven't worked in years - but is still highly-linked to on the web.
Frequently, the best documentation for an application is the string command.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I use Linux and FOSS almost exclusively for my photography workflow.
Almost.
See, when I work in film, I need to have a Mac around to handle the flatbed scanner. Because, unfortunately, Linux support for flatbed scanners really sucks rocks.
gimp has some shortcomings as well but I understand they are being actively addressed so I won't bitch about that.
I guess these are the main things without wasting too much time on this topic.
... it depends heavily on what the goal is. If the goal is to overtake windows on the desktop, then largely, yes, I agree. However, linux is in good shape on the server, actually far better shape than Windows 2003 Server in reality. It's easier to manage, it's more reliable, it's cheaper, and harder to exploit. However, if linux is going to make a serious attempt at taking over desktop market share from Windows then there are two things that must be done-- simplistic flawless working audio. simplistic flawless working video. It takes many times more effort in linux to get audio and video working cleanly than it does in windows and until that changes there is no hope of linux gaining serious market share in the destop environment. (on the other side of that coin, once it's working in linux it never breaks unlike windows.. and you can simply copy your old configs over your new when you reinstall and everything works again.)
Pantek, Inc. - http://www.pantek.com/ - info@pantek.com
+1-877-LINUX-FIX - Expert Open Source Support
Documentation
Everything else is secondary. Well, most everything. But without usable documentation, all else is futile.
Oh, and would someone do some work on documentation?
Thanks!
deleting the extra space after periods so i can stay relevant, yeah.
The author made some points with ABI stability, audio architecture and filesystem versioning. The rest is bullshit. GUI? Go whine at the GNOME/KDE guys. X11? Go post to the X11 dev list. Package managers? Go fuck RedHat for RPM and Debian for dpkg.
In other words, the things you are bullshitting about are not *Linux* things.
Colorless green Cthulhu waits dreaming furiously.
He complains:
Who else should do it?
He complains the distribution differences make life hard for people selling software. Well, tough, if they want money maybe they should work for it?
I know! Let's recreate the windows registry, but this time better!. Yawn.
Just about the shittiest article I've read for a long time.
Watch this Heartland Institute video
It's "ensure", not "insure"...
fsck needs fixing.
Perhaps:
- ask before doing a slow check because of a reboot count. Someone could miss an online game!
- if the / drive needs checking while not mounted, then make it so. Don't make me pull out the cd and type "e2fsk -y /dev/sda1". Is it a security thing or what? It sure kills the experience for regular non-techie users.
Yeah this is pretty asinine. The whole premise behind this article is that Linux needs to be fixed by taking away the very freedom and flexibility that has made it a success.
Give me Classic Slashdot or give me death!
You know, rather than fussing around with all that bullshit, I have an idea: build from source. Your package manager downloads the source package, it builds it, it installs it, so it's definitely native for your infrastructure. You know, I think even some Linux distributions do this...
My biggest complainst are that I cannot get a static IP on my home wireless while getting DHCP everywhere else
Then tell your home wireless to reserve an IP address for your laptop's MAC address. It's an option in the Netgear router I use.
Point I noted is the GUI of linux is sluggish. when compared to windows.
But so far talk has been really cheap and code rules the day.
Even so, all mentioned suggestions somehow indicates that writer sadly, but doesn't know what he is talking about.
user@ubuntubox:~$ stfu This server is going down for shutdown NOW!
Maybe I am not looking hard enough but I feel there needs to be more lists of software solutions. Someone in my LUG group brought my attention to http://opensourcesmall.biz/ which is a great little site (no affiliation) that gives software solutions for small businesses. Some others I find googling are http://www.icewalkers.com/ and http://www.linuxsoft.cz/en/ (Czech site I just checked the google cache) For me that seems to be the most important part. If open source small business software names were as common to mom and pop places as vlc, firefox, and other free software are to us it drive linux adoption at crazy rates. This would force hardware manufactures to release their specs or get passed up on a purchase to a competitor. Other than that linux is great and I could never ask for more for free. Usually the big hurdle for people is software familiarity once you learn bash basics, if you never learn bash you usually struggle.
if you're posting anonymously, you're not actually signing. Anyhow, when swapping spaces, OS X keeps the current application active (and focused) if it has a window in the new space. When you switch to a blank workspace, finder becomes active by default, so switching back will focus the finder windows. There might be a setting (new as of one the updates earlier this year) pertaining to that behavior.
Do you even lift?
These aren't the 'roids you're looking for.
Yes Audio is mess. To many choices and to many issues. GStreamer and safe ALSA are your best bets but they are limited.
What is this issue with the ABI??? That isn't a real issue what is needed and this always starts a war with the faithful is a stable binary driver interface.
Nobody should ever have to recompile a driver. I know the arguments for not having it. I find the performance argument to be just silly. It wouldn't be that big of a performance hit folks. The idea that it discourages binary drivers is also silly. Nvidia? ATI? It just makes them a pain to use.
I am also for the option of moving some drivers into kernel space. If they are low speed drivers then I think the gain in system stability is worth it.
Multiable desktops? Not a problem. I can move from XP to Gnome to KDE to XFCE with very little effort.
For me the big problem is the lack of binary driver support, printing, and audio issues.
The funny thing is tat given the mess that audio is that it works as well as it does. For the most part Audio does work but from the programmers point of view it is ugly.
The other issue really is the difficulty with commercial software. It is really hard to make inexpensive closed source software for Linux. Linux could really use Quickbooks, TurboTax, and even Bejeweled. If there was an easy way to sell and market programs for Linux I think you would see a lot of programmers flock to it.
Money talks and your not going to make any selling support for a casual game! A standard install system and or something like iTunes, Steam, or the Android store would really help. The key would be for it to be done buy a major Linux distro like Ubuntu.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
What I find in *most* of these sorts of pieces is that they are either cynically or subconsciously pushing for the winozification of Linux. He makes some good points along with the bad.
(1) Package Management
This is a good point if the debian people and redhat people could work toward a solution, it could be fixed as both systems have a great deal in common.
(2) Configuration Files /etc are, IHO, better and can be backed up and diff-ed.
Bzzzt. Wrong. The foolish part of this subject is that while the Windows registry provides a standardized access to the data store, it only defines types and not what they are supposed to be. Lunux configuration files under
(3) Kernel Application Binary Interfaces
I would like to see a stabilized and standardized device interface API for standard devices, something exposing a limited subset of the kernel that would simplify simple devices like block, serial, and network types of devices.
(4)Native File Versioning
Bzzt. Its called automatic backup people. This is a relatively new feature in Macs and barely working in Windows. Would be nice, but can't characterize it as something that's broken.
(5)Audio Application Programming Interfaces
This I 100% agree with. Choice is nice, but the geometric product of "choice" in system services means that rich multimedia applications are much harder to develop.
(6)Graphical User Interface
He sort of has a point about this and it has often been a problem.
(7)Integration Of X11 With Apps
Bzzt Wrong. X11 is a HUGELY powerful system and if you encounter a bug that crashes your session, that's a bug. Fortunately I haven't seen one of these in about 6 years.
(8)Commercially Hosted Backup And Restore
Bzzt Wrong. This is not "Linux" being broken, it is 3rd party vendors being stupid.
Video drivers. Video drivers. Video drivers. Or possibly X11. Or possibly the whole multi-layered graphics approach.
I'm not sure whether it's the fault of the Linux kernel or the graphics card companies that won't release their hardware specs / open-source drivers. To the "newbie" Linux user, that's more-or-less irrelevant. I just know that I installed Linux for the first time two months ago on a brand new computer (AMD Athlon X2 6400+, Asus M3N78-VM with onboard GeForce 8200 graphics, 2 x 2 GB DDR2-800 [PC2-6400] memory) and gave up last week and installed Windows XP after spending eight weeks dicking around with video drivers / KDE vs. GNOME / xorg.conf / etc. trying to get the desktop performance up to the level where it doesn't take a good half-second for a bloody Firefox window to stutter its way up to full-screen from the minimized state.
Karma: pi (Mostly due to circular reasoning in posts).
The article is completely worthless.
He doesn't apparently know about alien (package conversion), eventual issues that meta-package doesn't solve either (packages linking to versions of other packages (like glibc) more recent than the version of your system)
As you also stated, he neither understands that Linux != distribution and that distribution != single entity developing everything. It's not like non-MS windows applications all are using the same configuration methods...
Also doesn't seem to have heard of freedesktop.org...
And overall doesn't know at all how things work...
I guess having a strong windows background doesn't help... ( former Senior Technoloy Editor with Windows Magazine (also Winmag.com) )
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
I wish there was a windows remote desktop equivalent. Yeah! I can forward X11 apps over SSH! Network transparency! Cool! But over the internet - usually painful...high latency? oops. Connection dropped? App exits. Hope it autosaves.
Ok, so let's use VNC. A lot better to be sure. Or NX, with its shockingly awesome speed and responsiveness.
But how do I get at the apps I already have running? Nifty, I can ssh in to my desktop machine at home. I know I'm logged in to a gnome/kde/whatever session. Screen locked. What if I have Eclipse open and want to pick up where I left off? :0, and setting environment variables appropriately)? Oh, look at that! Screen's locked. I'll just type in my password and get going. Works fine, except for the fact that my _monitor woke up_ and _everyone can see what I'm doing or hijack my session_ (keyboard and mouse working). Maybe I'll just quickly logout so I can start something in VNC...
-Start a vncserver? That's fantastic. I just bypassed the display manager, so no warning about concurrent sessions. Let's hope that _all_ of my apps are careful about this weird case and don't barf all over my data.
-Forward just eclipse? Maybe if I kill it first from my shell it won't complain.
-Use x11vnc (hoping my session is on display
It's ugly, all of it.
On the windows side, as most everyone here has seen, a) a session started locally can be connected remotely b) a session started remotely can be connected to remotely c) in either case, a "locked" screen is displayed as appropriate and nobody gets to see a haunted cursor and d) none of this breaks 3D acceleration or video overlays when switching back to local display. It's _incredibly_ useful. This is something you'd expect Linux to be _better_ at, a big selling point of desktop Linux...afraid not.
I tried to pick some brains once about even the simplest hacks - like being able to poll X for display updates when it doesn't have a VT. And from that, I don't get the impression Linux will catch up in this department anytime soon.
"Strangers have the best candy" -Me
Did you notice how I posted about the inconsistecy?
Where this stupid behaviour DOESN'T happen when picking desktops in the fullscreen picker?
You must be a typical_mac_user.jpg
the "just works"-factor, the factor that made me say "oh fine whatever" and switch to a Macbook Pro as a work-laptop. After an upgrade botched my carefully handcrafted xorg.conf and left me with a semi-working dual screen setup, mac was the way to go. Plug the external screen in, everything dims and comes back two seconds later, running in glorious extended desktop/xinerama mode with full 3D acceleration everywhere. That's a "just works"-thing. Program installation? I use the packages available, which has the lovely "little thing" of actually integrating with things like Spotlight, so once I've installed something it's available right away by an apple+space keypress, as opposed to say Launchy on windows or any of the multitude of programs on *nix, which require me to wait until the next time it scans everything to show up. Another "just works"-thing. Headsets, more specifically USB ones, get plugged in, and then get selected when i do something like run Skype. Last time I ventured in to getting-logitech-usb-headset-to-play-with-skype-land in linux, it eventually ended up working - KINDA (but that kinda might have been related to the relative immaturity of skype on linux at the time), whereas - again - on the Mac it's no problem whatsoever. "Just works". And so on, and so on. I don't mind at all to tinker with configs and clis, and have done so extensively over the past many years, but when I sit down to do my job - I want stuff to "just work". It's a big waste of time having to craft configs for simple things like dual monitors and headsets, and it's honestly something I don't want to spend time with when I'm on a deadline. So until things start "just working", linux is confined to my servers and my private "workstation" (which is kinda set up like the servers), but for anyone getting a new machine to actually USE, I would point them towards a Mac with the whole of my body. It. Just. Works.
One reason that there's no supply of high level backup tools for Linux (or for UNIX in general) is that there's a plethora of REALLY GOOD server level backup tools that are far more reliable and versatile than anything in Windows. I used AMANDA for backups for years, so that's what I'll talk about, but I know there are plenty of alternatives for people with different requirements. I found AMANDA worked extremely well for our tape-oriented environment, and the way it took over the whole scheduling situation and made backups *and* restores invisible... even in situations where the Amanda software wasn't available... is wonderful.
It would help if Linux file systems provided a backup API, allowing a non-root user to perform a backup without modifying file system attributes, the way you can with UFS dump and restore... but even with just tar/pax and scripted front ends like AMANDA you're way ahead of Windows native backup.
I'm really amazed that he considers the lack of a *need* for a commercial remote backup solution an advantage for Windows.
I was beginning to think that no one in the geek community had anything bad to say about this horrible operating system. After the innards are reworked, how about subjecting it to some real usability trials involving actual users rather than having a bunch of developers incorporate only what they like best? Linux could use a lot of work in the documentation department, too. Get some competent tech writers to go over not just the help files but the entire visual design of the operating system itself. I'm sure Jakob Neilsen would have volumes to write about how to turn Linux into a product comparable to its better known and more widely used competitors. Good technology is technology that people can use and enjoy, and that involves more than purely unseen code improvements. If you guys want it to dominate the desktop, get the public involved and fix the things that are wrong with it from the standpoint of usability. If you can't find anything wrong with Linux then you are just a blind, preaching tech evangelist who can never be part of any serious solution. I'm pretty convinced that it is the Linux evangelists who are partly to blame for Linux's shortcomings. The last thing some programmers want to be told is that they are doing something wrong, and an evangelist merely reinforces an open source developer's sense of invincibility and his or her disdain for actually seeing whether or not the right decisions were made based on a user's reaction.
I would agree with this. When talking to grandma about trying Linux since all she wants to do is check e-mail, look at pictures of the grand kids and keep her MySpace page updated(...)
Your grandma uses myspace? Oh my god... http://www.flickr.com/photos/driveafastercar/2110340303/sizes/o/
One of the axioms of free software is that users are free to fix whatever they want, when they want. So after 17 years of Linux evolution, why are these "problems" not fixed yet?
In most cases, it's because the cure would be worse than the disease.
So obviously what we need is yet another package management system that's different from all the ones that exist now. Developed from scratch, of course.
Obviously the solution is to rewrite every program in the OS to use a standard configuration file format. Instead of, you know, writing a man page that explains how the configuration file works.
So we should freeze all kernel development until proposed changes go through a 2-year approval process by a configuration control board. We all know that keeps the Debian distro moving along smoothly.
And so on.
Bottom line: the author doesn't like Linux, doesn't bother to understand it, and wishes it were more like a proprietary OS controlled by a single vendor.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
consistent configuration system
What a dope; because we know this has worked so well for windows. The registry is a nightmare on Windows. Linux/Unix does have a consistent model and it is known as text configuration files. It's powerful and can be leveraged on even the slowest of links. One size does not fit all - although I've seen far too many applications use XML for this where it makes absolutely no sense whatsoever.
native file versioning
Seems Linux is now held to a higher standard. Again, what a dope. Outside of the VMS crowd, I've not seen a huge outpouring of demand for this feature. Having said that, I do believe a versioning FS is in the works and for all I know, some may already be available. Realistically, few people want this and most have no clue what it even means. For the general use case, RC-software already exists to fill this niche. His complaint is empty.
audio APIs
As far as I'm concerned, it's done. Pulseaudio and ALSA are all that you need. If you have more specialized needs, then JACK Audio takes care of you. For the majority of people, Pulseaudio has what you need and is also portable to Windows. Many (most?) distros are already moving or have completed their move to Pulseaudio. As far as I'm concerned, this issue is addressed, save only for migration time for slow adopters.
integration of X11 with apps
This means nothing. What a dope. All GUI applications which communicate with X are integrated.
and integrate better on the back-end with the kernel
Again, what a dope. This means nothing.
In a nutshell, his complaints are silly, meaningless, or have been addressed. As far as I can tell, his only complaint which has any merit is audio API standardization and that has been achieved.
a well-working gaming industry!
All (hardware developer annoying) gamers would move over to Linux and suddenly: No more driver problems whatsoever!
I fear that Linux needs something like DirectX.
Yeah, of course, you *can* do the same stuff with OGL, but, honestly, it's a pain in the ass to make a whole game with it.
kernel application binary interfaces are a moving target
So, in order to address shortcomings and become more capable, we will need to stop growing and improving! Makes perfect sense!
I'm with you. If my laptop Broadcom wireless worked out of the box on Ubuntu, I'd be using that instead of Windows.
It's not out of the box, but it's simple enough, and it worked for me twice already on 2 different laptops. https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff
How can Linux win me back? Whatever machine I bring home from Best Buy has to "just work" at the end of the install/config program. Is that too much to ask for?
Just buy a machine with linux preinstalled if you want no hassles, especially for laptops. And for desktop pcs in my experience everything does just work out of the box nowadays.
Insure = Financial coverage, like auto insurance. Ensure = Make sure something happens. Also a drink for old people. insure != ensure
Yes, there's nothing in Linux that a good committee directed by a strong, right-thinking man wouldn't fix.
It's just like any other democratic institution. The users must rise up and seize the means of software production, by violent means if needs be, and immediately establish a User's Central Committee to begin the immediate task of standardizig Linux. We will work with simple 5-release plans with the goal of obtaining the User's Paradise. Desktops of the world unite!
The journey of a thousand lines of code begins with a single declaration.
If my laptop Broadcom wireless worked out of the box on Ubuntu,
You should check again in Intrepid. Canonical licensed a Linux driver for most of Broadcom's wireless basebands for inclusion, and now pretty much everyone's Broadcom devices work OOTB, including most(?) of Dell's configurations (hence the reason).
Now if they could just deep six snd-hda-intel and get someone working on ALSA who isn't a complete asshat...
Car anologies are of course famous on slashdot, but I won't do that. I will do instead something radically new. A MOTORcycle anology. Yes, you saw it here first!
What is wrong with motor-cycles.
The list goes on. Any of them can be fixed BUT the moment you do that, you no longer have a motorcycle. You got something else.
Back to linux. The NATURE of linux is that it is free. Not just free as in beer or whatever but free as to what anyone does to it. Anyone can create a distro or a new UI or whatever because that is what it is all about.
Change that and you change the nature of linux and you get... well depending on who does it. A Red Hat or a Windows or an OSX. It might be BASED on linux, but it ain't Linux. Same as OSX ain't BSD. It uses it at its core but it ain't BSD. Similar to how Mandriva ain't Suse.
The suggestions made CAN apply to a distro, even perhaps a collection of distro's but NEVER to Linux.
It ain't just about the name, the author talks about kernel interfaces and X11 as if they are the same thing or indeed got anything to do with each other. They don't.
There are already efforts to standarize Linux distro's making them use the same directory layout.
But to make any such effort to official, that is the way into development hell that Windows and for that matter all gigantic software has become.
Notice that Linux constantly improves, constantly changes. Well those two things go together. Either you get Linux that is a constant moving target or you get MS Windows that doesn't change in years and then breaks everything at once. Oh yeah, remember how Vista was such a dud because all its interfaces changed and none of the drivers work? Well guess what, to fix that, the next windows won't change... so you get a NEW OS in the a couple of years that hasn't improved at all, just a few bug fixes, if you are lucky.
Apple knows this and just threw everything overboard two times already, last time with OSX because sometimes if you want to move on, you just got to break things.
GNU/Linux is what it is because of what it is. Change that and you get something different and that might be to big a price to pay to end up with yet another commitee developed OS. We had those. You can get PLENTY of unixes developed by a single entity. Not a single one of them is a popular as linux. (Oh alright OSX might be more popular but that ruins my argument so I am ignoring it)
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
I speak for ALL of Slashdot when I say there is NOTHING wrong with Teh Lunix. It is a perfect example of perfect perfection, and anyone who says otherwise is clearly being bribed with Microsoft stock.
the kernel application binary interfaces are a moving target.
That's why we have glibc, which abstracts that ABI from applications.
Kernel driver interface - the horse was already beaten to death many times ( see here ).
a consistent configuration system, to enable distribution;
Windows tried that with Registry - and it didn't worked. And it will never work since "one size never fits all" requirements of all applications.
native file versioning;
Was tried many times before and failed miserably. As long as majority of files are blobs, versioning on level of file system makes no sense. Versioning on level of applications is implemented already more or less everywhere it was needed and SVN/git is there for the rest of applications.
audio APIs;
See ALSA and its user-space libraries.
See SDL.
and the integration of X11 with apps.
As was shown by FreeDesktop initiative not really needed nor X folks want to be bothered by all the end user bells and whistles.
Finally, he argues that Linux needs a committee to insure that all GUIs work consistently and integrate better on the back-end with the kernel.
Committee?? Buahahhahahaha!!!1!!cos(0)!!!!!!!
All what he says was tried before (see (11)) and generally can be described as "failed".
All hope abandon ye who enter here.
"The sheer breadth of kernel interfaces means it's entirely possible for something to break in a way that might not even show up in a fairly rigorous code review."
Can't and doesn't that happen with Windows? With any program that is much larger than "hello world" you're bound to have a bunch of unresolved defects. What matters is this: how quickly can they be turned around?
With Linux, there is a benefit; IF you have the expertise (I don't) you can debug and fix the bug(s) yourself, and even submit them upstream to the kernel project. Bugs can be turned around anywhere from days down to mere minutes. If you don't have the expertise, submit the bug report and also mention it on a few messageboards. Chances are someone who knows the particular module in question will jump right on it if it's a quick fix.
Microsoft Windows: find a bug, Microsoft's solution will be to either categorically deny the problem exists, or to simply log it and ignore you. If it's security related and serious, they will take anywhere from weeks to a decade to release a fix - if they could even be bothered to. Now, I'm not bashing Microsoft is, it's just the hard sad reality we (you, I, Jane Doe, Joe Sixpack, etc.) deal with when using Microsoft products. Unless there are a lot of people screaming they won't care, because they already have your $90 to $120 for XP or $90 to $300 for Vista. You're not their customer unless you're a reseller. They have their money already and there is no warranty on the product. They are not bound to fix it.
The Linux kernel also comes with no warranty, but the difference is this: the developers behind the project have a passion for quality, and many of them also disapprove of how Microsoft does business so they want to beat Microsoft - not necessarily in terms of dollars and cents, but by producing a better, more stable OS.
Then there is BSD - similar to Linux in terms of passion, and maybe a little slower on turnaround of bugs, but still far faster than Microsoft.
And Apple. Ah yes, Apple. What was it, 10.2 where they completely broke samba with one of their security patches and flat out denied it for a while? They did finally get around to releasing a fix, but if you had applied patches to your box already you were screwed. They would not tell you how to roll it back. On the whole though, they generally are a lot better than Microsoft. They're smaller and they want to knock Microsoft off the top of the hill so they can't display the arrogance that Microsoft does.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Articles that point out what's wrong with Linux (or other OSes for that matter) invariably point out flaws in the interfaces or in the code. This one only falls partway into this trap, but still missed some stuff that can't be fixed by more programming.
1) Documentation. Linux documentation is STILL an unholy mess of inconsistent, incomplete, uneven snippets. They need to make the man pages complete and consistent. The docs HAVE to be updated consistently! There has to be quality control!
2) Compatibility. Both backwards and cross-platform, that is. The number of programs that require a specific version of package 'x' for no good reason is astounding. Similarly, the number of things written in a Linux environment that compile on the author's computer and NOTHING ELSE is ridiculous. One classic example was mplayer, which would (painfully) compile on other platforms, but the man pages would only format properly when using gnu-troff. Standard troff would have done fine, if the authors actually had a clue.
Another example: Burn bash into the ground, and hang the developers who made it incompatible with /bin/sh. ksh, zsh, ash, and others have managed to be feature-complete supersets of /bin/sh, but bash? No, it does not properly execute some sh scripts. (And before you start, legacy is at least as important as POSIX.)
3) attitude. It's not the fault of Linux, but the community that surrounds it. I can't be bothered with an OS if I have to wade through religious zealotry every time I want something done.
Linux is 17, going on 18. It's time for it to come of age and grow up into a mature OS.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
whining about how there isn't Just One Way to do something
This isn't a problem for "linux" to solve. It's a problem for linux distributions to solve (or not). He should direct his concerns to Ubuntu, SUSE, or Mandriva, not "linux" (which doesn't even make sense). That's the whole idea: each distribution has their own distinct goals, and by golly, I reckon some of them are keen to the "Just One Way" concept. Others are not, and they shouldn't have to be.
I'm getting the feeling this guy doesn't even understand that "linux" is not (and cannot be) controlled by a single entity.
We'd need an entire website, not just an article.
But, in the spirit of collaboration, let me write the most fundamental IMHO:
a) Distros must work together and not fight among themselves: first thing, kill M$ -- then and only then, fight. We see Novell dealing with M$; they're going the wrong direction.
b) Make freedesktop better, faster e more imperative. Server Linux will never be Desktop Linux. It can't. This doesn't mean having two codebases; it's just that some apps don't cross the border.
c) Establish agreements with partners (e.g., vendors, courses etc.) to promote the selling of Linux goods (not just hardware, but also services); think about not just "ease of use", but also "ease of understanding" and "ease of buying". That's what the pros do. We need a larger userbase, because most people will always use the dominant platform and not what is better.
Linux need really up-to-date hardware database (how it's working, why not it's not working, issues) and testing labs. Yes, you can never test all kind of hardware while developing distro, but at least you can try to get some stuff working 100%. Otherwise it is kinda stupid when Intel wifi chipsets have open source drivers, but they don't work on Ubuntu Intrepid just because it broke somewhere near the end of development cycle.
I see testing labs like coordinated effort from main distros. It could be started by Ubuntu, or Fedora and then joined by others. Idea is simple - there are lot of geeks and powerusers who use Linux regularly and they would be glad to help - run specially developed tests, do regular live cd tests, test in special enviorements. They just need to be coordinated. Ubuntu have made one step closer to this with it's nice Launchpad bug system (yes, it is nice comparing to Bugzilla, imho :)), but it needs to be improved.
So, yes, I think biggest improvement would be coordinated information effort about what works and what's not.
user@ubuntubox:~$ stfu This server is going down for shutdown NOW!
Sadly, the last couple routers I have used do not have this very basic and essential feature. Sucks when you get a piece-of-crap hardware from the vendor with your dsl connection.
In that case, I'm almost willing to guess that the omission was intentional. The only time I've had to set up a static IP on a home router was to accept incoming TCP connections. ISPs don't want you doing that anyway unless you upgrade to a business-class service plan.
1) Some distributions have lousy package management tools (RHEL) and proprietary vendors insist on releasing software only for RHEL, taking advantage of every stupid little thing it does differently so the software does not work anywhere else.
2) I want to use complicated programs that no end user needs to touch (i.e. sendmail) but I do not know what I am doing and I screwed up the configuration.
3) Some hardware vendors refuse to give specifications so other people will writer drivers for free, but cannot be bothered to maintain drivers themselves.
4) I want to use a filesystem that has a specific feature, and they exist. I am grumpy that one of them is not the default for my distribution.
5) There are several audio APIs, each with advantages and disadvantages. I apparently do not know what I want to do, so I want one that has all of the advantages and none of the disadvantages so I do not have to plan ahead.
6) I do not understand how graphical environments work on UNIX and think that Linux should be responsible for most of what X11 and graphical toolkits do.
7) I want 'screen' for X11, but do not know about 'xmove'. But what I really want is for my damn proprietary video driver to stop crashing.
8) There is no company that provides a backup solution because there is not enough market share because most Linux users learned how to use rsync and a handful of other tools.
Go green: turn off your refrigerator.
How about decent SATA support!
USB barely works???
Linux supports more device, better, than any Windows OS. It can saturate USB2 high-speed bandwidth on a mass storage device. Try that with Windows!
Speaking of which, recent Linux distros can mount any disk, be they MacOSX hfs+ or Vista NT filesystems, or, obviously, Unix filesystems. Natively.
Bluetooth USB adapters work out of the box. On Windows they require installing craptastic drivers, this takes half an hour.
The main problem point wrt USB on Linux is webcams, due to the insane stupidity of hardware vendors, such as Philips and their NDAs. Fucking morons. But it's getting there.
Easy Installation and initial configuration. It only takes a slightly above average user to install most distros of Windows or OSX. Unfortunately, it takes a much better understanding of Linux to install it on a system, configure it to run well, and then Use it productively. Use is not the Biggest Stumbling Block! Installation is!
If the nearly average user can install it without too much difficulty, then it will get installed on more systems and used by more people.
Unfortunately, most installs I have seen require a battery of hardware/kernel specific drivers and resources to be pre-downloaded, and resources/system requirements configured during the process...
Shame there isn't a blanket installation with fairly universal drivers that get things up and running, then auto-detect hardware, and tap into a central database that has drivers and configuration specs for hardware...
That's just my $0.02 (CDN) on the matter ;)
After 10+ years, it's still the same stuff that needs fixing:
1. Better documentation, including better man pages with examples.
2. Apps that are multi-screen-aware and, most importantly, network-aware. Some apps send way too much traffic over the local network when run remotely.
3. Awareness of existing design standards and guidelines and compliance with them.
4. Desktop- and distro- agnostic applications.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
Um, thanks but no thanks. I don't need X11 running on my server, for example.
Hell, I've even had laptops running without it. Even 500Mhz becomes lightning quick under that condition.
No tyrant thrives when every subject says no.
i think this is the biggest area of contention right now
sooo many audio apis,and we only need one
what would it be like if the xwindowing systemm were splintered so?
one vid card one windowing system
one audio card one audio system
sometimes rhythymbox wont play properly becuase i was watching youtube in firefox
or i cant play quake 3 while listening to rhythm box becuase quake3 uses openal
its ludicrous, and it wouldnt be so bad excpet this has been this way for over a decade now
back in the day we didnt have no old school
You must not have looked into NX very thoroughly... Particularly, these options:
EnableSessionShadowing: Each user can require to attach to an already running session.
EnableDesktopSharing: User can require to attach to the native display of the nodes.
I use NX to share my desktop session over my VPN, so that I can login with my laptop while I'm away from home.
Not only is NX very fast, but it also does not require a running program in the background (like x11vnc), since the SSH server doubles as an NX server if you login with user 'nx'.
My only complaint is that I can't then use public key auth to login to my own user from the 'nx' user (a limitation of the NX setup -- though frankly I don't see any reason why this shouldn't work... its probably just disabled for "security reasons")
Sort the drivers and the rest will come. It's great for server stuff ( and for many others ), but the driver shortage is still noticeable. The features are there, and there's no reason why kit can't be used with, say, Ubuntu ( my preferred flavour along with Damn Small Linux ). But without those drivers you're in trouble. A reliability factor windows still has a-plenty. Tip that balance and stuff will start to happen as it rightly should. Linux is a pleasure to work with in so many other ways, but if your off the shelf printer or scanner won't have it Joe Public will not look.
So the common user can install Ubuntu, and someone else can use Gentoo. What's the problem again?
We call that a Junta, comrade.
I'm such a wonderful guy I just went and updated my package for qgtkstyle, for intrepid only (Sorry, hardy is over...) You can get it at my ppa. It'll be a while before I am making packages for Janky Junkpile or whatever the next build is called :)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
because you don't like it.
Tough shit. You asked for a hardly ever required capability and you were given a hardly ever used method.
That you don't like it doesn't mean your complaint isn't sorted.
I find it ironic his complaints are completely based on non-conformity and too many choices then his last complaint mentions... Commercially Hosted Backup And Restore... Windows and Mac users have endless choices:
Having to work for a living is the root of all evil.
"Bitter", "Whining", "Go bitch to the X11 guys". There is no cohesiveness to Linux. In some ways that is a strength, but for basic design, it simply makes it a mess.
A good example: "He complains the distribution differences make life hard for people selling software. Well, tough, if they want money maybe they should work for it?"
This type of argument is just shooting yourself in the foot. If you offered vendors a well defined STANDARD way of doing things, they would be more inclined to offer packages. Linux is too scattered. Many good/great ideas, but bad implementation. It's almost like they took the committee design and lopped off the last step to actually implement the standards in a unified way.
For basic OS functionality, there should be standards for things like packaging, API, networking, etc. That does not mean distro's can't do their own thing, but they should all offer the same basic services and interfaces to keep things consistent.
The complaints about the desktop are just silly. More choice is always a good thing, but again, they should be consistent for basic services/configuration/hardware support/documentation.
If this requires some sort of meta service that interfaces between these customizations and the OS, then so be it, but at least it would be consistent.
Helps if I actually log in ;)
"Bitter", "Whining", "Go bitch to the X11 guys". There is no cohesiveness to Linux. In some ways that is a strength, but for basic design, it simply makes it a mess.
A good example: "He complains the distribution differences make life hard for people selling software. Well, tough, if they want money maybe they should work for it?"
This type of argument is just shooting yourself in the foot. If you offered vendors a well defined STANDARD way of doing things, they would be more inclined to offer packages. Linux is too scattered. Many good/great ideas, but bad implementation. It's almost like they took the committee design and lopped off the last step to actually implement the standards in a unified way.
For basic OS functionality, there should be standards for things like packaging, API, networking, etc. That does not mean distro's can't do their own thing, but they should all offer the same basic services and interfaces to keep things consistent.
The complaints about the desktop are just silly. More choice is always a good thing, but again, they should be consistent for basic services/configuration/hardware support/documentation.
If this requires some sort of meta service that interfaces between these customizations and the OS, then so be it, but at least it would be consistent.
Pho-toe-shop
Mod WAY up. Although, I must correct you: the original Unix parallel model was multiprocessing. Threading was popularised by Windows (which has a heavy process model) and Java, more than anything else - yes, I'm well aware that threads existed long before these guys got in the act. Linus himself always argued against threading, and he was right.
Anyway, a move away from multithreading back to a multiprocessing model can only be a good thing.
Lazy manufacturers need it because they can't be arsed making proper support or giving useful information.
Not Linux.
Comment removed based on user account deletion
http://www.informationweek.com/shared/printableArticle.jhtml?articleID=212100714
Stupid information week split across 5 pages to fit more banners crap.
My Babylon
Granted: Users do not need a bazillion Linux distributions. However, _we_ the developers do. It makes a huge difference to _me_ the general philosophy of my distribution, as well as the decision process in it. I have been a Debian Developer for five years, after living several compulsory try-this-distro years, and finally finding the distro _I_ like and _I_ want to share my work with.
Same goes for desktop environments: Castrate me to KDE or to Gnome, and you will have an unhappy developer turning away towards horizons where I can work as I want.
So, yes, Linux development is still quite developer-centric. Of course, many developers have needs and likes similar to many users (or get paid to think the way specific groups of users do). But this choice, although possibly harming for the Great Project as a whole, possibly stopping World Domination, allows our ecosystem to be rich and allows us its main inhabitants to be happy.
some of which are separated by nothing more than ideological lines? --
Undetectable Steganography? Yep, there's an app fo
I like Linux the way it is... leave it alone
Sound.
I'll not go over the article, just what I consider misguided.
Complaint 1: package management
Seems the guy wants everyone to use a single package management system, so that all the proprietary commercial software folks can sell their apps more easily across multiple target systems. His complaint with letting the repositories take care of that is proprietary software vendors are left in the lurch. Well, this seems like a plus to me then. If they want to play, they should either eat the cost of managing their own software across multiple delivery platforms (e.g. rethat, ubuntu, suse, etc.) or open source their code.
Complaint 2: there are too many config files!
Uuunh. Ever seen the numbers of config files on other systems? Some places call it a "registry" if that helps any... Enough said.
Complaint 3: application binary interfaces are a moving target
Yes. This needs fixing. What needs to be fixed is this "want" - that is the basic dysfunction in this case. Either you want progress or you want a static abi. Simple as that. Which "want" do you cater to? I know which I'm going with.
Complaint 4: Audio interfaces
It seems there are too many audio interfaces for the author. After all, if you need JACK you should probably have a Mac as PulseAudio should be good enough for anyone. /sarcasm
Complaint 5 GUIs should ultimately be the province of the kernel
I give you this quote:
To that end, what's needed is a single steering committee for all GUIs that work on Linux, so that whatever GUIs are created -- be they GNOME, KDE, or not-yet-invented -- will have a consistency of implementation on the backend, and make it possible to have tight integration of features with the kernel, a la BeOS. The kernel would publish a generic series of hooks that a GUI could make use of, and the GUI would be free to represent them to the user in any number of ways.
Which means that if the kernel doesn't present you with what you need, you're SOL. Or perhaps I am not reading that right but it seems that this would be much more of a clusterf*ck than the current path.
Most everything else he talks about are additional features that it would be nice for Linux to support; file versioning by default (would be cool, don't have it by default, that sucks), commercially hosted backup and restore (how is this a fault of Linux, again? - it seems more like a business opportunity to me), per application shutdown of X11 (actually a really great idea).
Cheers.
So just in case the host machine doesn't allow booting from USB, you can still work your data even when you can't install the needed apps
I haven't had X11 crash on me, ever.[1] It's rare to get the window manager to crash. I use e17, and when it crashes, it pops up a dialog box saying "Oops, I just crashed. Click here to restart, or here to quit." When an application crashes, it takes out that application, not X11.
[1] Okay, this is an outright lie. I haven't had it crash on me since I stopped using Gentoo -- since I stopped editing xorg.conf manually -- and I haven't ever had it start successfully and then crash. I have, however, given it a bad configuration and had it error out immediately.
It seems like a major problem with linux as a desktop operating system for the masses is that developers who code for free/gpl are inherently biased towards interesting problems or those that could make use of clever solutions.
That means optimizing or "perfecting" a desktop with the same interface paradigm as those the masses are used to (involving fixing/implementing mundane features) doesn't get sufficient attention to satisfy the goal of making a masses-attracting desktop environment.
Of course, for users who enjoy using or making clever solutions, foss is awesome.
Go XFCE!
Transparent Win32 Execution, by default on install.
Take the grandma scenario. She wants Word, A photo applicaion and quickbooks. No it doesn't matter that there are alternatives, she's got a copy from 2002 that she uses with backups, and she doesn't care to learn a new product. If the average Joe PC can pop the CD in and double click the CD (autorun) and the setup pops right up (wine) without having to go too a command line you have immediately expanded your audience.
The same thing applies to WoW, and pick your latest release game. Hell Fallout3 might run better under wine than it does in windows!
Why not adopt microsoft's implementation strategy on Win32 only applied to Linux. Right now a Linux machine running wine is only little more effective than a Windows 98 Virtual Machine... This should change Dramatically to expect people to come to linux in droves.
Don't get me wrong I run Linux in a medium sized datacenter in all the places it's right for, but until my desktops are all linux we still need Active Directory to manage the systems, and expensive Anti-Virus products running on every endpoint chewing up cycles. Give users an apples to apples experience to vista, make Wine work on 99% of software without the user having to do a damn thing. You do that, and you've got the same compatibility Windows on Windows emulation gives Vista64 and XP64.
OK, so over the years I have always heard this gripe about Linux not being consistent in this area or that area. X11 doesn't have standard GUI? Well, if I recall correctly and I'm not an X11 hacker, but it is open source and Window Maker has always ran well on all of them well.
So, maybe everyone is talking about perhaps the NeXT Step-ish style of Window Maker as opposed to GNOME, KDE, Enlightenment, xfce4? Well, while it might be true, going from Blackbox to Afterstep is a bit of a culture shock, it's hardly a bane to the Linux community.
Non consistent configuration means.... Non consistent UI and non-consistent interfaces through out.
All of this makes PERFECT sense... IF DEALING WITH PROPRIETARY SOFTWARE. But since it's open source, my argument is that all the interfaces are easily accessible via source if nothing else.
There is a operating system which has much of these things... consistent interfaces, UI and configuration. It's called Windows. Oh, and might I add, that even Apple had the good mind to realize that a centralized-consistent-unified configuration utility is often enough a bane where they have a clear and obvious ability to turn it off in MacOS X! Windows, you can't so easily turn off the registry... if you do... good luck.
Linux has a clear and consistent informal trend in regards to configuration utilities. It's so simple it's ridiculous. It also contributes to 98% of the "power" of Linux and other unices. Flat file, plain text key-value pair configuration files. Someone in the Unix history, can't remember who, said plaintext is the universal API. Flat file, configuration is an application of a plaintext API. There are opensource applications that make configuration into binary files and such, and they are a pain to deal with.
So Linux does have a consistent, generally accepted means for a configuration architecture, Plain Text Files!
It really bothers me, these yahoo's, who have the power of the pen and thus perception, these so-called journalists, columnists, lingual devils and verbal vampires who spew their assertions onto the web in hopes of change; who write in total disregard to the essence of Linux's existence. These people, obviously do not realize, that what they are complaining about is what makes Linux so blatantly powerful. They view the surface, but ignore the mechanics. They see that sendmail configuration is different than apaches, but fail to see that both are plaintext and editable from program, script or human just the same.
And some of use actually listens to them!
They are lazy. They don't like to think. They want to be told, once and for all what to press, how and when. To launch an app, you may only use a recognizable cursor, across the same blue background, over an identical 32x32 icon which has been blessed as the only icon for that application regardless if you are on FreeBSD and KDE, or Gentoo Linux with enlightenment. They want a unified means of configuration, even if it means everything must be binary, and uneditable and totally obfuscated to the human.
To hell with these reports of Linux should actually be Windows. That is essentially what they are.
Most of the issues mentioned don't affect servers much, which is why Linux does well on servers but remains a pain on the desktop.
Yes, there are too many kernel-level APIs. I'd prefer a microkernel. As something of a QNX fan, it's been amusing to see, over time, Linux add most of the features of QNX, such as the ability to run drivers and file systems in user space. Unfortunately, the Linux kernel people don't take out the old stuff. Hence the kernel bloat. Probably unfixable. Linux still has mediocre interprocess communication, by the way.
X11 sucked in the 1990s, and it still sucks, but less than it used to.
Configuration via text files really is obsolete. But the Windows registry, which is just a tree of tuples, isn't the right answer either. The right answer is SQL databases. With a database, the data is always in the correct format; if you screw up the syntax, it's caught at insertion time. There's locking; you don't need kludges like "vipw". Changes on the fly are handled properly. The database can enforce consistency rules, always a headache with text files. Databases can be accessed with command line tools, GUI tools, automated tools, or even PHP scripts. Tiny implementations of SQL databases are available; they usually update slowly, but update traffic is rarely a bottleneck for configuration. In the early days of Linux, nobody knew what to do about databases, but now that almost every web site has one, everybody is familiar with how to drive an SQL-based system.
Why, at this late date, is anyone still using Sendmail? There are far better alternatives, including QMail and Postfix.
Winozification is not a word. Perhaps you were looking for windozification?
Obligatory Soundbite Catchphrase
I just moved to 8.04 Ubuntu after a life of XP, and I agree with the Audio comment. Master volume control on the native gnome panel doesn't affect JACK in the system, and audio problems still plague my week-long fresh install. Even though my card is supported, sound is still a problem, with front & sub speakers operating unconnected and strangely.
The GUI complain? Yes- as it comes stock, I can see why that'd throw a lot of people off. It's more than spartan, it's down right annoying. The file browser GUI for natilus is fine, but the stock panels are terrible- fortunately separate options like Avant Window Manager are available and make things very pretty.
I'd also throw in command support across applications- a restore option STILL doesn't exist for 8.04, and an "undo" command working across all apps would be helpful.
I think Linux took a big step forward with Ubuntu. The reason why personal computers are as ubiquitous as they are is because of Windows and MacOS and their GUI. Anyone who doesn't mind getting into the CLI and learning strings of commands loves Linux but the average person does not have the time, patience, or inclination to learn how to install, configure, and maintain linux.
Drivers and jargon are huge hurdles to anyone other than a geek. Ubuntu (and a few other distros) are now making that part easier.
I've been running linux as a server for 12 years--I like it. But I wouldn't run it as my primary OS for several reasons:
1) I'm just not ready to abandon my years of comfort using my primary OS (and all the software I use)
2) I'm not convinced linux would be as trouble-free compatibility wise
FWIW.
I might know what I'm talkin' about, but then again, this is Slashdot...
The things you are bullshitting about are not *Linux* things.
Linux is 2 things:
Linux is an Operating System: In which case the parent is correct, most of the complaints belong elsewhere.
Linux is a Brand(tm): In which case the article author is bang on.
Linux-as-a-brand has a lot of issues. Don't get me wrong, I love the penguin and anguish over each day that I have to boot up my employer's OS to go to work. But as far as the parent is concerned, he's simply ignoring the issues the article has brought up by claiming not-my-problem.
I tried several times to complain that one of the major problems with linux is the lack of a installer. Yes is RPM and such but there is not an installer that is easy (I am programmer so ./configure is easy, try this with a regular user!)
I understand that one of the major problems is ABI
your code that runs in 2.6 will not run in 2.4
or KDE 3.x will not run in 3.x (no warranty about it will execute)
So the solution is to create an ABI layer which can emulate older versions (or newer if needed)
so the code will run without modifications
It's an ecosystem. A distro is a arrangement of chosen species at chosen stages of their development to all work nicely together. Even the kernel can be swapped out. This is as it should be. Everything moving, nothing set in stone. The only way to be part of this ecosystem is to be open source. Closed source will always be on the outside and will always be playing catch up and ultimately be left behind. This must scare the crap out of people on the outside as it grows. The GPL is so sticky, it just causes projects to snow ball and once an open source project reaches critical mass, how can you fight it? Any thing you do, it assimilates or by passes quicker then you did it in the first place.
There comes a point where we should simply not listen to criticism from pundits who have no knowledge of Linux and no willingness to understand the Unix/Linux way of doing things.
Just about the only point that is worth something is the audio API, and I believe there's a lot of people working on that issue already.
The rest are just things that he doesn't like because, well, he's unwilling to see the bright side of the way things are already done. They're non-issues, or at least they're a way of doing things by design.
The ABI issue will never change. Comes stright from Linus's mouth. Stop beating the dead horse.
ISVs don't have that many issues with packaging software. Java software works out of the box. We have Opera, Renoise, Oracle, and a host of other ISVs which have solved this issue.
Package management could be unified, but at this point it's a non-issue.
Leave the desktops and X out of the conversation. It's all there by choice and design. Won't change; most users who know a thing of two about it don't want it change.
I seriously don't understand why anyone would want a unified desktop solution. Windows' desktops sucks. OSX's desktop sucks in different ways. With Linux at least I have a choice.
hal/dbus support for esata plugged in drives
I've searched, and googled, but I can't find a reference to that quote anywhere, not on Wikiquote, nor google.
The only other place where something like that was mentioned was on somebody's blog.
Do you perchance know the book in which that quote might be found?
Cheers,
Anonymous Coward
Users.
Not sure if it's the nVidia video hardware driver (this also happened back when I had an ATI card and their drivers, so I don't think it's an nVidia/ATI thing unless they're both equally incompetent), or OpenGL, or X doing this, or whatever but... any OpenGL application just rendering its stuff, will be all fine-and-dandy at full framerate -- but only if I'm not doing anything. What do I mean by that? Doom 3, for example, has pretty much the same framerates I get in Windows; the environment around me animates fluidly and smoothly... except for when I move the mouse. Then it turns into a slideshow until I stop moving the mouse again. This happens with EVERY 3D APPLICATION, not just Doom 3. I want this to NOT HAPPEN. But, heck, "it might be a configuration issue -- Linux help forums will know how to fix it, right?" No, they don't, I tried, and I am extremely frustrated. I don't know if any Linux developers are even aware of this issue or have any kind of priority on it.
Slashdot requires you to wait longer between hitting 'reply' and submitting a comment.
Joe doesn't care.
and the integration of X11 with apps. Finally, he argues that Linux needs a committee to insure that all GUIs work consistently and integrate better on the back-end with the kernel.
First off, you don't "integrate" X with applications - the applications themselves call libraries that talk to X. Secondly, you don't "integrate" a GUI with the kernel - again, you call a library routine that talks to the kernel.
This is a great way to go if you're into non-portability, non-interoperability, and non-monolithism.
-- Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
Everykeyboard shortcut in every Cocoa app is configurable. It is just a conf file you have to change. Do a websearch of Erica Sadun's book to get the details.
NT-like security descriptors instead of those half-assed Unix permissions, a better scheduler that recognizes that my hard disk bandwith is almost always the actual bottleneck, not the CPU, and get rid of those crappy, illogical and bug-inducing POSIX thread synchronization functions. It's been done right once already, you only have to imitate that.
Bill: I know how to kill Linux!
Steve: How, Bill?
Bill: We'll get someone to suggest that committees need to be created to make Linux "uniform".
Steve: Oh, Bill. That's diabolical.
Bill: You said it, Steve. They'll be so tied down by the committees that their rate of innovation will slow to a crawl or die out completely.
Steve: Like I said, Bill: diabolical. I've never known a committee that's made anything better.
Bill: Yeah. Some times I impress even myself.
CUR ALLOC 20195.....5804M
steve jobs can make you fashionable
fuck that! If I ever see programs like cp become bloated with X library calls because some news reporter needs to see a GUI progress bar, I'm going to be very angry.
OK, but consider this...
Imagine that it's the shell that contains all that complicated stuff for managing a UI, handling progress bars, etc. - and programs running in the shell have a relatively lightweight way to report status updates to the shell.
Basically, I argue that "cp" shouldn't be an X program, but rather the shell should provide it with a simple way to display a progress report, which the shell would implement properly for different display types.
Obviously for a solution like this there's some forethought required, to choose the desirable trade-off point between functionality and simplicity... And a feature like this can't possibly serve every scenario perfectly. But if we step away from the idea of what a "terminal" traditionally has been, and think about what kind of data channels we want, what kind of relationship we want, between the program we run, the shell we run it in, and the display we use to interact with it... I think it's worth revisiting that. Is the current solution, where a program's output is expected to serve as both user display and data output for further processing, really sensible? It seems to me that chaining the two together limits both: the user display is limited by the need to have it be processable, and kept inflexible for reasons of compatibility... And for processing, the data format can't be made more efficient because that would interfere with its double-duty as raw-form UI.
Bow-ties are cool.
When the answer to a question is, "form a committee," you've got the wrong question.
Things I'd like to see fixed.
1. Storing and parsing configuration from text files: please move away from this. How about XML config files? Perhaps even compile these to byte code/compressed XML? XML that compiles to fully indexed configuration DB that allows strongly typed data even?
2. Dependency on legacy command line interface directly from 1978 (not kidding). Microsoft and others may be thinking of going back to command line computing with natural language semantic web 2.0 shizzle. You don't want them to do this first or this will be another thing that opensource technology community won't lead the way on. The big distros should find a way to bridge Linux's lacking GUIs with the ever powerful but difficult to master Bash. I've worked on this kind of software project before, but it was a fail - when windows 95 came along everybody forgot the command line, there was no market anymore so we canned it.
3. Expunge the legacy UNIX file system. Gobolinux is a breath of fresh air. No non-unix/unix clone operating system optionally uses such a unfriendly file system layout. No other operating system needs a package manager.
These are my only real beefs, because they are things I find I have to work around to make Linux work with the way I think and do things.
The beauty of Linux is it is free as in freedom, in that anything can be done, the sky is the limit. The ugly of Linux is that is not entirely true... Linux is very tied to tradition and it's community, who have learned to master their way of doing things and there is a hard core subset of which who don't really understand let alone care about the true end user and won't give up decades of hard-earned knowledge just to make it all more accessible. That said, things are continually improving with linux, it's hard to criticise because your critcism will eventually become invalid. I have high hopes for the future of Linux, but I don't see success - that is Linux actually starting to drive the PC without a lot of attitude change.
After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
API compatibility and dependency nightmares are one thing that makes using and maintaining Linux hard both on developers and on the end users. With some distros it's gotten so bad that you're better off not touching the system once it's running, ever again. You can't just download stuff of the net and expect it to compile. Even if - by pure chance - it does compile, odds are you'll break something else while you're trying to meet the dependency requirements. Libraries undergo severe changes not just between minor version numbers (bad enough) but sometimes also between builds.
The other big problem is the desktop usage scenario. X11/Xorg is a huge pain in the ass to configure, and worst of all, it has even more mindboggling design limitations. In the year 2008 you shouldn't be required to log off first before changing your resolution or before attaching another screen. Speaking of attaching another screen, say a projector during a presentation: forget it, it's not feasible with X. No amount of maturation will change that, it's a design flaw that can't be fixed. Neither can the huge complexity of the protocol. However, it's unlikely desktop Linux will ever start over fresh with a new display architecture.
On top of that come minor issues that nevertheless frustrate users immensely. Bad integration of GUI applications with their own desktop environment, much less with each other. In a standard distro, half the applications won't install, start up, or be usable in any meaningful way.
The system is designed from the ground up to not self configure, which is a big nuisance for end users. What happens when you plug in a USB device? A new network card? A webcam? Anything? Chances are: nothing will happen. If you're very lucky, some notifier icon will start to blink, maybe displaying an astonishingly cryptic hint about what to do next.
To be honest, I seriously doubt any of these issues can be fixed at all, even if the community was willing to care about them. The entire ecosystem is designed to behave that way, that's including the prevalent developer culture.
In Windows, I can have all kinds of Firefox tabs open, and switch between them while one is loading. In the latest Ubuntu (and all other versions of Linux that I have tried), I cannot do this. Firefox is far less responsive in Linux than in Windows. Even scrolling on a page with a lot of text can lag Firefox in Linux. In Windows this doesn't happen. There are also other apps where this is the case. Can anyone explain why this is? I haven't found a good answer on this.
All those are fine areas for improvement. ("Fix" is the wrong word because it suggests changing something and never looking at it again.)
Here's what drove me from Linux after using it as my desktop for the better part of a decade:
1. Lack of coordination and control by a single entity. I know this runs counter to the culture of Linux development. But, as a non-developer, it meant that I often had to locate my own sources for updates, drivers, tweaking info, etc. For some time, this did not bother me, but these days I've got better things to do. I want a single source for all that i need to keep my OS happy.
2. Things didn't always "just work," including basic things. I shouldn't need to manually edit an X11 config file to get optimum performance from my monitor. But you'd be surprised, or maybe not, at the number of distributions with automated install routines that claimed to know my monitor and my video card that still managed to botch the X11 config. The problem peaked when I moved into wireless thingies, which was the annoyance that precipitated my abandoning Linux.
3. I grew really annoyed at the apparent belief by some Linux developers that Linux is the exclusive paything of coders and that ordinary users should stay silent and grateful. Not all of them, of course, but the "code it yourself" response wore thin.
-- Slashdot: When Public Access TV Says "No"
So, you de-bunk a lot of the coarser points of what the dude says, but there are finer points to these issues that I think deserve attention...
1: Package Management: Remember it's not just the packaging format... If that were all, then it'd be (almost) adequate to just provide a tarfile. But what people want from a package is proper support for dependencies, as well as a clean removal option. Dependencies are the problem, since different distros (even based on the same package format) have different libraries and may not be entirely compatible.
2: Files under /etc can be backed up and restored... Well, the registry can be, too. Powershell gives you a shell scripting interface to it. I wouldn't say the registry is a perfect system but it does have its merits. What's nice about putting this stuff on the filesystem is it's relatively easy to explore - but this is mainly a matter of naming and style. In the registry a lot of things are referred to by GUID - which has the advantage of avoiding name clashes (whether from different apps or different versions of the same app) - but the disadvantage of being totally unreadable. QX, the registry was designed for machines, while /etc is more of a compromise between machines and users. What would be useful IMO is a compromise that still provides more of the advantages of GUID use and compact binary representation, without losing the user-accessibility at the shell level.
I think the name clashing issue is a real problem. In a filesystem, one expects everything to have a name (even if there is no sensible choice for a "name" for the thing) - and every name has to be unique, and the uniqueness of any given thing is purely a function of that name. This is a strategy that doesn't scale well. If two groups decide to give different things the same name, there's no sorting that out, it's simply a conflict. For now this works out reasonably well, not too many name clashes in programs, libraries, or configuration files... But the strength of all the GUID use in Windows is that these identifiers are smaller than most filenames but do a better job of distinguishing entities.
3: Kernel ABI
I'd add that the application ABI isn't entirely stable, either... Implementation changes in libstdc++ (within the same major version number, even!) mean that if you build something in one version of g++, and build something else in another version of g++, you can't rely on being able to dynamically link the two together. The result could be dangerous library symbol imposition resulting in, for instance, erroneous allocation handling or a crash. As with many of these issues it isn't a "Linux" (kernel) issue but something developers have to deal with when programming for Linux-based systems. I've always found the handling of symbols between dynamically-linked modules a bit problematic, really...
4: File Versioning
To me the issue here isn't the presence or absence of the feature (it's present in some form, I guess) - the more important issue is that, like xattr's, these aren't taken as a default assumption by most of the programs people regularly use. The features are there but mostly unutilized. This will take a lot of time to change.
6: I'm not clear on what features the guy wants the kernel (or some set of standard libraries) to provide to all GUIs. Object brokership? (I would like that, I think...) Something else?
7: His point was more about what happens after X crashes, I think - saying that what can be salvaged of your working session should be. But it is. The X server crashes, the programs realize they don't have a connection to a display server any more, and they shut down. Unless the apps themselves are crashed, they still have the ability to do a clean shutdown, save state, etc...
Bow-ties are cool.
Net Applications OS Trends [For 1 Dec 2208]
XP 66% -9% [from Jan 08]
Vista 20% + 8%
W2K 2% -1%
OSX Intel 7% +3%
Linux 0.8% +0.2%
OSX 2% -1%
All others 2% Unchanged
Top Operating System Share Trends
The iPhone has 0.4% of the market.
The iPhone as a platform has existed for less than one year. But as a presence on the web it has grown to fully half the size of Linux. Operating System Market Share
The year ends as it began. If you are a hardware vendor in the home and SOHO market, there is little reason for you to look beyond OSX and Windows.
All free software OSes are commercial OSes. Perhaps you meant to say "proprietary" instead of "commercial"? They mean completely different things; one is relevant to the issue at hand, the other is not. No matter, making a program proprietary hasn't been shown to make a program popular. I believe bundling some program with a computer makes that program more popular because I believe people tend to use what is put in front of them.
You hire someone and/or contract the service. Software freedom gives you more people and more businesses with whom to do business. In the free software community you can expect more in-depth technical knowledge because users can run, inspect, share, and modify the program. Proprietary software restricts how much most users can fully understand what that program does and how to fix it when it isn't working to your expectations. Proprietary software means you are led into a dual trap as someone hiring someone else to work for you (whether a consultant or hiring someone into a full-time position): only the proprietor can really make changes to the software so only the proprietor can be held to any substantive fix-this-now kind of arrangement, and the proprietor might not be willing to agree to the terms of your contract leaving you with nobody else to work with for your truly pressing technical issues.
Digital Citizen
I'm not trolling here, I'm genuinely curious...
What makes using multiple processes in an app better than threading?
I've used both in programming and a nutshell breakdown that I understand and that I've experienced is thus:
* Threading is quick and can "share" memory and resources but requires the programmer to synchronize access to shared resources through mutexes and such
* Processes have no such synchronization problem and *can* share memory but it's much more difficult to do so, instead making use of inter-process communication via pipes and unix sockets, which in my experience is much more time consuming and difficult than sharing memory via threads but still easier than sharing memory between processes.
Again, this is a nutshell and oversimplified comparison, but from where I stand, I've always thought threading was easier and quicker to use and works just as well, if not better, than multi-process apps. Of course there are times when it's more appropriate to use processes rather than threads.
Again, what's your take on the matter?
Comment removed based on user account deletion
I don't see many distros as a problem. As long as there is a level of binary compatibility between them. (there is! I use and ship commercial Linux binaries that run on everything from Slackware to Ubuntu to Fedora to the more obscure distros).
What horrible side effect of having multiple distros concerns you?
“Common sense is not so common.” — Voltaire
With the exception of the audio APIs, which I agree is a real problem, the remaining issues are mainly problems for proprietary software developers, and in some cases represent conscious tradeoffs. For example, lack of stable kernel ABIs is a feature. In my view, the main problem with stability on Microsoft platforms, other than bad third-party drivers, is the incredible complexity of the pile of legacy ABIs and APIs that they've signed up to maintain for effectively forever. The Linux kernel's decision not to freeze the ABI has helped it improve quickly.
Is why everyone sees the plethora of distributions as a minus? This is not Windows, where you have multiple versions by practicing feature stripping (Ok Gnome feature strips but thats only so that they can get it to work :O) each distro adds something based on the creators vision. Best of all, you don't have to use it, and not using it won't hurt you or anyone else.
Out of the cloud has appeared such stars as the current glory hog Ubuntu. In the past dozens of others have had their moment in the sun. Most have actually contributed to the good of the whole. Heck if someone hadn't thought Slack was doing it wrong we never would have gotten RH or Debian, then were would we be.
If you want plodding stability. Go with RHEL or Debian Stable. You are guaranteed to be so far back from the edge it isn't even in sight. At the same time you are guarenteed that your code is sufficiently vetted as to have limited problems. Additionally it's advisable to stay away from laptops, wireless, and cloud computing as these are still areas of heavy change.
Seriously I'm tired of people(sheeple) who stand on the periphery, of Linux, capable only of pointing to every imagined flaw, while they type out their punditry in M$Word on Vista.
Oh and a note, my last Winbox was a Windows 95OSR2 system. Don't need M$, I tolerate my wifes MAC, and miss my Amiga.
I'm sorry, I'm to tired to be witty at the moment so this message will have to do.
the kernel application binary interfaces are a moving target
Which is by design, so that the developers can fix bugs and introduce new features quickly without carrying compatiblity baggage. If you want your driver to work everywhere, open-source it and make it part of the kernel.
a consistent configuration system, to enable distribution
I can't even parse this one, what does configuration have to do with distribution?
audio APIs
Then what the hell is ALSA?
the integration of X11 with apps
What does Xorg have to do with... oh waaaait, he doesn't even know what he's talking about! He's confusing the kernel with the operating system. What a moron.
When will people finally learn that Linux is the kernel and the whole thing is called something else, be it Ubuntu, Gentoo or Debian. His argument is the equivalent of saying that Windows sucks because Google Earth isn't integrated with Skype.
When will people finally learn not to clump them all together in one? These are different operating systems. They are not even different versions of the same thing (like Vista and XP). They are separate things.
Ugh. I wasted my time. . Finally, he argues that Linux needs a committee to insure that all GUIs work consistently and integrate better on the back-end with the kernel."
It's Market Share. That's what needs fixing.
All of the main distros have the same set of major third party software. With some variances between them on the more obscure packages. Packing up software is not some major undertaking, which is shown by how quickly new distros can pop up. Figuring out what versions to ship with and what patches to apply can take a fair amount of work, but if you were on any mailing lists you would have realized that a lot of this information and these patches are shared between different distro groups and applied to their own release schedule.
The real reason we have so many different distros is that we have 50,000 Linux users that want to work on packaging, but it only takes 5-500 to package a complete Linux install.
“Common sense is not so common.” — Voltaire
What would be useful is the option to have applications running under X killed along with it, so that if X needs to be killed and restarted, you don't wind up losing your entire user session. Failing this, it would also be useful to have a window-manager API that allows for the easy storing and resuming of a session in the event of a crash -- something that does happen on an app-by-app basis (Firefox, for instance, does this), but which would be useful to have available in a global implementation.
Properly behaving X applications terminate when the X11 socket closes on them. If your widget library can't figure it out, then it's a serious bug with the library. It does not normally behave this way. As for saving sessions, Xsession manager is 20 years old, it's just that "modern" libraries like GTK and QT decided to ignore it. If you just run Athena, Motif or OLIT you'll discover a lot of functionality that was lost with the "progress" we had in widgets and window managers.
Full state saving is a bit too complicated to handle at the window manager or even widget library level. Because it can be highly application specific. For a Firefox style saving, you only need to keep a list of attributes to remain non-volatile, which is something that Xsm can handle. And applications like text editors and IDEs would have to do their own special thing to save a back-up of modified editor buffers and other bits of "large" data that you don't want to move back and forth through Xsm.
“Common sense is not so common.” — Voltaire
Linux as a platform does need some standardization. Right now Linux is one of the least developer friendly platforms to target when it should be the most developer friendly.
1. Some standardized interfaces that are disto/gui/hardware neutral would be great. There are interfaces out there but you can't tell me a community made up of mostly developers can't come up with interfaces that are more developer friendly than windows.
The first thing people do to justify the lacking in this area is cry out that proprietary vendors can live with it or say its possible to target Linux anyway see Loki. Just because you could fill your car by siphoning the gas from the tank in the ground instead of using a pump doesn't mean you want to. And some open developers might want to release distro neutral packages instead of tarballs and might not want to pray distro x decides to include their package.
2. I haven't dug into the internals of X so I won't say much about it but there is obviously a fundemental problem with the way hardware is handled by X. It can't support dynamic reconfiguration. Has a great deal of problems with handling secondary displays or the addition of displays without having to 'reboot' X. X auto-detection has improved over time but still needs work.
3. We have standard and reliable cli tools that can be used to configure a linux system without regard to distro or almost without regard to distro. What we need now are similar tools for the GUI. The cli is powerful, it is great and it should be kept that way. That doesn't mean we have to neglect the GUI either. There are great tools in a few user friendly distro's but its time for standardized gui tools that can used in all distros.
Hey, just to throw in a wacky idea. If we are talking about standard gui configuration tools. How about we standardize their identity based on the graphical icon instead of based on the name. Like in the old days of tech support you would direct the moro... err customer double click the big blue E or the N rather than the name because the vendor could have relabeled the shortcut.
These are things that would make Linux more developer friendly overall regardless of what sort of license the developer has in mind.
These changes would make the system user friendly without compromises in terms of power and flexibility. And they would make the system easier to support. If all I have to do is find the configuration tools menu with grandma and then have her open the blue monitor or the two blinking computers without regard to her specific distro and then guide her through a standard tool then sudden it becomes possible to support linux remotely.
Brilliant. You hit some very large nails straight on the head there.
We can add to this: People cannot properly update the docs. When people file trouble reports and fixes they are often not distributed. Here is an example.
Several years ago there was a Debian configuration issue with Grip. I managed to get it installed and posted on source forge a documentation update request. In this request I put complete instructions on how to diagnose and how to fix the problems... largely they had to do with virtual SCSI configuration issues and permissions. Now clearly the GRIP developers had not tested their software against some major platforms. How difficult would it be to get up a testing group for instance that actually does quality assurance verifications on all major distros and platforms? Surely it can't be that hard and its not rocket science to realize how badly this is needed.
The issue is that a year later in the IRC channels another person was trying to install and sure enough.. the docs had still not been updated. 18 months later the situation had still not changed.
This is painfully ridiculous folks.
To the list in the parent post I would suggest training is a major issue. We need teachers who can package the knowledge in our Guru's heads and distribute it. It simply takes forever to weed through the terrible docs that we currently have and learn how to do things. Furthermore its not fun.
Let's use apache as an example, threading MPM vs. forking MPM. Note that forking is the original heavyweight threading model.
Apache gets a request on port 80, forks a copy of itself, and starts processing the incoming request. Now if that forked copy throws an exception, it won't kill the master port 80, or the other 10's or 1000's of child processes that are still processing requests. Access to shared memory has the same problems as threads - it must be synchronized, and access must be explicity granted.
With threading, all this is cheaper and faster, but it's also far less robust. One thread deferencing NULL improperly and they all die.
Why don't you send less time complaining and more time fixing. Open source is open for a reason.
All the third party things Microsoft has the 'benefit' of aren't really things I want to see in Linux. Proprietary divers that never see anything but a buggy revision zero, viruses and trojans, buggy antivirus software, iTunes, horrifyingly bloated 'user experience' software that printers need DRMed games that infect ring 0 to take control, third party wireless networking software that can't be removed without pulling out the driver.
Once I wanted to flee from Windows to get away from Microsoft, these days, Microsoft seems like the most attractive part of windows, and everything else is why i want to avoid it.
Liberte, Egalite, Fraternite (TM)
They then sometimes destroy all the good work by including macrovision's flexlm abandonware which will only run on specific kernels due to a botched use of an abandoned multithreading implementation in something that doesn't need it, so then you find this wonderful software written in 2008 won't start due to a thing released in 2001. So yes, there is still room for improvement (but I think RHEL handles legacy issues like that properly).
It would be nice to have a release that has no new features and is just a tidy up of code once in a while. Something i get the impression the stable branch used to provide!
IranAir Flight 655 never forget!
Linux needs commercially-hosted backup and restore? Where oh where might I find an rsync server?
And the audio stuff? In Windows, you use the Windows sound system for normal apps, and ASIO for low latency. In Linux, you use ALSA (or one of wrappers/libraries designed to make your life easier) or JACK for low-latency.
This article is a bunch of non-problems. I understand that Linux has problems IF its goal is to nail down commercial usage. But, damn, it seems to be making respectable progress in that regard, as well as progressing by leaps and bounds in other areas. My laptop wouldn't have worked very well at all a year or two ago. On Intrepid, everything works out of the box (minus the camera, which requires firmware that you can't download anywhere).
Please stop stalking me, bro.
A few years ago I did this by giving users an icon to run a very simple bash script that called the "switchto" program. This was to run some very old programs that could only handle 8 bit colour, so I ran them in another X session.
Now it is a lot easier in distributions like Fedora. There is a "switch user" icon on the gnome and KDE toolbars that lets you start or switch to another X windows session - just like the old SGI desktop switcher or the newer Win XP one.
At home however I still use the old (ctrl)(alt)(f7) or (ctrl)(alt)(f8) to switch between the display I use on my monitor and the one on my TV for watching movies.
The author obviously hasn't seen SpiderOak which has offered linux (and cross platform) commercial backup for some time now.
I've been running it on Windows/Linux servers and desktops with great success.
And no, I don't work for SpiderOak. And yes, it does zero-knowledge encryption so no-one including SpiderOak can read the data. (That also means no password resets - which I think is a good thing)
when things are planned by a central comittee. That's Socialism. Communism is defined as each person contributing as they can and taking what they need. That's what Stalin Wrote About and it applies as well to Linux/Floss as it never did to Soviet Russia.
Mod me up/Mod me down: I wont frown as I've no crown
I misquoted it from Hogfather because I was being lazy and didn't look it up....
My edition is the paperback from HarperTorch, an imprint of HarperCollinsPublishers, 1996 (don't see an edition number)
ISBN: 0-06-105905-6
Page 85 (Just after Death visits Susan and deliberately doesn't tell her anything)
Someone had to do something. It was like that time when Twyla's grandmother had started telling everyone that she was the Empress of Krull and had stopped wearing clothes.
And Susan was bright enough to know that the phrase 'Someone ought to do something' was not, by itself, a helpful one. People who used it never added the rider 'and that someone is me'. But someone ought to do something, and right now the whole pool of someones consisted of her, and no one else.
Twyla's grandmother had ended up in a nursing home overlooking the sea at Quirm. That sort of option probably didn't apply here. Besides, he'd be unpopular with the other residents.
(Emphasis mine)
Come play free flash games on Kongregate!
I know slashdotter's like to save time when writing responses, which is usually why they don't read the article. With that in mind I've written up some template posts to this article. Just use shell variable substitution to customize your response.
Linux doesn't need to be fixed. $FEATURE is not a feature, lack of $FEATURE is a feature. Every other operating system, especially the ones with higher market share, need to be fixed by removing $FEATURE.
$FEATURE is contrary to the spirit of free software as laid out by Richard Stallman, and thus it would be immoral to implement $FEATURE. Anyway, if you want $FEATURE, feel free to download the source code and implement $FEATURE yourself.
People who use $FEATURE are dumb and lazy, they should use the command line and flat configuration files instead. Using an operating system without $FEATURE makes you smarter, and generally better than other people who use $FEATURE.
$OSSOFTWARE already implements feature. See it's listed among the features on the $OSSOFTWARE.org web page. All you have to do is go to $OSSOFTWARE-devel archives from three years ago that implements it, and patch the compatible version of the source tree from that time frame, and get the compatible versions of the library, and then edit these lines in these source files by hand so that it will work with the latest version of ubuntu. I mean, *I've* never done it and don't know for a fact it works, but It's there if you want it.
You can do $FEATURE in emacs. All you have to do is write a little emacs lisp.
$FEATURE already works for me.
$FEATURE is implemented in $DISTRO, why do you use $OTHERDISTRO? Just install $DISTRO.
$FEATURE is in the next version of $YOURDISTRO, just nuke your six month old install with the new $YOURDISTRO. Otherwise, use these upgrade instructions that 6 people have tested. Works for me.
$FEATURE only works with NVIDIA's proprietary graphics card drivers. Of course, $DISTRO doesn't ship with those drivers because that's against software freedom. Blame NVIDIA for not releasing their software as open source.
If you really need $FEATURE, why spend $MONETARYQUANTITY on $PROPRIETARYSOFTWARE when you could just spend the next three years fixing $OSSOFTWARE? Do you work for $MISSPELLINGOFMICROSOFT or something?
These carefully crafted argument formulas should help you convince everyone else on slashdot that Linux is already *fine* and that this year is *definitely* the year of the Linux desktop. And if not, it's because of something evil Bill Gates did.
Most of TFA's criticisms of Linux assume that the lack of standardization is a problem. I say that this is the level of customization Linux users have come to expect.
One of the key features in Windows is that the graphical shell is basically hard-wired into the operating system. While this allows for the GUI consistency that the author seems to value most of all, the GNU/Linux architecture was never meant to do so. The result is great flexibility in how the machine's state is presented to the operator. The price, of course, is that any number of graphical libraries end up being used to write programs.
I like the idea that a distribution encompasses a large amount of software that can be installed from a single vendor. While this requires that software may need to be installed from many repositories, in practice it is not difficult to find a repository with the software that is needed. Package management is handled differently, because it achieves greater flexibility and security. It's the very idea that you must go to a vendor and download an executable that installs the package that Linux intends to avoid. Instead, the vendor provides a crypto signature that identifies their packages, and a repository to download them from. This way, the vendor's signature can be verified before installation, and no arbitrary privileged code is executed, as the package manager is invoked for installation. The package manager program can be monitored for changes to ensure that the installation procedure is always the same. This is not the case for most Windows installers (though MSI files are better than an EXE). Any software obtained through a repository will be automatically updated as the vendor provides new releases. While core Windows functionality may be checked regularly, each installed program must provide its own automatic update process rather than using the system updater. Having a single system updater is superior architecture since it minimizes the amount of privileged code that much execute.
The graphical/multimedia desktop is undoubtedly more complicated as there are competing design philosophies. While the general concept of one-click execution is present in even the most basic window managers (TWM, WindowMaker, BlackBox, etc.), other window managers attempt to provide a more unified interface to the system. On the other extreme, there is KDE, which provides many integrated services (such as audio extraction from CD) directly into the windowing system. Middle-of-the road desktop philosophies such as GNOME provide graphical and VFS consistency, but the same audio extraction task requires the installation of a separate program. In the end, however, every one of these environments can be quickly customized to provide efficient graphical shortcuts to any software that is installed. In most cases, the vendor's package will provide these shortcuts, and they can be placed in the "Start" menu, on the desktop, or in a quick-launch style configuration on the taskbar. There's really no difference in the end result, nor is there any appreciable difference in effort involved.
While there's some truth to TFA's criticism of the competing audio subsystems, in practice there's not really any issue. PulseAudio, included in Ubuntu 8, provides a unified interface to both ALSA and the legacy OSS driver, allowing for simultaneous use of the audio driver by both ALSA and OSS apps. Again, a simple one-time configuration, and the application is still launched with a single click.
TFA complains about the need to kill the X server should it crash. In practice, it's only buggy video drivers that will cause that to happen. Fair enough, I've seen Windows Vista successfully reload a crashed video driver. Still, anything prior to that version of Windows would require an entire system restart in this situation. Simply restarting X is preferable to the entire system restart.
Finally, there's some discussion about things that make binary-only development for GNU/Linux annoying. Of course, you could look at it the oth
"Please describe the scientific nature of the 'whammy'" - Agent Scully
We just need a "Year of Linux"
is to decide whether it really wants a year of the linux desktop.
If it does, it needs to wake up, smell the coffee, and work on some serious standards.
If it doesn't, it can keep doing all the stuff it does now.
There's absolutely nothing wrong with the way linux works, there's nothing wrong with only working with other free software, changing every interface whenever it's convenient to do so and forking every five minutes. Absolutely nothing, it's part of what makes Linux great.
However, it's also the reason there will never be a year of the linux desktop.
I see some people here mentioning the number of different GNU Linux distros, as well as the number of different package managers.
Why do most people consider all the different GNU Linux distros to be the same OS, just because they share the same kernel? And fail to execute the same view when it comes to Windows. In my opinion, each Linux distribution is an OS on its own merit, and should be treated as such. Porting applications to "GNU Linux" might be a tough cookie, but porting applications to a specific distro and version is not.
As for things that needs fixing, get the audio fixed already. The OSS API is horrible, ALSA has its own share of issues, while PulseAudio is laughable.
Jack works fine if you need low-latency, but isn't what I would call painless to use. It would have been great if, you know, more than one application could have access to the audio board simultaneously?
Four years ago, I had some problems porting POSIX (from LynxOS, RTOS UNIX) application that did signaling, because of not fully Linux compliance (I'm not sure if it is already corrected the case of sending a signal to the PID and be able to handle it from any of their threads, instead of having to do it in the main one, because of the Linux thread setup as processes).
As additional need/desirable, I would enjoy the possibility to enable hard (or soft) realtime OS capabilities on the fly, just like: "echo 1>/proc/rtos"
There is a major problem in Ubuntu which the Ubuntu community seem unable to comprehend. n the Screen Resolution dialog in Ubuntu 7.10 it was possible to change what type of monitor you are using if X.org was unable to properly detect you're hardware. This functionality was removed from Ubuntu 8.04 and Ubuntu 8.10 and Kubuntu 8.10 with KDE4. The Ubuntu community seem completely unable to comprehend why this is a problem, however users who try Ubuntu and install the drivers for their video cards find themselves locked in at a resolution of 640x480 with no clear way of fixing the problem. In 7.10 it was as simple as opening the Screen Resolution dialog and changing what monitor you have, but now that functionality is gone. This is a big problem that can put off new users from ever giving Ubuntu or Linux in general any serious consideration and that is unacceptable.
Michael "TheZorch" Haney
thezorch@gmail.com
http://thezorch.googlepages.com/home
What I mean is that I can run KDE 4.2 Beta on my smokin' fast laptop with a shitload of eye candy and with a snazzy configuration utility of a major distro like Suse or Fedora or Ubuntu, or.....
I can run Linux on my $50 350mhz laptop with a tiny window manager like JWM and still have enough juice left over to run a smaller Gecko-based browser like Kazehakazi and OpenOffice.org (believe it or not, it's actually usable), and still get the same functionality of being able to use my old lappy as a productivity machine.
That's what choice offers. It's not choice for its own sake. It allows me to extend the life of my hardware almost but not quite indefinitely.
I shudder to see the day when there's only one window manager for Linux, one browser, one word processor, etc.
Instead of all this dork gibberish, why not get Flash to work properly and the desktop icons to play nice with one another?
Walk before you can run.
linux needs to be like a virus:
it needs to scan the (local) network for
computers and then "infect" them with linux.
the idea of a future OS is notthat it
lives (runs) on one computer, but on all computers
at the same time.
there is hardly any household with only one
computer anymore. but some things, like
peripherals are available on only one computer.
why, if there are 2, three, five computers
in a household, can one not use them all at the same time (CPU, RAM, HDD, sound, etc.)?
why, if i have 5 computers, maybe a pentium 3, pentium 4 and an opteron machine, can i not harness ALL of them at the same time? why do i need to buy an new computer for every new game that needs more power? why can one not just a another low end computer to the overall
linux-web to satisfy the game/program requirements/demands?
this would be very cool and less hardware junk in the landfills ...
that's what's missing in linux.
KDE and GNOME.
I, personally, hope that GNU/Linux systems are never that standardized. It may be a setback for the community as a whole. I really do not care. Choice is why I moved to Linux. If that choice disappears... I may have to use BSD, Solaris, or something else. The more standardized and popular an OS becomes, so the attacks on its security. The more standardized, the less customizable. The more standardized the more prone to failure when trying to use older legacy software... I hate it. If GNU/Linux becomes more standardized across the board, I will have to make my own distro and add to the plethora already there, just to be a rebel. Then again, there is always GoboLinux.
I do all my work on linux, and use it as a desktop. My shortlist:
1. Suspend/Resume/Hibernate. Right now it works about 90% of the time, which makes it completely useless.
2. Wireless networks. I think it's almost there, but it's still hard to manage various configurations. (wired or wireless static ip at home, dhcp wired at work, dhcp wireless at the coffee shop).
3. Display/resolution. 1920x1200 at home, dual monitor 1400x1050 1280x1024 at work. Can probably get this workign by futzing around with xorg.conf - but it should be easier than this.
This would make it easier for developers to write for Linux. Without this, we have what we have today. No one wanting to write apps for Linux because of the installation headaches.
There do need to be more standards/APIs, more mechanisms that allow program intercommunication, in Linux, and that's essentially what they are saying is needed. Everyone agrees on that point. I want my KDE apps to install and function correctly and in harmony with Gnome, and I want my Gnome apps to do the same in KDE. Linux needs to think about it's "framework" and how to improve it, to make it easier for developers to write software for Linux, so that they get a much more "instant integration" experience as opposed to having to write two zillion lines of code just to ensure that their program functions correctly with other programs. Two things are really needed for Linux:
1) More Linux programs (and games!) and drivers.
2) More Linux APIs so that #1 will be easier.
Promote true freedom - support standards and interoperability.
Browsers, Cell Phones and ATMs are very easy to use for an average person.
Hence I'd suggest Vendors to make Linux as easy as Browsers,ATMs and Cell Phones to use.
I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga