Slashdot Mirror


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."

22 of 865 comments (clear)

  1. new mascot by Anonymous Coward · · Score: 5, Funny

    I'm tired of that penguin

    1. Re:new mascot by morgan_greywolf · · Score: 5, Funny

      I propose a way to show that Linux is an OS for rebels. Maybe a little guy with horns and a pitchfork to show how we're a little bit evi....

      Oh, wait. Nevermind.

  2. Re:One thing is for certain. by armer · · Score: 5, Funny

    I am sure that only sane, rational, and courteous debate will follow. Finally an argument-free thread!

    I disagree you insensitive clod!!!

  3. Please let us know when the author is done by ishmalius · · Score: 5, Funny

    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.

    1. Re:Please let us know when the author is done by rgviza · · Score: 5, Insightful

      Actually the author is the problem. The title should be "The problems with packaging my proprietary software for Linux Distros and keeping the packages up to date".

      The kernel has little or no bearing on the problem. The way he worded the title, he implies that "Linux" (the kernel) is the problem, when in reality the problem is he (and other proprietary software developers) don't have the time to make a package for each distro and keep up with them all.

      The reason "open source" sucks for Joe User is that Joe User often wants functionality that is sometimes only available in proprietary software which the distro maintainers are not allowed to distribute and package.

      Therefore he has to go out and find the software and figure out how to install it.

      It has nothing to do with linux or open source, rather it has everything to do with proprietary licenses and their restrictions on re-distributing the binaries.

      If Joe User wants to avoid these issues, he just needs to pay for all of his software and run Windows. If he wants to run free software, along side this proprietary stuff, it's gonna take a little elbow grease. The people with the technical know how to make Joe's life easier, are _not allowed_ to help beyond documenting what needs to be done to make stuff work.

      This means poor Joe has to use google and find the info and do it himself, or do without whatever software it is he needs.

      FOSS doesn't suck for Joe, the proprietary licensing and distribution restrictions do ;-) The only thing that will fix it is if these people release source for their binaries and/or license the binaries in such a way that the distro maintainers are allowed to build packages that work and distribute them with their distro.

      Open source developers and distro maintainers are powerless to fix the situation without more flexible licenses.

      -Viz

      --
      Don't kid yourself. It's the size of the regexp AND how you use it that counts.
  4. What linux ACTUALLY needs by drinkypoo · · Score: 5, Insightful

    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.'"
    1. Re:What linux ACTUALLY needs by Xabraxas · · Score: 5, Insightful

      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?

      Yes it is too much to ask for. Windows is the dominant OS in the consumer market and it doesn't even meet your standards. A pre-configured Linux computer should work but when you install the OS yourself on a huge range of commodity hardware then it probably won't "just work" whether you're installing Wndows or Linux. I always hated this argument because it assumes two things:

      1. A stand-alone windows disk installs and "just works" without any configuration on any computer
      2. Linux is going to become mainstream by people installing it on their own

      Neither of these assumptions are true. Windows often at least requires some third party drivers to be installed. Linux generally does not. If people had to install Windows themselves on every PC they bought then the majority of average computer users would probably be using Apple products. People don't want to mess with configuring anything no matter what OS they are dealing with. The real problem is that Linux doesn't have a "killer app" or feature to lure people into using it. People fear change and there has to be a compelling reason for them to switch. If such a "killer app" is created for Linux most likely it will just be ported to Windows unless there is some underlying architectural difference that prevents it. I've been a Linux user for years and I thought it was a good enough replacement for average users years ago but I've realized since then that it's going to take more than just being "good enough" to make a dent in Microsoft's OS marketshare. I'm just sick of hearing all the BS reasons out there. It's always "the install sucks, X sucks, the kernel ABI sucks, two desktops suck, thousands of distros suck", etc. None of these things have anything to do with why Linux is not on a large percentage of desktops. I could start a business today that sold computers with a fully functional GNOME desktop and I probably wouldn't do too well and that eliminates the "install sucks, kernel ABI sucks, thousnds of distos" and "two desktops" arguments. You're left with "X sucks" which I haven't actually found one person that can articulate why "X sucks".

      --
      Time makes more converts than reason
  5. Re:Problems: by O('_')O_Bush · · Score: 5, Insightful

    It's a cultural thing. There's a difference between designing a distro for a need (I.E., embedded, desktop, server, special applications) and going gun-ho into creating a new distro organization for nearly every new feature.

    That's the problem that I see with all of these niche distros. Many rarely see a user, simply because they're either indistinguishable from their dozen other competing niche variants or their features are already blanket covered by another distro.

    --
    while(1) attack(People.Sandy);
  6. Third parties should make repos, not packages by Ed+Avis · · Score: 5, Insightful
    I'll leave others to comment on the rest of the article but I liked this one nugget:

    One thing that might help is a kind of meta-package format: a file which, when downloaded, is run by a client native to the given distribution. The client then goes to the software repositories for the program maker and obtains all the right packages to make that program run on that particular machine.

    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
  7. that's easy: USB, video and documentation by petes_PoV · · Score: 5, Insightful
    The list's the same as it was 10 years ago - and will be in 10 years time.

    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
  8. Almost everything he complains about is wrong by Eunuchswear · · Score: 5, Informative

    He complains:

    1. Poor package management.

      The way packages are managed within any individual distribution is entirely up to the maintainers of that distribution.

      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?

    2. Configuration files.

      There needs to be a consistent -- and whenever possible, self-documenting -- configuration system throughout, from the kernel to userland tools and user applications

      I know! Let's recreate the windows registry, but this time better!. Yawn.

    3. Unstable Kernel ABI. FUD.
    4. He wants a versioning filesystem. Like Windows has. (Does it?) I want a poney.
    5. Audio API. He says there are too many of them.
    6. The GUI is anarchic. (I see no black flags).
    7. X11 is not integrated with the apps. What the fuck does this mean.
    8. He wants "commercially hosted backup and restore". Maybe if he thinks there's money in it he should start a company instead of sitting on his fat ass and whining.
    9. Conclusion "Most of what's wrong with Linux isn't fatal", replacing it by a Vista look-alike would save all his problems.

    Just about the shittiest article I've read for a long time.

    --
    Watch this Heartland Institute video
  9. Re:Linux is like Wikipedia by Anonymous Coward · · Score: 5, Informative

    > 1. Filesystem metadata/permissions. An example would be that a file should be able to keep a list of all the dates it was accessed.

    Makes things slow. Most distros turn off logging the 'atime' (access time) because this requires writing to the disk on every read.

    > Why can a file only have one owner/group?
    To keep things simple, the GUI is kept this way. You can make it as complicated as want though with Access Control Lists - just like you do in Windows.
    For a GUI way to set this, see something like: http://rofi.roger-ferrer.org/eiciel/?s=5

    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.

    This is called SELinux and is installed with pretty much every distribution. But for what you want, the users should instead use encrypted home directories.

    > 3. They lie about everything is a file. Why not extend this to networking resources ('cd http://www.gnu.org/ [gnu.org] would be cool ).

    This is called FUSE, and is included with every distribution.

  10. Re:Problems: by eln · · Score: 5, Insightful

    The idea that the purpose of Linux, and Open Source in general, is to beat Microsoft has done more damage to the movement than just about anything else. It forces people to think in terms of how to obtain market share rather than how to improve software and advance the cause of free software.

    The biggest single advantage of the free software model is the ability to innovate quickly, because there are more people working on it, and those people have more freedom to tinker around without having to worry about being profitable this quarter. However, since the vast majority of people in the movement these days seem to be primarily concerned with copying Microsoft products in order to beat them at their own game, real innovation is being stifled.

    The fact that most major Linux distributions come with a default desktop that mimics Windows in many ways is testament to this fact. It's time to face facts: For most people, it's never going to be the year of Linux on the desktop, and that shouldn't be regarded as a failure to anyone. The end goal of free software is not to defeat Microsoft. Free software is a goal in and of itself.

  11. Re:Linux is like Wikipedia by amorsen · · Score: 5, Interesting

    An example would be that a file should be able to keep a list of all the dates it was accessed.

    Fixed already. Extra attributes have been available for a long time. Feel free to use them.

    Root is God.

    Fixed. SELinux.

    Why not extend this to networking resources ('cd http://www.gnu.org/ [gnu.org] would be cool ).

    Hard to do in kernel space. We're getting there in user space.

    --
    Finally! A year of moderation! Ready for 2019?
  12. Not bad, but... by mlwmohawk · · Score: 5, Interesting

    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
    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 /etc are, IHO, better and can be backed up and diff-ed.

    (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.

  13. Remote desktop by lord_sarpedon · · Score: 5, Insightful

    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?
    -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 :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...

    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
  14. Some complaints are not valid by GooberToo · · Score: 5, Insightful

    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.

  15. But that is what Linux IS by SmallFurryCreature · · Score: 5, Insightful

    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.

    • They offer no protection against the rain.
    • There is no seatbelt to keep you on your seat in a collision.
    • With just two wheels they easily fall over.
    • Only room for a single passenger.
    • The law says you got to wear a helmet making it impossible to either drink coffee or fix your make-up depending on gender/sexual preference.

    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.

  16. Re:Problems: by Mistshadow2k4 · · Score: 5, Interesting

    pick one desktop.

    Why the hell should we have to? I prefer having a choice. Windows users have plenty of choices when it comes to desktops -- Litestep, emerge, talisman, Aston and many more -- so why shouldn't Linux users? Simple answer: NO.

    It comes down to this summary: Windows users are not used to choice, thus, don't give them any. Market linux to them as more secure. Be honest about some devices not working, explaining that the Microsoft marketing machine is simply more powerful, but Linux will get there someday. We should be able to point the average Windows user to "Linux", a single cohesive product.

    Clearly what you want is Mac OS X, not Linux. So use it instead of bitching that Linux isn't what you want.

    --
    I dream of a better world... one in which chickens can cross roads without their motives being questioned.
  17. Re:Problems: by LS · · Score: 5, Insightful

    Free software is not monolithic entity with a single purpose in mind, and never will be. That is why there are so many licenses. Who are you to decide what free software's goal is? Seriously, what makes you think you can tell other people what their motivation for developing software is? If people want to write software to compete with Microsoft, that is their right. Every person involved has a different motivation from the next.

    Laying this kind of idealistic thought process on people stresses them out.

    LS

    --
    There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
  18. Re:Problems: by Infamous+Tim · · Score: 5, Insightful

    Do nothing at all! This isn't a problem, it's a symptom of a healthy open source movement. If anything, be happy that there's so much interest in Linux and open source.

    The kernel and tools that constitute a Linux distribution are open and free, and there is nothing you can do, legally or otherwise, to prevent someone from creating another distribution. This is the very essence of open source and the GPL, the thing that gives it (and you) so much power.

    And it's not like a lot of these smaller distributions are expecting a huge following. Often they fill needs or particular niches and are usually happy remaining small and focused upon a certain thing. This isn't a competition by any means. You don't win any prize for having the most users of any distribution (RedHat notwithstanding). To think this way is treating Linux as a vehicle to stroke your own ego and is an incorrect attitude.

    --
    checking for libvirus... no
    ERROR, libvirus.so not found, terminating
  19. Comment removed by account_deleted · · Score: 5, Funny

    Comment removed based on user account deletion