Slashdot Mirror


Linux Foundation Promises LSB4

gbjbaanb writes "Ever thought it was difficult to write software for Linux? For multiple distros? InternetNews reports that the LSB is making a push for their next release (due out later this year) that should help make all that much easier. Although the LSB has not lived up to expectations, this time around Linux has a higher profile and ISVs are more interested. This is to help persuade them to develop applications that will run on any LSB-compliant Linux distribution. If it gets adopted, LSB 4 could bring a new wave of multidistribution Linux application development. 'It is critically important for Linux to have an easy way for software developers to write to distro "N," whether it's Red Hat, Ubuntu or Novell,' [said Jim Zemlin, executive director of the Linux Foundation.] 'The reason you need that is because we don't want what happened to Unix to happen to Linux in terms of fragmentation.' The LSB defines a core set of APIs and libraries, so ISVs can develop and port applications that will work on LSB-certified Linux distributions."

194 comments

  1. What is LSB, you ask? by RandoX · · Score: 4, Informative

    The Linux Standard Base, or LSB, is a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the internal structure of Linux-based operating systems. The LSB is based on the POSIX specification, the Single UNIX Specification, and several other open standards, but extends them in certain areas.

    http://en.wikipedia.org/wiki/Linux_Standard_Base

    1. Re:What is LSB, you ask? by Anonymous Coward · · Score: 2, Insightful

      Thank you. fscking acronyms... If you're gonna use them, at least define them once up front, kinda like a variable. If I see one more article using SMB or SMS without hinting at which of the numerous meanings they mean, I'll puke.

    2. Re:What is LSB, you ask? by Jason+Earl · · Score: 4, Interesting

      The Linux Standard Base is essentially a farce. The Wikipedia article linked to above gives a pretty good overview of why, but the primary reason is that developers don't want a set of tests that they can run against their application to see if it is portable. They want a binary distribution that they can actually install their software on and test against. Originally that's precisely what the LSB was supposed to be. It was going to be a small installable distribution based on Debian.

      At the time Caldera thought that would be problematic, and so the current incarnation of the LSB was born. Not that anyone uses it, as it is a complete waste of time.

    3. Re:What is LSB, you ask? by turbidostato · · Score: 2, Insightful

      "Not that anyone uses it, as it is a complete waste of time."

      I don't know if it's a waste of time. I don't even know what the original motivations for the LSB were.

      But I do know what is meant for now: is an intent from some distribution vendors to make easier to coaligate with privative source vendors. Not that I think this is a good or bad thing for them to do, but I do know that's not a goal I'm interested in, so I don't give a damn about LSB.

      Making better/easier portable configure-like tools? Sure.
      Making stronger the LFH (Linux Filesystem Hierarchy)? Certainly.
      Giving more visibility to stronger engineering practices so evolution of (specially) libraries APIs is more stable, predictible and backwards compatible? Yes, no doubt.
      Giving a binary base for privative software vendors throwing their software wherever they like to, with half-assed start/stop scripts and without integration with the native package management tools of my distribution of choice? Really, what for?

    4. Re:What is LSB, you ask? by i.of.the.storm · · Score: 1

      Haha, that's Super Mario Brothers and Simple Message Service obviously /sarcasm

      I agree in general, although for stuff like that, context helps, but it's usually not enough.

      --
      All your base are belong to Wii.
    5. Re:What is LSB, you ask? by Anonymous Coward · · Score: 0

      esl? say what, say what what?

    6. Re:What is LSB, you ask? by Yfrwlf · · Score: 2, Informative

      Giving a binary base for privative software vendors throwing their software wherever they like to, with half-assed start/stop scripts and without integration with the native package management tools of my distribution of choice?

      Uh that's exactly what the LSB is trying to put a stop to. Currently, software installation sucks because it doesn't have integration with the native package manager. One of the reasons for forming a cohesive, extensible packaging API is so that any package can communicate with the package manager about it's existence. Normally, this isn't done unless you use packages for your specific version of your specific distro. This is beyond retarded, and will keep Linux fragmented and away from ordinary users who don't know what the fuck configure make make install means, not to mention have no clue how to solve problems in doing that when they arise.

      Currently the Burgdorf API is the incarnation of the LSB Packaging API and it would be nice to receive more help on such a critical issue. The article was spot on in saying that this will also lead to increased stability in other APIs as it's silly to install ten different versions of one library just because it's API isn't stable. Updating the library, that's mostly OK, but the rigidity of library APIs will become more apparent/annoying once Linux programs are actually portable (yes, I know binaries exist, I'm talking about packages for automatic updates, package manager awareness, etc).

      Everyone should support good standardized APIs for Linux to help make this happen. While some users will be OK with never installing any software outside their own little world except for what their distro maintainers bundle up for them, many users are interested in having direct access to so-called "third-party" programs, not only for their binaries but for automatic updates among other things. Who's not satisfied with being stuck with version X just because they're using distro X of a program they love? I don't think most users are, and they shouldn't have to wait for the distro gift if they don't know how to compile, or the annoyances of running a "disconnected" binary in which they have to create manual menu items for and manually update.

      If Linux is to ever be actually available to the masses, for it to gain momentum through the easy sharing of software outside the box which is the immediate software repository, and make it actually easy for Linux software developers to write software for any and all Linux distros without their blessed consent, this project is critical. Any user that wants free, unfettered, easy access to software has every interest in installing the LSB packaging API or using a distro with it already installed.

      P.S. Yeah, there are other answers like Klik, Autopackage, Zero Install, and others, but an API to allow any package to be installed so that it will provide immediate integration with the package manager is much more helpful. Until the packaging API is finished though these solutions will help.

      --
      Promote true freedom - support standards and interoperability.
    7. Re:What is LSB, you ask? by turbidostato · · Score: 1

      "Everyone should support good standardized APIs for Linux to help make this happen."

      So indeed, as it would be a good thing to have a workable solution for some standard so a package could "talk" to a package manager.

      But that's not LSB. LSB is about freezing binary compatibility, up to the ABI level, so all distributions look the same to a binary only third-party. And, for the most part, it is so all distributions look like... Red Hat. If I wanted all distributions looking like Red Hat, I'd just use Red Hat, thanks.

    8. Re:What is LSB, you ask? by NateTech · · Score: 1

      Gee, maybe the root-cause problem is having so many distros and not the ISVs for wanting to build only ONE way to install their software so they can test and fix ONE system instead of debugging all the distros screwed up package managers?

      Blame it on the user... the Linux way.

      --
      +++OK ATH
    9. Re:What is LSB, you ask? by Yfrwlf · · Score: 1

      I agree that the LSB shouldn't be a collection of required software as much as a group to help form and extend standardized APIs. It should be the glue that holds Linux together, not necessarily something that requires packages A, B, and C. I just think that if you deal with package dependencies intelligently, there's no reason to have the LSB tell you you need to have certain libraries. If a program needs certain other dependencies, it should just be able to quickly and easily find, download, and install them, in an intelligent way. So yeah, I hope the LSB evolves into the solidification and reporting of APIs for Linux's "glue" to help with modularity and to keep Linux powerful, but not necessarily a rule book. It should change with the times, not force the past on the future necessarily. I think there are certain programs that should be included on any distro though, like cp, or ls, but chances are pretty good those will always be there of course. If software installation is easy and intelligent, if you wanted a program that you were used to using it should be very very simple for you to get it. I like Ubuntu for notifying me of what package contains the program I am wanting to use.

      I think it would be cool to click on a web link, and have the package manager pop up and ask if you want to install the package. You could then click OK, and it would check to see what software is required, and if you already have that software installed, and then only download the software you don't have.

      The LSB Packaging API is just an API to allow the installation of any kind of software package. So, it's a very welcome part of any distro. The rest of the LSB? Maybe not as much. All I want is for Linux to be modular so that any software can be easily installed and will integrate well. For all the software that gets used, I think that popular demand should be the deciding factor, so the "distros" who want to be "popular" are going to include those popular packages. It's sort of the software version of natural selection. ^^

      --
      Promote true freedom - support standards and interoperability.
  2. The difficulty depends on what tools you use by pembo13 · · Score: 1, Interesting

    Web devs, python devs, etc likely don't find it that difficult.

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    1. Re:The difficulty depends on what tools you use by Splab · · Score: 3, Informative

      Wrong.

      Any given distro will have to make a choice of what modules each program should support, this means even as a PHP programmer you have no guarantee your software will work with default installation of PHP under a specific distro.

    2. Re:The difficulty depends on what tools you use by Anonymous Coward · · Score: 0

      "Web devs, python devs, etc likely don't find it that difficult."

      If you believe that - try setting up Apache Roller on Ubuntu and configure it as a daemon.

      All I can say is, whoever packaged tomcat55 for Debian must have a real hate on for Java web developers.

    3. Re:The difficulty depends on what tools you use by Jason+Earl · · Score: 1

      Blame Sun.

      The problem was that for years Sun refused to release Java under a Free License. This meant that packages in main could not rely on the existence of a JVM. Worse, at least if you wanted to use Sun's JVM, as gcj got better Debian started packaging Free Software Java packages so that they would run on gcj.

      Sun's announcement to Free Java has helped move things in the right direction, but we are just barely starting to get a usable Free Software JVM. I stopped paying attention some time ago (as I no longer am forced to use Java to develop web applications), but hopefully this all gets sorted out for the next stable version of Debian. If not, Java developers will get another two years (or however long it takes to do a release) of hate from Debian.

    4. Re:The difficulty depends on what tools you use by Ant+P. · · Score: 1

      This happened to me last week in fact.
      On one distro's default setup, everything works perfectly. On another one the PHP scripts die abruptly after the headers with no output, no logged errors, zilch. It turned out to be mod_php5 wasn't working when fastcgi was. On the other hand, all the broken systems were debian-based.
      I'm not sure who the blame lies with for this, but given debian's recent reputation I'm a bit biased until I've tested it more thoroughly.

  3. What did happen to UNIX? by chris_mahan · · Score: 1, Interesting

    "The reason you need that is because we don't want what happened to Unix to happen to Linux in terms of fragmentation."

    What makes you think what happened to UNIX was bad? It's called evolution. Things change. If UNIX was all that, it would still be at the top of the food chain. It ain't. It couldn't perform.

    Now, "UNIX The Philosophy" is alive and well, having transcended its earthly manifestation to become a mindset. It loaded itself into wetware. Pretty goo feat if you ask me.

    Ultimately, let the best software win. The rest can go to bit-afterlife.

    --

    "Piter, too, is dead."

    1. Re:What did happen to UNIX? by dlgeek · · Score: 3, Insightful

      UNIX fractured into a large number of incompatible variants including BSD (fractured further into Open/Free/Net BSD), Solaris, IRIX, HP-UX, SCO Unix, etc., etc..

      See this graph for more information.

    2. Re:What did happen to UNIX? by Haeleth · · Score: 5, Insightful

      Ultimately, let the best software win. The rest can go to bit-afterlife.

      Yes, that's kind of the whole point of the LSB.

      Customers choose OSes based on many criteria. One of them is how much of the software they need will run on each platform. Now, this is rarely actually determined by the quality of the platform -- it's mostly a question of which platforms were already popular enough to be targeted. In theory, LSB will make it easier for new Linux-based OSes to run existing software, and will make it easier for ISVs to write software for Linux-based OSes in general.

      Those OSes can then compete on more interesting metrics like performance, stability, scalability, price, and quality of support. How is this not a good thing?

    3. Re:What did happen to UNIX? by Darkness404 · · Score: 5, Insightful

      UNIX fragmentation wasn't caused by anything other than all the proprietary, incompatible licenses. Whenever Sun made an improvement to UNIX, HP couldn't simply adopt it like they can with the GPL. With the GPL, if I take an OSS program and fork it, and change it radically, the original creators of the software can always add my changes back into the main branch. And yes it would be bad, if you had to write a program, say an HTTP server, you had to test it on every Unix imaginable, today, just release the source, package an RPM and a DEB, and it will be ported to the rest soon enough.

      --
      Taxation is legalized theft, no more, no less.
    4. Re:What did happen to UNIX? by symbolset · · Score: 1

      Ransom Love happened to Unix.

      --
      Help stamp out iliturcy.
    5. Re:What did happen to UNIX? by nawcom · · Score: 3, Funny

      What makes you think what happened to UNIX was bad? It's called evolution.

      I COMPLETELY DISAGREE WITH YOU! Linux, SunOS, Solaris (Not an evolved SunOS!), BSD, etc were magically created out of... erm.. random bits generated from some pseudo-random generator in DigiGod's image. Proof? DigiBless.com

      </satire>

    6. Re:What did happen to UNIX? by Crispy+Critters · · Score: 3, Informative

      One piece of this was that simple commands had different names and different options depending on the variety of UNIX. I am talking things like lp vs. lpr, options for ps, and so on. Also, some things were hidden in really weird places (X on Sun is/was under an "openwin" directory, I think). Writing cross-platform scripts is a pain when you first have to test for the OS and then redefine command names, options, and paths accordingly. In theory, under the LSB you always know where commands and libraries are.

    7. Re:What did happen to UNIX? by XnavxeMiyyep · · Score: 2, Funny

      If that's Unix_history-simple.svg (which it is), I'd hate to see Unix_history-complex.svg.

      --
      I put the 't' in electrical engineering.
    8. Re:What did happen to UNIX? by Knuckles · · Score: 2, Informative

      If that's Unix_history-simple.svg (which it is), I'd hate to see Unix_history-complex.svg.

      Here you go. Well, not svg.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    9. Re:What did happen to UNIX? by Taxman415a · · Score: 1

      UNIX fragmentation wasn't caused by anything other than all the proprietary, incompatible licenses.

      Well, that's part of it of course, but not all of it. If it were, there would be no need for LSB and every application written for one distro would run without modification on another. The fact is there is more to is as already explained in this thread. Just having it be all GPL is an advantage in that a change can be coordinated accross distributions, but we've clearly seen that not all changes have been. You even said it in your last sentence. Package it as two separate formats and then it still has to be ported after that. As long as it's difficult to write one application and run it across all distributions that follow a standard without having to read up on several different idiosyncracies, Linux will always have a disadvantage it doesn't need to have.

    10. Re:What did happen to UNIX? by Anonymous Coward · · Score: 0

      What if it doesn't get ported? Here's a more likely scenario: you release it, it gets ignored by most distributions, a few users of another distribution hear about it and port it, the ports are not maintained as soon as they lose interest so the code rots, and you end up with a quirky package that half-works on some platforms. Meanwhile someone creates a new project that does the same thing as yours but works on another set of platforms and has its own quirks, and you end up with wasted time and less developer interest in either project by itself. Kind of like what happened with Linux audio systems.

      Now imagine that instead of developing your package for fun, you were actually trying to make a business based on it. For example, you may have developed a music player, or a photo editor, or a game. Is your business model going to include waiting on random people to port your software to various distributions, or trying to support the dozens of popular distributions yourself? Or will you go like most businesses - release the software for the platform that 95% of people will use - Windows - then if there are extra resources, port it to Mac OS X, and forget about dealing with a myriad Linux configurations?

    11. Re:What did happen to UNIX? by haruchai · · Score: 1

      Nice to see Eric is keeping this up to date.
      I had this displayed in my cubicle back in 2000.
      If I were to do the same with the latest version,
      I'd need an office!!

      --
      Pain is merely failure leaving the body
  4. Jim Zemlin needs to read the GPL. by khasim · · Score: 2, Insightful

    "The reason you need that is because we don't want what happened to Unix to happen to Linux in terms of fragmentation." says Jim Zemlin, executive director of the Linux Foundation.

    He needs to read the GPL and understand how it differs from the various PROPRIETARY licenses that caused the *nix fragmentation.

    1. Re:Jim Zemlin needs to read the GPL. by Grey_14 · · Score: 3, Insightful

      maybe you mean something different, but I'm not sure how your statement relates to this issue. Afaik the LSB is about standardizing directory layouts and configuration files, and while sure under the GPL any linux distro CAN be made to follow those guidelines, almost none of them DO, so the difference between nonstandardized linux systems and nonstandardized UNIX systems is a philosophical one and not a practical one.

      (Although on Linux it's a fair bit easier to remedy)

  5. Distribution by 99BottlesOfBeerInMyF · · Score: 4, Interesting

    The quote in the summary reads:

    'It is critically important for Linux to have an easy way for software developers to write to distro 'N,' whether it's Red Hat, Ubuntu or Novell,"

    Personally (as a Linux on the desktop user), I'm a lot more concerned about easily acquiring installing software, than whether it has problems with my distro. For the most part I can get software to run, but it can be a huge pain in the butt. I wish LSB would focus on extending and standardizing package formats and creating advanced standards for package managers to simplify that part of my workflow. I never wonder, "will this run on Ubuntu," so much as "which package format is this in, or how hard is it going to be to compile and update."

    1. Re:Distribution by dlgeek · · Score: 5, Informative

      You should wonder about will it run.

      Debian and Ubuntu use exactly the same packaging format (.deb). Try taking a debian package from a few years back and installing it on your system. Chances are, it won't work due to library incompatibilities.

      Now you could probably rebuild it for your system, but depending on what it is, it may or may not work.

      When you say "how hard it is going to bed to compile and update"...that's exactly what LSB is working on. It'll be trivially easy to compile a program written against the LSB specs on any LSB compatible distro.

    2. Re:Distribution by Darkness404 · · Score: 1

      Try taking a debian package from a few years back and installing it on your system. Chances are, it won't work due to library incompatibilities.

      No it probably wouldn't, but open source seems to not take too many steps back so it would be easy to just do sudo apt-get install *insert name of the deb package* if it is proprietary though, you are out of luck, but that is one of the (many) problems with non-free software.

      --
      Taxation is legalized theft, no more, no less.
    3. Re:Distribution by dlgeek · · Score: 1

      Doubtful... there are binary incompatibilities between each release of Debian that make it rather difficult to install packages. For example, the C++ ABI bump during sarge's release cycle means you won't be able to install *ANYTHING* written in C++ from pre-sarge on a post-sarge system. Various other library ABI changes will require you to search out old versions of library packages.

      Source isn't so bad though.

    4. Re:Distribution by Anonymous Coward · · Score: 0

      AutoPackage.org is the solution?

    5. Re:Distribution by dondelelcaro · · Score: 1

      Try taking a debian package from a few years back and installing it on your system. Chances are, it won't work due to library incompatibilities.

      If it successfully installs, it should work just fine. The whole point of versioned sonames encoded into library package names is to allow this very thing. Any time an install completes successfully, but the program doesn't work is a bug that needs to be fixed.

      Obviously, there are cases where it doesn't su

      --
      http://www.donarmstrong.com
    6. Re:Distribution by notamisfit · · Score: 1

      The only real issue I've ever had as far as binary incompatibility goes is libc5/glibc issues.

      --
      Jesus is coming -- look busy!
    7. Re:Distribution by maxume · · Score: 1

      I get the feeling that they would be much more successful if they provided a binary runtime platform that commercial-ware could run against. They could even release new versions on a somewhat time based schedule.

      Sure, it is ugly as hell to need to download 500 MB every time there are some updates, but it is a different kind of hassle than making sure compilation can happen, and it is a hassle that a lot of people are used to dealing with.

      --
      Nerd rage is the funniest rage.
    8. Re:Distribution by myrdos2 · · Score: 1

      I haven't looked at LSB 4, but in LSB 3 you'd make a standard .RPM package and it would supposedly install on any LSB-compliant Linux distribution.

      See here for more: http://www.linuxfoundation.org/en/Developers/LSB_Tutorial#Porting_your_code_to_the_LSB

      "LSB-conforming systems promise to be able to install an LSB-compliant RPM. However, you need not limit yourself to that format, with the caveat that the packaging technology you choose must work on an LSB-compliant system. For example, a shell script with a tarball is an acceptable format. Your own installer is acceptable, too, as long as the installer itself is LSB compliant."

    9. Re:Distribution by Darkness404 · · Score: 1

      Yes, but the debian repos usually take care of the packages that can't be installed and replace them with more recent packages.

      --
      Taxation is legalized theft, no more, no less.
    10. Re:Distribution by Anonymous Coward · · Score: 0

      Third party software shouldn't be packaged, it should install into a subdirectory of /opt in the same way that Windows software uses "\Program Files".

      If you're compiling from source well then, yes - of course you're going to have trouble. Not as much as if you were trying to do the same thing in Windows or OS X though.

    11. Re:Distribution by buchanmilne · · Score: 1

      But, did you note the mention of "ISV" ?

      When last did you install Netbackup, Symantec Critical Server Protect, Veritas, Sun JES (and all its pieces) on Ubuntu? You haven't? Yes, this means that you aren't the target customer for the people who need problems solved.

    12. Re:Distribution by 99BottlesOfBeerInMyF · · Score: 1

      Third party software shouldn't be packaged, it should install into a subdirectory of /opt in the same way that Windows software uses "\Program Files".

      I kind of prefer my third party software to be packaged so I can manage the install, uninstall, and update process from the same location as all the rest of my software. I strongly prefer it to be a self contained, executable package so I can run it from removable media without having to install it locally as well and so that all the files it uses are self contained for security and management reasons.

      If you're compiling from source well then, yes - of course you're going to have trouble.

      Why? Instead of typing the same commands on the CLI every time, why can't my package manager handle that step? Is there some reason why this step should have poor usability?

      Not as much as if you were trying to do the same thing in Windows or OS X though.

      % ./configure

      % make

      % make install

      The above seems to work on OS X and Linux exactly the same for most of the software I run. For that matter, the only things I compile myself on Windows use the same procedure within Cygwin.

    13. Re:Distribution by 99BottlesOfBeerInMyF · · Score: 1

      Yes, this means that you aren't the target customer for the people who need problems solved.

      The point I was making is that it is hard for developers to easily get their software into a single format that all their customers can easily use. The fact that in my examples I'm not the target for LSB does not matter. I'm the customer of their target, and when it is a pain for me to get and install software because the developer had to choose to target either Debian or RedHat or waste time trying to target both with different procedures, well that is the exact problem they're supposedly working on solving.

    14. Re:Distribution by CatOne · · Score: 1

      That only works for applications for which you have the source.

      Not all commercial software is open source, and limiting yourself to only open-source (er, "ships as source") software is quite limiting in a business enviornment.

    15. Re:Distribution by Jason+Earl · · Score: 2, Informative

      Autopackage is essentially a distribution on top of the distribution. The autopackage guys basically built an autopackage base that they have ported to some of the more popular distributions. They then try and take care of the same packaging issues that Debian, Fedora, and the rest of the distributions take care of already. They have their own incompatible list of packages, with their own incompatible dependencies, their own naming scheme, and their own packaging format.

      The only difference between autopackage and Debian's repositories is that A) Debian's repositories are much much larger, B) Debian's repositories receive far more real-world testing, and C) Debian's repositories come with a Linux installer.

      If you don't like Debian you can replace Debian with Fedora or the distribution of your choice. Basically, everyone has more supported packages than autopackage.

    16. Re:Distribution by Anonymous Coward · · Score: 0

      The phrase clearly states it's important to _software developers_, not end-users. And actually it'd better read _software vendors_.
      And since application availability is important to Linux...

    17. Re:Distribution by 99BottlesOfBeerInMyF · · Score: 1

      That only works for applications for which you have the source. Not all commercial software is open source, and limiting yourself to only open-source (er, "ships as source") software is quite limiting in a business enviornment[sic].

      Please clarify what you're talking about. I made several comments. Obviously you can't compile software without the source, but that holds true for Linux as much as Windows or OS X. Commercial, closed source software can and is packaged.

    18. Re:Distribution by Rysc · · Score: 1

      This is crazy. It's like saying "Third party software shouldn't use a .msi" on Windows.

      For the record, /opt is brain dead. Its only advantage over /usr is that all files related to a program go under one directory. Except, of course, that sometimes some files don't: some go in /etc, in /var, sometimes programs installed in /opt pollute /usr/lib... /opt is a bastard child that should die in a fire. There are many advantages to splitting an installed program out over several directories. At this point in history /opt is solely for people who can't be bothered to write and package software correctly. And yes, that means it's for "third party" or "commercial" software, because it seems accepted that those people wont be able to do things right. Why set expectations so low?

      *All* software installation should be managed, one way or another. Use SMS or ZENworks, use .msi's. On Windows most programs will register themselves in Add/Remove programs and provide an uninstall mechanism. It's a hack and would not work the same way in Linux, but it's an indication that what I say is true: All software installation should be managed. Under Linux we have a variety of quite sophisticated means for doing the managing. One thing that's missing is cross-distribution compatibility, which supposedly LSB is working on. I am not a big believer in the LSB, but if they're trying to solve real problems more power to them.

      --
      I want my Cowboyneal
  6. ABI by Anonymous Coward · · Score: 1, Insightful

    Why cant we have binary compatibility too :(

    1. Re:ABI by oyenstikker · · Score: 1, Redundant

      Because Linux runs on many different hardware architectures.

      --
      The masses are the crack whores of religion.
    2. Re:ABI by mrsteveman1 · · Score: 1

      Yea, even within one architecture there is no binary compatibility, which was the GPs point you either ignored or didn't get.

    3. Re:ABI by oyenstikker · · Score: 1

      There is at least some binary compatibility. I have downloaded and successfully executed generic binaries on several distributions.

      --
      The masses are the crack whores of religion.
    4. Re:ABI by notamisfit · · Score: 2, Interesting

      "Binary Compatibility" is one of those horrendously ugly catch-alls that, in the end, really doesn't explain anything. Strictly speaking, every distribution out there uses the same ELF executable format, so they're all "binary compatible". Of course, there's library compatibility (usually not a big factor), and package format/package manager incompatibility ("I tried to install a Ford Escort starter in my Chevy Malibu and the bolt holes don't match up!").

      --
      Jesus is coming -- look busy!
    5. Re:ABI by init100 · · Score: 1

      If there isn't any binary compatbility, how can I run my ten year old Linux games (released by the now-defunct LokiGames) on my modern Linux installation?

    6. Re:ABI by mrsteveman1 · · Score: 1

      Do they rely on any modern dynamic system libraries? If they do, chances are they don't work.

      Static stuff works sure, those interfaces for running stuff are stable, libraries aren't between distros.

    7. Re:ABI by grumbel · · Score: 1

      The real fun only starts when you try to build one.

    8. Re:ABI by spitzak · · Score: 1

      That's not "binary compatability", that is generally called "DLL hell" (I suppose there is a Unix name for it, but it is the same thing). I agree that missing libraries and/or programs requiring older versions of libraries is a big problem on Linux so that it is impossible to install most precompiled software. For the older versions I always end up symlinking the newer one to the old name, which seems to work mostly, but in that case I certainly am introducing binary incompatability.

    9. Re:ABI by oyenstikker · · Score: 1

      If the gcc team wants to make a major improvement that will break binary compatibility, they do it. If Linus wants to make/accept a major improvement that will break driver compatibility, he does it. If the Apache APR team wants to make a change that will change the APR runtime API, they do it. That is the price paid for rapid progress. This, of course, is about binary compatibility from release to release of the same distro.

      Inter-distro binary compatibility is a completely different issue. If you find two distros with the same kernel versions, same gcc/glibc versions, same APR versions, et cetera, you should have binary compatibility.

      This isn't that much of a problem, as a vast majority of software for Linux is supplied in source form, and source compatibility is much less frequently broken.

      I suspect that "binary incompatibility" is often blamed for poorly written or poorly documented installers that assume certain files are in certain places and do not document what the requirements are. Some vendors are better than others, and some vendors are inconsistent.

      I have installed IBM DB2, VMWare Server, and Oracle 10g on different versions of different distributions with little or no trouble. Installing (IBM) Lotus Notes on anything other than specific versions of RHEL or Suse is a disaster.

      Windows still runs stuff from the early 90s

      Really? Find a application that ran on 3.1 and try to run it on Vista. It'll be hit or miss.

      --
      The masses are the crack whores of religion.
  7. Mutation !== Evolution by Spy+der+Mann · · Score: 3, Insightful

    "The reason you need that is because we don't want what happened to Unix to happen to Linux in terms of fragmentation."

    What makes you think what happened to UNIX was bad? It's called evolution. Things change.

    Let me remind you, my friend, that evolution means SUCCESSFUL ADAPTATION to an environment. What happens when a change (mutation) results in inadaptation? Extinction.

    Evolution refers to a species. But in Linux what we have is not a single species, but a genus (a set of different species): Redhat, Debian, etc. "DNA" recombination is impossible in these. The resulting software would be inoperable.

    LSB4, hopefully, will be a further step in the evolution of Linux: The convergence to a single species that will be able to share one single configuration.

    In other words, yes, change is necessary, but there needs to be a period of stabilization. Just as stable/unstable releases in software. And LSB is providing this stability. LSB is, in fact, evolving.

    1. Re:Mutation !== Evolution by Darkness404 · · Score: 1

      Ummm... A lot of software works between distros. The main problem is when Debian uses an older version of GTK than Fedora uses, and the RPM/DEB inconsistencies, but alien usually takes care of that. Python works cross-platform as does Java and a whole lot of other languages.

      It isn't that hard to write cross-distro programs, what is hard is making sure that the version in Ubuntu is the same version in Fedora, or that Ubuntu has your programs as well as Gentoo.

      --
      Taxation is legalized theft, no more, no less.
    2. Re:Mutation !== Evolution by turbidostato · · Score: 1

      "But in Linux what we have is not a single species, but a genus"

      Good analogy; let's expand on it.

      The "problem" with the LSB is that is an intent much alike with this one: I'm a thootbrush maker and I'd want to sell my products to all the cats over there, since there are a lot. But, hey, it's not that I want to make different models to cover the variability of the Felix genus (or the Felidae family, for that matter), covering from little kitties to mature lions, so I'll make a marketing campaing to force all "cats" to use the same toothbrush size. If there's a problem, we'll blame Felidae for non-compliance not me, after all, they all are cats, aren't they? It can't be so difficult.

      "In other words, yes, change is necessary, but there needs to be a period of stabilization. Just as stable/unstable releases in software. And LSB is providing this stability. LSB is, in fact, evolving."

      Yes. Nature does this all days. It's the most common thing to observe how a genre converges from multiple forms to just one. After all, today all cats are cats, aren't they?

    3. Re:Mutation !== Evolution by Quicksilver_Johny · · Score: 1

      Let me remind you, my friend, that evolution means SUCCESSFUL ADAPTATION to an environment.

      Umm, A gradual process of development, formation, or growth.

  8. POSIX...? by Anonymous Coward · · Score: 1, Interesting

    I was under the impression that Linux was based on the POSIX spec from the get go.

    1. Re:POSIX...? by Hairy+Heron · · Score: 1

      It certainly was.

    2. Re:POSIX...? by larry+bagina · · Score: 5, Informative

      POSIX has multiple components -- kernel APIs, command line utilities, shell scripting, libraries, etc -- so there's more too it than just the linux kernel.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:POSIX...? by Anonymous Coward · · Score: 1, Informative

      POSIX doesn't say anything about the kernel. It just defines "system interfaces", i.e. the API exposed by libc, libm, and a few other core libraries (although it doesn't say which function is in which library).

  9. Difficult? by Anonymous Coward · · Score: 0

    "Ever thought it was difficult to write software for Linux? For multiple distros?"

    No. For Windows? Yes. At least Linux has an organized filesystem, with Windows, headers and libraries could be anywhere.

    1. Re:Difficult? by AceofSpades19 · · Score: 1

      In every linux distro I have used, the basic filesystem is always the same, of course there might be some extra directories, like /srv in openSuSE, but the basic filesytem is always the same

    2. Re:Difficult? by Billhead · · Score: 1

      I think that was his point, that at least in linux it is consistent.

    3. Re:Difficult? by grumbel · · Score: 1

      That depends on if you view it from a user or from a developer point of view. From a developer point of view, who distributes source, Linux is quite nice and Windows is pretty terrible. On the other side from a users point of view Linux is a pretty ugly nightmare for all software that isn't part of your distro and even for some that is part of your distro when it is to old or buggy, Windows on the other side is just a click on setup.exe.

  10. Didn't we try this once? by oyenstikker · · Score: 3, Insightful

    LSB4 is all very well, but if RHEL does not follow (does anybody really think they will?) it will not amount to a hill of beans.

    --
    The masses are the crack whores of religion.
    1. Re:Didn't we try this once? by Darkness404 · · Score: 1

      Exactly, Red Hat will be complaining that it doesn't use RPM, Ubuntu will grumble that they just made Apt and Deb simple enough for everyone to use, Gentoo will complain that it isn't fast enough...

      --
      Taxation is legalized theft, no more, no less.
    2. Re:Didn't we try this once? by larry+bagina · · Score: 3, Informative

      It does use RPM.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:Didn't we try this once? by ShieldW0lf · · Score: 0, Troll

      It does use RPM.

      Ewhhh...

      --
      -1 Uncomfortable Truth
    4. Re:Didn't we try this once? by Anonymous Coward · · Score: 0

      Well, that makes it pretty useless then, doesn't it?

    5. Re:Didn't we try this once? by odiroot · · Score: 0

      Please note that to yourself and stop telling bullshit. The reason why Gentoo exist is NOT speed. It's really getting boring. Freedom of choice is the factor that made Gentoo. Freedom of taking from applications only these things that you want or need. In Simple English: you use only these apps that you want/need.

    6. Re:Didn't we try this once? by Knuckles · · Score: 2, Funny

      Ubuntu will grumble that they just made Apt and Deb simple enough for everyone to use

      Come again?

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    7. Re:Didn't we try this once? by visualight · · Score: 1

      It won't work because they'll (again) try to solve problems that don't need solving and (again) ignore the one thing that would actually make a difference.

      They'll probably throw yet another abstraction layer on top of init, one more for the package manager(s), and maybe a big tarball of symbolic links to top off the complexity party.

      But you won't hear anyone saying "Hey! What if we all agreed to use the same tool chain for a bit?"

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
  11. It relates to his statement. by khasim · · Score: 3, Interesting

    maybe you mean something different, but I'm not sure how your statement relates to this issue.

    It relates to his statement that I quoted.

    "The reason you need that is because we don't want what happened to Unix to happen to Linux in terms of fragmentation." says Jim Zemlin, executive director of the Linux Foundation.

    That shows how clueless he is regarding the history of *nix.

    It was the various PROPRIETARY licenses that caused the fragmentation because an improvement made by HP had to be specifically licensed by Sun to be included in Solaris.

    But with the GPL, the improvements made in one fork are available to ALL forks.

    Therefore, the fragmentation will not happen because if a feature is worth it, it will be ported to the other forks. Without the need to coordinate licenses with HP or Sun or anyone else.

    The GPL rocks.

    1. Re:It relates to his statement. by Anonymous Coward · · Score: 0

      Therefore, the fragmentation will not happen because if a feature is worth it, it will be ported to the other forks.

      It will be available to the other forks, but not necessarily ported or adopted. Not everyone can agree on what is an improvement. Do you see Debian adopting .rpm any time soon? How about Redhat adopting .deb?

      Result: fragmentation

    2. Re:It relates to his statement. by notamisfit · · Score: 1

      If people can't agree as to what is or isn't an improvement in a particular Linux distribution, how is picking several improvements at random and calling them a "standard" going to fix things? The LSB Junir Woodchuck Club has been going on for years about the importance of standardization, and nothing has really changed.

      --
      Jesus is coming -- look busy!
    3. Re:It relates to his statement. by Anonymous Coward · · Score: 0

      "How about Redhat adopting .deb?"

      Sorry I think I just threw up in my mouth a little.

    4. Re:It relates to his statement. by renoX · · Score: 1

      >the fragmentation will not happen

      will not?? It has already happened! If you have a software which is certified with distribution X, it may or may not run on distribution Y: you have no guarantee, the fragmentation is already here.

      Features may be ported, but not necessarily in a compatible way: witness how easily the rpm tools have fragmented recently, ok there is now an effort to reunite them, but this example show that licensing compatibility is by now means sufficient to ensure binary compatibility, which is what LSB is about.

  12. Isn't this what Shuttleworth was getting at? by HighOrbit · · Score: 2, Insightful

    All the distrubtions use the same basic set of Gnu tools (like GCC, binutils, bash) and common programs like the perl binary. So why not have all the contemporaneous (i.e. released in the same time-frame) distros use the same tools? Shuttleworth was basically advocating an extended version of this (although he phrased it in terms of a coordinated release cycle) to be policy across several distros and to include higher-level applications like GNOME, KDE, and OO (besides the low level stuff like binutils).

    As I've said before, software vendors like Oracle would love this because it would simplify their support.

    Now if only LSB would stop the cluttering of /usr/bin with non-system programs and put user install apps in /usr/local or /opt where they belong. ;)

    1. Re:Isn't this what Shuttleworth was getting at? by X0563511 · · Score: 3, Insightful

      Well, from what I've seen, /usr/local and /opt were reserved for the local sysadmin to manage, and the package management system generally stayed away from that. This meant that custom software and distro packages didn't have file conflicts.

      Now, I like the way that works, a lot. But I don't have any objections against further partitioning of that scheme.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    2. Re:Isn't this what Shuttleworth was getting at? by TheRaven64 · · Score: 1

      Now if only LSB would stop the cluttering of /usr/bin with non-system programs and put user install apps in /usr/local or /opt where they belong

      Won't happen until Linux distributions work out what is a system program and what isn't. In *BSD and most other UNIX derivatives it's obvious. In a Linux distribution everything is a third-party component including the kernel, so where do you draw the line?

      --
      I am TheRaven on Soylent News
    3. Re:Isn't this what Shuttleworth was getting at? by Fweeky · · Score: 1

      They're already made that distinction; they all have a core set of packages which are vital to a working system, e.g. what you get when you debootstrap a Debian/Ubuntu install, which is enough for a usable shell, basic networking, and installing other apps.

    4. Re:Isn't this what Shuttleworth was getting at? by comment() · · Score: 1

      Well, from what I've seen, /usr/local and /opt were reserved for the local sysadmin to manage,

      Not everywhere. SuSE has for some reason kept both Gnome and KDE in /opt for a long time. They`re now moving away from that - Gnome has been moved, KDE4 can be found at the usual places from the start. KDE3 will likely stay in /opt, which I personally have nothing against - KDE3 certainly is special enough to deserve this special place. :-)

    5. Re:Isn't this what Shuttleworth was getting at? by Macka · · Score: 1

      /usr/local I agree with but not /opt. In the commercial world /opt or more specifically /usr/opt is fair game for OS layered products to install themselves into, and windows environments like KDE fall into that category.

    6. Re:Isn't this what Shuttleworth was getting at? by HighOrbit · · Score: 1

      I don't see why the package manager (rpm/yum or deb/apt or whatever) can't keep track of the base system and utilities being in /bin and /usr/bin and then putting applications like openoffice or xpdf into either opt or /usr/local. Even then, I would still prefer that each app have its own discrete directory like /opt/appName/bin for the programs and opt/appName/etc for the config files instead of the common practice of mixing up different programs into a single bin directory.

      For example, when I compile Apache, I don't dump the httpd into /usr/local/bin and the httpd.conf into /usr/local/etc, I put them into /usr/local/apache/bin and /usr/local/apache/conf respectively (which actually the apache default anyway). I think package manager should do the same and put "optional" package into /opt/appName

  13. A simple explanation for ISVs: by Cal+Paterson · · Score: 0, Flamebait

    If you want to write for distro foo, you release the source code and get to work collaborating with distro foo. Someone will package your program, and you'll be fine.

    If you don't release source code, you can expect endless pain, and I hope that doesn't change.

    1. Re:A simple explanation for ISVs: by droopycom · · Score: 5, Insightful

      But you see, they dont want to write for distros foo, bar, etc... they want to write an app for linux.

      They dont want to "collaborate" with dozens of distros, all of which will tell them that "in our distro, the proper way of how to do this" is different than the other ones...

       

    2. Re:A simple explanation for ISVs: by Anonymous Coward · · Score: 0

      If you want to write for distro foo, you release the source code and get to work collaborating with distro foo. Someone will package your program, and you'll be fine. If you don't release source code, you can expect endless pain, and I hope that doesn't change.

      Releasing the source doesn't guarantee that anyone's going to compile it. Why should Redhat or SUSE expend time and resources maintaining a port of your little niche program? Unless or until it gets big and popular you can't rely on the distro makers to help you put it out there.

    3. Re:A simple explanation for ISVs: by mrsteveman1 · · Score: 5, Insightful

      Classic zealot response. Pretend the entire world is moving to GPL-only software and neglect to address the concerns of anyone who disagrees.

    4. Re:A simple explanation for ISVs: by Eighty7 · · Score: 0, Flamebait

      Neglecting proprietary software now makes you a zealot? Hey sign me up, because I actually prefer to contribute to software that I'm free to run/modify/distribute. Weird concept, I know.

      And btw, GP didn't say GPL-only. There are many free-software licenses, as everyone including the FSF will tell you.

    5. Re:A simple explanation for ISVs: by SirShmoopie · · Score: 1

      this is exactly what's kept me from having anything other than a source tarball for the linux version of my software these last five years.

      I simply don't have the time to create packages for all the different distributions. If there were just one I'd be using it right away.

    6. Re:A simple explanation for ISVs: by mrsteveman1 · · Score: 1

      Yea, it does in this case. Its the old 'if you're in the repos, you're fine' argument, and it falls flat on its face in a number of situations, some even involving open source software, but especially closed commercial software.

      Making life intentionally difficult for commercial closed software vendors isn't going to help the cause of open source, nor will it help Linux as a platform. If anything it will cause large companies to avoid it because political crap takes precedence over everything else.

      FOSS software should be beating proprietary software on its own merits. If you want open source stuff to succeed you make better software, and if the bazaar development method is better that should be easy.

      However, stacking the deck against commercial interests in an attempt to make the entire platform GPL or even just open source (of any license) isn't going to help anyone.

    7. Re:A simple explanation for ISVs: by segedunum · · Score: 1

      If you want to write for distro foo, you release the source code and get to work collaborating with distro foo. Someone will package your program, and you'll be fine.

      This has been pointed out dozens of times, but people in the various distributions still do not get it. If you're packaging software up on a widespread basis so users can install it you are not going to do it for each and every distribution and you are certainly not going to wait years for it to appear in a package repository. Those are the same problems we have with software availability from repositories now. ISVs are not going to package up their software and submit it to your daft repository.

    8. Re:A simple explanation for ISVs: by Anonymous Coward · · Score: 0

      Oh, did you say something? I wasn't paying attention.

    9. Re:A simple explanation for ISVs: by Anonymous Coward · · Score: 1, Interesting

      Classic zealot response. Pretend the entire world is moving to GPL-only software and neglect to address the concerns of anyone who disagrees.

      Heh...I actually thought LSB was a pretty good idea until I read your post. It does make it easier for people to release proprietary software to Linux. That's the best argument against LSB I've heard, and now I want it to die.

    10. Re:A simple explanation for ISVs: by Eighty7 · · Score: 1

      Making life intentionally difficult for commercial closed software vendors isn't going to help the cause of open source, nor will it help Linux as a platform. If anything it will cause large companies to avoid it because political crap takes precedence over everything else.

      If what I just said was "political crap" then I don't know what isn't. It should be easy to understand as quid-pro-quo - I prefer contributing to software that gives me more in return. The state of linux is now such that I don't need anyproprietary software so I'm free to choose FLOSS. I'm sure many feel the same way, but you're welcome to join the LSB4 team & try convince us otherwise.

      FOSS software should be beating proprietary software on its own merits. If you want open source stuff to succeed you make better software, and if the bazaar development method is better that should be easy.

      However, stacking the deck against commercial interests in an attempt to make the entire platform GPL or even just open source (of any license) isn't going to help anyone.

      That's ironic because this example of "stacking the deck" is an advantage of the bazaar development method. Like it or not, free software encourages rampant forking/extending & the only thing keeping us from the UNIX situation is that improvements/software will be ported. If they are free. Of course non-free software will have a harder time.

    11. Re:A simple explanation for ISVs: by Cal+Paterson · · Score: 1

      I think the LSB is pretty good too. My original post is not especially directed at it. It's at people who release software who think it is good enough simply to make it compatible.

    12. Re:A simple explanation for ISVs: by pdusen · · Score: 1

      Right, because, you know, all non-GPL software is proprietary.

    13. Re:A simple explanation for ISVs: by mrsteveman1 · · Score: 1

      By stacking the deck, i mean refusing to standardize certain things or keep certain interfaces stable, either intentionally or because repo software doesn't require these things to be stable. And because the repos only keep FOSS most of the time, everything else is excluded and therefor must play stupid games, like compiling drivers for every variation of a distro and releasing multiple packages (like truecrypt used to do with TC4.x).

      The common answer when these problems come up is "well your stuff should be in a repo" and that's not acceptable, it should be possible to install a driver or program from anywhere, without having to worry about any of this stuff, on any distro. And there are a number of situations i have encountered where even GPL software isn't in the repos for a distro, so they aren't really helping.

    14. Re:A simple explanation for ISVs: by davolfman · · Score: 1

      That, and experience has made it more than apparent to me that the Free Software community has neither the time nor inclination to code software that does all of what I want. Until that changes somehow commercial software is just a fact of life and must be dealt with.

  14. Unified Protocol and MIME Registry by Doc+Ruby · · Score: 4, Insightful

    Other than eliminating conflicting directory structures, the most important standard for Linux distros to completely unify would be a single API to data protocols and MIME types. Like the one FreeDesktop.org has managed to sync (in principle) between GNOME and KDE Desktops, but for all distros (including servers).

    A registry of which app to hand off a URL to given its protocol part, to retrieve the data. A registry of which app to hand off the data to once it's retrieved. Different data handler lists for displaying, editing or executing (the usual Linux RWX modes) the content, depending on the use case triggering the registry access. The registries could include prioritized lists of different apps, depending on user selection or settable default preference. And of course any single app could be registered to either registry, in any mode it will function properly.

    Then the OS is performing its main task of connecting processes to the hardware and to each other. In a very simple and clear architecture. That every single app can use, without having to anticipate how the other apps will agree with it.

    If LSB4 can pull that off, using the existing attempts as a starting point, it won't just make a unified Linux target for developers across distros. It will make LSB4 itself more quickly and completely adopted, because its benefits will be so compelling.

    --

    --
    make install -not war

    1. Re:Unified Protocol and MIME Registry by visualight · · Score: 1

      Ok, I plenty layers of abstraction there, but I don't see a problem that needs solving. Are you trying to make it so that if I click on a png it gets opened up with the application that I set in one of my registry configuration wizards?

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    2. Re:Unified Protocol and MIME Registry by Doc+Ruby · · Score: 1

      Yes. And that if you click on any URL, or in any other way tell an app you want a network/internet/filesystem object with a URL, that the app will get the data, by relying on whatever standard processing you have assigned (or the OS assigns by default).

      Yes, this should all seem familiar from Firefox or your other browser - it was basically introduced with Netscape. But it should be an OS feature. So that any app can access it in a truly standard fashion. That's why it was started in FreeDesktop.org. But even if you don't have a Desktop, your OS should still do this. Your browser should just give a UI to the OS feature that actually does it.

      --

      --
      make install -not war

    3. Re:Unified Protocol and MIME Registry by spitzak · · Score: 1

      We don't need more files to read. They need to look at how Unix was originally designed.

      There should be a little program called "start" or "open" that takes a URL as an argument and does whatever the hell the user expects a double-click on that to do it. I should be able to use it with 1 line of C (an execl() call). No library and no file I have to parse.

      They should also look at using Unix ideas for solving GUI issues. The file chooser should be a program you exec. You can either wait for it to finish (it prints the chosen file on stdout), or use pipes for bidirectional communication. And all the toolkits should call that program and scrap their built-in filechooser (although those will probably be used to implement the first ones). If this is done I think within months Linux will switch from having the worst file chooser to by far the best one, because there will be lots of competing ones, and it will be trivial for users to try different ones.

      All the other popus (alerts, little dialog boxes, etc) should be done with exec as well.

    4. Re:Unified Protocol and MIME Registry by Doc+Ruby · · Score: 1

      The registry is the lookup that keeps the records of "whatever the hell the user expects a double-click on that".

      The point here is not the implentation details. It's the single, common API to this info that we now know everyone wants to use, in the structure everyone uses: the protocol for retrieval, and the read/write/exec processes. The point is to canonicalize that API. Then you go ahead and write those tools that you like to use that API.

      --

      --
      make install -not war

  15. It already happened by BELG · · Score: 2, Insightful

    We don't want it to happen?

    It already did.

    Distribution compatibility and package management is a big problem for most, if not all developers, and has been for a very long time.

    1. Re:It already happened by Chester+K · · Score: 1

      Distribution compatibility and package management is a big problem for most, if not all developers, and has been for a very long time.

      And it will be, for quite some time to come. Linux doesn't have a stable ABI, so it's very hard to deploy to. I'm pretty sure even the LSB's goals don't reach far enough to solve this fundamental problem.

      --

      NO CARRIER
    2. Re:It already happened by TheRaven64 · · Score: 1

      Linux does have a stable ABI for userland programs. Linux is a kernel. It only interfaces with userland programs via system calls. These are backwards-compatible right back to Linux 0.1.

      Linux distributions may or may not have a stable ABI. If you use C++, they tend to use the GCC ABI which changes periodically for C++. Libraries also might not have a stable ABI, but if you write an app that depends on one then you have to either see if it makes ABI guarantees and consider static linking if it doesn't. The X11 protocol has been stable forever, so that's not a limiting factor.

      --
      I am TheRaven on Soylent News
    3. Re:It already happened by Anonymous Coward · · Score: 0

      the GCC ABI which changes periodically for C++

      Hello. I'm writing this from the year 2008, which for you is some seven years in the future. Here in the future, C++ compilers have adopted something called the Cross Vendor C++ ABI, which as the name suggests, is a codified and standardised ABI for C++ compilers which guarantees that an object file compiled with say, GCC 3.2, will be able to link against another object file compiled with say, Intel C++ Compiler v5.1

      Here in 2008 I'm happy to report that this stable Cross Vendor C++ ABI has solved the issues of unstable ABIs which break with each major GCC revision, making it a thing of the past. Which is were you are. Still, I strongly recommend you use your favourite web search engine (Here in 2008 Google is HUGE by the way!) and look up the standardisation effort, and look forward to the release of GCC 3.2. Here in 2008, we're already on GCC 4.3 which is backwards compatible to GCC 3.2 thanks to the wonderful Cross Vendor C++ ABI that I think I mentioned?

      Anyway I must go. We all can't wait for you to catch up with us here in 2008!

  16. Re:Looks like the GPL haters got some mod points. by mrsteveman1 · · Score: 3, Informative

    No we understand the GPL, but it has very little to do with the subject, namely that regardless of open vs closed, some distros remain incompatible with each other in small but significant ways.

    If there is to be a stable platform to target with Linux, that crap has to stop. Simple being GPL software means very little toward that goal if distros continue to be arbitrarily different and the situation never really resolves itself.

  17. It's about freakin time by ph1nn · · Score: 1, Insightful

    I've hated this whole fragmentation thing all along. It would be so much nicer to have a unified system like LSB4 claims to offer. This can't come soon enough.

  18. Feel free to build the ULTIMATE distribution then. by khasim · · Score: 1

    If there is to be a stable platform to target with Linux, that crap has to stop. Simple being GPL software means very little toward that goal if distros continue to be arbitrarily different and the situation never really resolves itself.

    Sure. You just have to tell everyone what the BEST way is.

    No we understand the GPL, but it has very little to do with the subject, namely that regardless of open vs closed, some distros remain incompatible with each other in small but significant ways.

    Actually, it has EVERYTHING to do with it.

    Each distribution can take whatever path it thinks is BEST and the results will speak for themselves.

    If it succeeds, then others can copy the improvements made by it.

    It's easy to look backwards and see what you believe to be a straight path of development. But if you look at each point in time, you'll see LOTS of different approaches.

    It's impossible to look forward and choose the best path TODAY for development of features that will take 2 years to implement.

    Until you can do that, telling distribution X that it is wrong for choosing a path different than distribution Y is beyond silly.

  19. Re:/etc still gets too big! by XanC · · Score: 4, Funny

    I have been mentioning this for years

    Yes, I've seen you post here often!

  20. Re:/etc still gets too big! by X0563511 · · Score: 2, Interesting

    hrm, maybe we could have an /setc for boot-critical config? Similar to how we have /bin and /sbin. For people who like the old way of one massive /etc, you could just symlink one to the other and there would be no practical difference.

    --
    For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
  21. Really? by Anonymous Coward · · Score: 0

    #!/bin/python Whoops! Doesn't work on distro Foo!

    #!env python
    Whoops! env isn't in PATH on distro Bar!

    #!/bin/env python
    Whoops! env is in /usr/bin/ on distro Baz!

    So on and so forth. Which is why the LSB is important to people like Python developers.

    1. Re:Really? by TheRaven64 · · Score: 4, Interesting
      env should always be in /usr/bin. This will work on any POSIX.2-compliant system:

      #!/usr/bin/env python

      LSB isn't needed, Linux distros just need to implement 16-year-old standards. I think most do put env in the right place, although some also put it in /bin (which should only contain binaries needed to boot the system in single-user mode).

      --
      I am TheRaven on Soylent News
    2. Re:Really? by mrchaotica · · Score: 1

      [S]ome also put it in /bin (which should only contain binaries needed to boot the system in single-user mode).

      Perhaps they do that because some boot scripts are written in Python (I'm pretty sure Gentoo is like this)?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    3. Re:Really? by pembo13 · · Score: 1

      Well I wasn't arguing against LSB myself. Just not entirely agreeing with the summary.

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    4. Re:Really? by TheRaven64 · · Score: 1

      Boot scripts don't need to be portable, so they can hard-code the path and don't need to use env to find it (and shouldn't, since environment variables won't have been set this early on in the boot process).

      --
      I am TheRaven on Soylent News
    5. Re:Really? by Anonymous Coward · · Score: 0

      To be fair, it was a simple contrived example. As someone else has pointed out, LSB also covers things like which version(s) of Python are included and what external modules are available, which is equally important.

    6. Re:Really? by mrchaotica · · Score: 2, Informative

      Maybe it was Portage (Gentoo's Python-based package management system) then? I can imagine it being useful to be able to mess with packages (especially core ones like baselayout) in single-user mode.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    7. Re:Really? by Florian+Weimer · · Score: 4, Informative

      env should always be in /usr/bin. This will work on any POSIX.2-compliant system:

      POSIX.2 doesn't even mention /usr. The location of env is not standardized.

    8. Re:Really? by maestroX · · Score: 1
      I've never understood the purpose of env.

      What shell needs a child to tell him about his environment?

      !/usr/bin/env enlighten me

      please?

    9. Re:Really? by bob.appleyard · · Score: 1

      BASH does.

      $ cat > hello.sh
      #!bash
      echo "Hello, world!"
      ^D
      $ chmod a+x hello.sh
      $ ./hello.sh
      bash: ./test.sh: bash: bad interpreter: No such file or directory

      --
      How dare you be so modest!! You conceited bastard!!
    10. Re:Really? by TheRaven64 · · Score: 4, Informative
      Env followed by the name of a binary, will exec the first binary with that name on the current path. It boils down to how you run a script on UNIX. There are two ways:

      The first way is with a command like 'sh foo.sh'. sh will then read foo.sh and execute each command in it in order (if it's not a shell script, it will hopefully read the magic number and run it).

      The second way is to just exec() it. The loader then reads the first few bytes of the file. This tells it what type of file it is. For ELF files, they will be ".ELF". For Mach-O binaries, they will be 0xFEEDFACE or 0xCAFEBABE, depending on the architecture. For scripts the first two bytes will be "#!".

      If the loader encounters "#!" then it will read the rest of the line execute the specified command (and arguments) and pass the file to it as the last argument. You can see this in operation with the following script:

      $ cat foo
      #!/bin/echo
      This is a file?
      $ chmod +x foo
      $ ./foo
      ./foo

      If you have a shell script that needs to run with the standard POSIX shell, then there's no problem. You just specify /bin/sh after the #! and it's fine. But what happens if you want to use some bash-specific features? On GNU platforms, bash is the default shell and /bin/sh is a hard link to bash, so it's in /bin. On other platforms it's a third-party thing and so will be in /usr/local/bin or /opt/something. This is where env comes in.

      When you specify "#!/usr/local/env bash" you can safely hard-code the path of env, because POSIX defines where it is. Env then looks up where bash is and execs it with whatever command line arguments it was given. You can see this in action again like this:

      $ /usr/bin/env echo test
      test

      If you just run 'env' from a command line to inspect the environment variables, you are most likely just calling a shell built-in command, which lists the things passed in to the third argument to main() and any set since the shell started. Env, however, can be used when you are not launching from a shell. If your program wants to run a shell script, you can just vfork() and exec() it, and the loader will find the correct interpreter. You could always inspect the environment yourself, but having every app do that whenever it needs to run a script is quite silly (especially since it means that the app also has to know the difference between a binary and a script and so on).

      Some people still have a habit of hard-coding /bin/bash, and this is probably the kind of crap LSB will encourage ('bash is always in /bin on Linux, and I don't care about other platforms!') but the correct thing to do is use env.

      --
      I am TheRaven on Soylent News
    11. Re:Really? by turbidostato · · Score: 1

      "So on and so forth. Which is why the LSB is important to people like Python developers."

      Please, go in depth with your "so forth" cases, since the ones you are producing have nothing to do with the LSB. They are a case for a FHS, and whooops! that already exists (http://www.pathname.com/fhs/)

    12. Re:Really? by Anonymous Coward · · Score: 0

      If you have a shell script that needs to run with the standard POSIX shell, then there's no problem. You just specify /bin/sh after the #! and it's fine.

      Except that in many Linux distributions /bin/sh is a link to bash, and even though it probably shouldn't, GNU bash 'extends' the basic Bourne syntax with extra stuff.

      Then, when you want to use this supposedly portable script on another Unix-y system (BSD, Mac OS X, Solaris, etc.) things don't work because you're requesting /bin/sh, but you really need to be asking for bash.

    13. Re:Really? by Lost+Engineer · · Score: 1

      I noticed Ubuntu links sh to dash. I'm not too familiar with this shell, but it seems they may be trying to remedy this problem.

    14. Re:Really? by Anonymous Coward · · Score: 0

      Really? Perhaps you can point out where in the FHS it says that env must be in /usr/bin/ rather than say /bin? Hint: It doesn't even mention the command.

    15. Re:Really? by turbidostato · · Score: 1

      "Really? Perhaps you can point out where in the FHS it says that env must be in /usr/bin/ rather than say /bin? Hint: It doesn't even mention the command."

      There you have your answer, then. It is not mentioned under the provided command list neither for /bin nor for /sbin (and it doesn't fit within those directorie's descriptions), and it is one of the general executables for a system, apt to be installed on a read-only partition and shareable among a set of systems with the same architecture and FHS compliancy, so it obviously should be in /usr/bin.

      What is /usr/bin for? /usr is the second major section of the filesystem. /usr is shareable, read-only data. That means that /usr should be shareable between various FHS-compliant hosts and must not be written to. Any information that is host-specific or varies with time is stored elsewhere. /usr/bin : Most user commands
      Purpose
      This is the primary directory of executable commands on the system.

      Next time you feel the need to negate someone else's assertions do your homework first.

    16. Re:Really? by Anonymous Coward · · Score: 0

      What you clearly meant to say was "The command is not mentioned at all, therefore it is open to interpretation by whomever is building the distribution." I don't know if you've checked recently but there are a lot of commands under /bin which are not mentioned by the LFS. According to your interpretation, all of those should be in /usr/bin. So either the LFS is a half-assed standard that doesn't reflect world-world practices and needs to be much broader and clearer, or the distro builders don't give a crap what the LFS says and are just doing what they want like they always did.

    17. Re:Really? by turbidostato · · Score: 1

      "What you clearly meant to say was "The command is not mentioned at all, therefore it is open to interpretation by whomever is building the distribution.""

      Well, show me an alternate interpretation that makes sense then.

      "I don't know if you've checked recently but there are a lot of commands under /bin which are not mentioned by the LFS. According to your interpretation, all of those should be in /usr/bin"

      They are not explictly listed, which is different. But, again, show me an example and, please, remember you *now* do know you can count on /usr/bin/env to help you and that "according to my interpretation" I still did say nothing about what should go to /bin (but I don't think I need it since it's properly explained on the FHS too).

      "So either the LFS is a half-assed standard that doesn't reflect world-world practices and needs to be much broader and clearer, or the distro builders don't give a crap what the LFS says and are just doing what they want like they always did."

      On one hand, of course distro builders can do whatever they want, it's *their* distribution and you are free to use it or not. Or is it that other OS builders *cough*Microsoft*cough* don't develop their systems the way they feel proper? On the other hand you still failed to show me that you do really use "proper world-world practices", i.e. do you use autoconf/automake in order to know if your app dependencies are in place and build accordingly? No? Even failing to use autoconf (which is more used on compiled programs) do you add some tests to your setup process to show the user/sysadmin what the unmet depencies are so they can act accordingly (I've seen this on quite a lot web-based apps)? Failing that, do you offer enough documentation about your program so distributions' package maintainers can add it to their official repos? Failing that do you take the time to build proper packages for the distributions you are focused on? For the most part it would mean Debian Stable, RHEL current, SUSE current and current Ubuntu LTS where Debian and Ubuntu packages will be virtually the same as it would be RHEL and SUSE and the main differences won't be deep conceptual ones (certainly not comparable to what you'll find if you try to cover Windows and OSX too), but for the most part "just" due to the two different packaging tools (deb vs rpm).

      As a last note, I'll add that I neither told that FHS could be considered a finished document nor that it's an all encompassing effort. As I already told in a different post, FHS is *one* of the tools needed in order to find some development maturity on Linux distributions and certainly LSB is *not* one of them, at least on its current incarnation since its only distingushing factor is being a tool for distributions and closed source developers to find a common ground. Of course they are free to do the way they feel better but I don't like them trying to sell the LSB for what it is not nor I'm interested on closed source software on the Linux platform, so go figure.

    18. Re:Really? by maestroX · · Score: 1

      Thanks.

  22. Re:Mutation != Evolution by marco.antonio.costa · · Score: 2, Funny

    Sorry, but when expressing inequality != is the correct operator.

    You're not really a programmer, security, please escort this gentleman to Digg, please. :-)

    --
    Send your spendthrift head of state this
  23. Do we want LSB? by maestroX · · Score: 2, Insightful
    Formalizing the basis of a linux system seems awkward to me. It simply evolves, LSB is following.

    I've never had any need for a standardized linux environment except when I had to run Civ3 using libc5. The kernel never really freezes AFAIK.

    The beauty of linux, progress continues, just switch distros. If you need something comfy and reliable, use Debian.

  24. One example of where it works by Krishnoid · · Score: 1

    Distribution compatibility and package management is a big problem for most, if not all developers, and has been for a very long time.

    Debian focused on and solved this problem with their FHS (the whole lwn discussion on LSB4 is here), and take packaging and interoperability seriously (they also take distribution seriously, but other distros do that too). But IMHO, Debian represents the amount of rigor, effort, and time it takes to get these non-glamorous 'administrative' things right. In particular, a commitment to 'must pass defined installation/filesystem/interoperability test suite' over 'rpm -i seems to drop stuff in place ok' is historically sufficient to make installation reliable, and you could moot the point as to whether it's necessary now, and importantly, in the future.

    If developers provided hints (in the form of a skeleton debian control or rpm spec file) describing even roughly

    • how their .tar.gz divides into logical installable parts
    • what dependencies they know it needs to build and run
    • generally what dirs in the .tar.gz contain libs, executables, docs, and config files

    I think it would go a long way towards helping distribution authors. Even a text file (README.packagers.txt) with a couple paragraphs of prose describing this would give a big boost to packagers, and in turn, to the interoperability of the software with others as a good distro constituent. Debian recognized this, and IMHO the sooner developers visualize helping distribution creators by feeding this kind of information forward, the sooner distributions will converge on internal interoperability, leading to higher quality distributions, and subsequently to FLOSS maturing faster.

  25. Re:Mutation != Evolution by creepynut · · Score: 1

    Actually, PHP uses both != / !== and == / === as comparison operators.

    == / != checks that the values are "equal" (same value, but not necessarily the same type; ie. 1 == "1" is true)
    === / !== checks that the values are "identical" (same value and data type; ie. 1 === "1" is false)

    See http://php.net/operators.comparison

  26. Not the same. by khasim · · Score: 1

    Let me remind you, my friend, that evolution means SUCCESSFUL ADAPTATION to an environment. What happens when a change (mutation) results in inadaptation? Extinction.

    So far, so good.

    Evolution refers to a species. But in Linux what we have is not a single species, but a genus (a set of different species): Redhat, Debian, etc. "DNA" recombination is impossible in these. The resulting software would be inoperable.

    Huh? I run "bash" on all kinds of distributions. Not to mention Apache. And Samba. It's trivial to run the same code on different distributions.

    LSB4, hopefully, will be a further step in the evolution of Linux: The convergence to a single species that will be able to share one single configuration.

    Again, Apache, Samba, bash, etc.

    We're already there.

    The GPL rocks.

    1. Re:Not the same. by mehemiah · · Score: 1

      let me clarify, Interestingly enough, the BSD varients pritty much qualify as different genus, but linux distros are more like clades, they have compatible dna (kernel source and Binary compatibility ) but perhaps a few prezigotic bariers (where the biological species consept gets rough, dogs and wolves are the same species but do not mate in nature, i guess this is where package managers lie) where BSD variants have source compatibility sometimes but not binary compatibility because the source of their kernels are different, so one exploit might not effect the others (like a plague) but all of linux are subject to the same kernel bugs (like the compiler bug found by the gcc programmer) and related distros are subject to the same exploits (like the Debian ssh) but not all distros (like how we're down to one clade of banana in north america.)

    2. Re:Not the same. by Poltras · · Score: 1

      When you need a major in biology to understand a linux-distro analogy, the concept of analogy itself fails...

    3. Re:Not the same. by mehemiah · · Score: 1

      sorry about that. I'll try better next time.

  27. Re:Mutation != Evolution by marco.antonio.costa · · Score: 1

    PHP... pheefff... I was talking about manly, virile languages such as Assembly. :P

    Don't ruin my wisecrack with facts! :)

    --
    Send your spendthrift head of state this
  28. Re:Mutation != Evolution by Anonymous Coward · · Score: 0

    != in assembly?
    Since when?

  29. Its not bad, but... by zartacla · · Score: 1

    ...there are a lot of distributions, good (not necessarily too popular) ones, apart from ubloatuntu, red hat etc, which are in use and new ones are being developed all the time...how do they expect to keep up with all of these and vice-versa ? Who's complaining anyway ? Everybody's in awe of open source and Linux. Introducing standards , man it sounds evil.

  30. Re:/etc still gets too big! by Gazzonyx · · Score: 1

    Except for the fact that it isn't at all in the FHS which already has enough problems with it being very open to interpretation (and sometimes extended... RHEL, what's /net, how does it differ from /srv). Symlink farms mean that you're doing something wrong.

    I've already seen distros symlinking /srv/httpd to /var/www, because that's where apache has been for the last fifteen years! If you have a place for servers, then, what belongs in /opt and what belongs in /srv? If it's a network server, does it go in /opt, /srv or /net? If it's over NFS, does it go in /export/home, /data/home or /home? You cannot separate directory structures by use because much of the data we have has multiple uses.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  31. Needs a code name by harlows_monkeys · · Score: 3, Funny

    Every project needs a code name. For this, I propose "Bullwinkle", and their slogan can be "This time for sure!".

    1. Re:Needs a code name by magus_melchior · · Score: 1

      Wouldn't a better slogan be, "Hey, Rocky! Watch me pull a rabbit outta my hat!"

      --
      "We are Microsoft. You shall be assimilated. Competition is futile."
  32. +1 as a developer by ge0ffrey · · Score: 2, Insightful

    As a developer I've considered this one of the (if not the) most important issue in linux. I am happy to hear it's finally getting the attention it needs. Many applications (especially games) will only be released for linux (and work out-of-the-box without tweaking), once there is a decent way to build 1 release for any (LSB compliant) linux distro. I myself build java applications (on Ubuntu) that work perfectly fine on linux, but because of this problem, I simply don't bother building a release package for linux. No matter how hard is, get it done. And make an extensive test kit to assure Red Hat, Ubuntu and Novell are compatible.

  33. One of Linux' biggest annoyances.. by Anonymous Coward · · Score: 0

    .. is that you just cant try out software quickly without a lot of hassle. For ex. there is a new software that can do $cool_thing, on windows I just download, install, try it, either uninstall or keep it. In Linux if its not packaged for your distro you cant do that quickly, even if its GPL'ed etc.. Most of times they'll give you source and let you compile it by yourself which takes way too long and for most end users is far from convenient. Heck its easier to quickly test new software in WINE rather than to wait till its packaged for your favorite distro.

  34. Closing the door after the horses have escaped... by argent · · Score: 1

    They don't want what happened to UNIX happen to Linux?

    "But, Doctor Evil, that already happened."

    The horses have escaped and had children.

  35. Why don't they insted make a library to abstract by TheSunborn · · Score: 4, Interesting

    Instead of trying to make all the distributions the same, why don't they make a library that abstract away the difference?

    Example: If my program need to link to a ssl library(Such as openssl), version 2.3 or newer, I should call a function
    findLibrary("ssl",2,3) which would return the path to the needed .so file, or null if the file is not installed. There could then be a
    function to also ask the os to install the needed library if it were not there.
    Each linux distribution should then implement the library in a way, so that the Redhat version, might forward the call to rpm, while the debian version of the library would query the dep database insted.

    And instead of the infinite debate on /opt vs /usr/local the program could just call getPathForUserInstalledSoftware();
    And getDefaultCompilerPath() instead of the current autoconfig hack.

    Then a linux standard base, would just be a specification of the needed functions in LinuxStandardBaseLibrary.

    And we would newer have to use the autoconfig hack. (The library might ofcause also be implemented on Solaris, and maybe even cygwin/windows)

  36. It'll never happen. by bjk002 · · Score: 1

    The problem with the *nix community has been and always will be the very thing that makes *nix so attractive: open, availability for forking, etc...

    As a code monkey, I have been a fan of linux as long as I can remember. I can also say that in all that time, THIS issue, more than any other, has always kept *nix from gaining real traction in the biz world.

    CIO: "So I can't REALLY switch between distros because of library differences"?
    DEV: "Yeah thats right."
    CIO: "Then what exactly is the difference between this and windows, other than lack of support?"
    DEV: "Ummm.... well we can see the OS code and change it"
    CIO: "We make widgets not OS's right?"
    DEV: "Yeah..."
    CIO: "So who cares?"
    DEV: "Ummm...." ... and no, I'm not trolling.

    --
    Opinion:=TMyOpinion.Create(Me);
    1. Re:It'll never happen. by gbjbaanb · · Score: 4, Insightful

      COO: so, we've developed a new widget, brilliant. When can we ship it.
      DEV: today, its all tested. I've run it myself on my Debian box.
      COO: sure, it'll run on Customer B's Redhat environment won't it?
      DEV: Ummmm.. well, not straight off.
      COO: ok, so what do we need to do to make it work?
      DEV: well, alter a couple of paths, recompile, change the dependancy for package Z and build a rpm
      COO: and how long will that take?
      DEV: a week, maybe 2 with testing.
      COO: so, that's 2 weeks development costs on top of what we've already spent. We wouldn't have this kind of problems with Windows!

      and I'm not trolling either - standards are good, making extra work for yourself for no good reason is bad. Its not as if a common directory layout, ABI or programming libraries need to affect open source linux in any way. The Kernel is a standard, and no-one complains they don't have a choice of kernels to develop against.

    2. Re:It'll never happen. by JohnFluxx · · Score: 0, Troll

      2 weeks to make an RPM? Wow you suck

    3. Re:It'll never happen. by dubbreak · · Score: 1

      Do you have a job? Do you work in software? Testing an application to a corporation's standards and then packaging takes time. It's not like repackaging your homebrew app in a day. 2 weeks is realistic (or a month if it's a public service agency).

      --
      "If you are going through hell, keep going." - Winston Churchill
  37. Re:/etc still gets too big! by init100 · · Score: 1

    RHEL, what's /net, how does it differ from /srv

    /net is for mounting remote network filesystem shares, while /srv is the opposite, that is local content being shared with remote hosts through various protocols. So as an example, the NFS server could use a subdirectory of /srv for exporting local files, and a client could mount that remote share in a subdirectory of /net.

  38. Simple solution by Viol8 · · Score: 1

    Don't write your code to rely on v 2.3b of some obscure library that some other obscure programs may need a different version of and may not exist on some systems anyway. Stick with core libs like libc etc and you can't go wrong. Or even better just distribute a statically compiled binary.

  39. Re:Feel free to build the ULTIMATE distribution th by mrsteveman1 · · Score: 1

    "Each distribution can take whatever path it thinks is BEST and the results will speak for themselves.

    If it succeeds, then others can copy the improvements made by it."

    Yea, they've had some time to work this stuff out and it hasn't happened. You assume that the best solution will win, and in Linux that isn't the only deciding factor. People choose distros based on things ranging from "i hate novell" all the way to "it had blue wallpaper".

    How about all these distros agree on something beforehand? This community spirit stuff is supposed to enable people to work together, not go in 50 different directions and hope something sticks to the wall eventually.

  40. MOD PARENT UP by gnuman99 · · Score: 2, Interesting

    Exactly!

    The world does not revolve about GPL software. It works about *working software*. I don't care if I use GPL to get my work done, $50 software or if I use a $20,000 a seat software. Whatever makes sense is what is used.

    If Linux community expects ANY sort of commercial software released for Linux distributions, they need to get the LSB implementation done and ready. LSB is like an SDK towards building apps for ISVs. If you don't have it, you end up with app not for Linux, but for Debian 3.0, RHEL 2.0, Slackware 10, or whatever. With LSB, you end up with software for all Linux.

  41. Gotcha by Gazzonyx · · Score: 1

    OK, that actually makes sense. I've always mounted network file systems under /mnt/hostName, but /net is a better solution. Thank you!

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    1. Re:Gotcha by init100 · · Score: 1

      You are welcome. By the way, I use /mnt for permanently mounted local partitions, such as my Windows disks (enumerated as /mnt/win/c, /mnt/win/d, etc, just like they are enumerated in Windows), as well as an extra ext3 partition I use for additional storage.

  42. If it is the colour of wallpaper, who cares? by khasim · · Score: 1

    People choose distros based on things ranging from "i hate novell" all the way to "it had blue wallpaper".

    So? If it works, it works.

    How about all these distros agree on something beforehand?

    Because that requires something known as "prescience". They have to know BEFORE THEY DO IT which options are best.

    This community spirit stuff is supposed to enable people to work together, not go in 50 different directions and hope something sticks to the wall eventually.

    Again, when you know the future so well that you can tell everyone the best approach, feel free to build the ultimate, perfect distribution.

    Until then, the experimental approach has worked so far.

  43. Do you have an example? by khasim · · Score: 1

    will not?? It has already happened! If you have a software which is certified with distribution X, it may or may not run on distribution Y: you have no guarantee, the fragmentation is already here.

    And an example of that would be ... ?

    And what is this "guarantee" that you're talking about?

    Features may be ported, but not necessarily in a compatible way: witness how easily the rpm tools have fragmented recently, ok there is now an effort to reunite them, but this example show that licensing compatibility is by now means sufficient to ensure binary compatibility, which is what LSB is about.

    So your evidence that the GPL doesn't prevent fragmentation is ... the GPL preventing fragmentation.

    What you are claiming as "fragmentation" is more correctly known as a "fork".

    The GPL encourages forks. That is how different concepts are tested.

    1. Re:Do you have an example? by Poltras · · Score: 2, Insightful

      Softimage's XSI, VMWare, many other softwares that can't be recompiled, tested and tech supported in many distros or that need libs that are guaranteed on a platform. You think everything can come from a repository and that every bug in every distribution can be supported, tested and fixed consistantly?

    2. Re:Do you have an example? by mdfst13 · · Score: 1

      What you are claiming as "fragmentation" is more correctly known as a "fork".

      Forking is when you make changes in the source code to cause different behavior. Fragmentation is when identical source code has different behavior on different systems. Do an RPM search on RPMFind, and you will find multiple copies of the same version of the software compiled for different distributions. That's fragmented.

      LSB is about creating a standard core. For those packages which comply with the LSB standard, users should experience (guaranteed is probably too strong a word to use here) the same behavior on all compliant distributions.

      It's worth noting that the open source BSDs are also fragmented: OpenBSD, FreeBSD, etc. Being open source does not prevent fragmentation, although it is a countering force.

  44. Re:Why don't they insted make a library to abstrac by Anonymous Coward · · Score: 0

    Yeah, you need something like the GAC and SxS in Windows. Even the Java guys have identified this ancient problem and are taking steps to mitigate it. What have Linux done? NOTHING!

  45. Re:Why don't they insted make a library to abstrac by Anonymous Coward · · Score: 0

    A "liblsb" doesn't sound like a bad idea at all. Let the distros implement something in whichever way they want, and let liblsb abstract it.

    Hardly applicable to all the problem areas, but it sure could help in some, like such as your "getPathForUserInstalledSoftware()"-example.

  46. Re:Why don't they insted make a library to abstrac by FlyingBishop · · Score: 1

    The trouble is, LSB would essentially turn into ICANN in that regard. How do you determine what qualifies a library for inclusion in LSB except by charging like we do for domain names? Of course, there could also be a vetting process, but one person decides that the vetting process is not working for them, and suddenly you have an alternate version of libSSL floating around that's required for a specific program, and before long the entire thing falls flat.

    We need things to be as much as possible the same. That way, all we have to do is a few autoconfig hacks, which hopefully will disappear soon enough (to be replaced by other dissimilarities we need to standardize.)

  47. Is package handling really a big problem? by miffo.swe · · Score: 1

    From my own experiences the only thing that has been a problem with commercial applications has been those that either outright refuse to install if it isnt "distro X 0.2.3" or those that relies on a specific version of a library instead of just linking it in statically. In all the cases i have banged my head against package management has been the least problem.

    Most games for linux seems to run just fine on pretty much any distribution i have thrown them at. Some, like Urban Terror, Firefox or for example Tremolous doesnt even require an install. I have had the same installs of many apps through countless distributions and upgrades without problems. Why this isnt possible for commercial vendors is beyond me. Since size mostly isnt an issue just tossing the libraries needed with the application isnt much of a deal.

    While i do agree that some form of standard is good i dont think it should be very big or extensive. The bare minimum to put your own libraries, binaries and config files on and nothing more.

    Right now a big drawback of LSB is that it uses rpm while the most widely used distribution uses deb. It would be better to spend that part of LSB time and effort on making settings and files end up in the same places. That way packaging would be easier no matter what package management is used and making packages for many different package management system wouldnt be that much work.

    --
    HTTP/1.1 400
  48. No, VMWare works for me. by khasim · · Score: 1

    Softimage's XSI, VMWare, many other softwares that can't be recompiled, tested and tech supported in many distros or that need libs that are guaranteed on a platform.

    I don't know about you, but I have run VMWare server and workstation on Red Hat, SuSE and Ubuntu.

    Yes, I have. I'm still running VMWare server on my Ubuntu box (Hardy Heron). It works. I have to run a script every time I upgrade the kernel, but that is all.

    I have also run Apache, Samba, BIND and many others on different distributions. Without any problems.

    1. Re:No, VMWare works for me. by Poltras · · Score: 1

      Apache, Samba and BIND are using autoconf and recompiled for every distro. Also, they have a package and are part of repositories. Not the case with many proprietary vendors...

      I agree VMWare works on most major distribution (it recompiles the kernel module, which it shouldn't have to), although I'm sure it won't work on every YDL or shady distros out there.

      Also, IIRC, they have specific distros for their technical support services. Guess why...

    2. Re:No, VMWare works for me. by mixmatch · · Score: 1

      I'm sure it won't work on every YDL or shady distros out there.

      What, then, makes you think that these distros would even bother conforming to the LSB anyway? As far as I'm concerned the smaller distros can do what they want with linux. Its the ability of these smaller distros to deviate from the norm that has created truly innovative solutions. Anyone remember when Knoppix released the live CD distributions?

  49. Don't Forget the Politcs...... by ocularb0b · · Score: 1

    I dont think on a technical it's so hard to build for multiple distros. You can pretty easily search for where things are and should go. I'm amazed how often 'alien' works to install rpm's or whatever on deb systems. Its just all the possibilities for libs to use in an app and all the versions of each. If you standarize too much, then whats the point of distros anyway? But LSB will make it easier for projects/companies decide to port or build for linux. To give them warm fuzzy manual and shrink the learning curve, on paper. Whatever if it is good it'll be good, if it sux no one will follow it. go darwin go!

    --
    Support bacteria, the only culture most people have.
  50. The easy shortcut. by miffo.swe · · Score: 1

    Standardise on one and only one distribution. Dont give a %&& about the others.

    Release the application as a virtual appliance for the virtual enviroment of choice. Go have a coffee and scoff at the poor sods who have to build their apps for several versions, languages and servicepacks levels of Windows etc.

    --
    HTTP/1.1 400
  51. So VMWare does work on different distributions. by khasim · · Score: 1

    Apache, Samba and BIND are using autoconf and recompiled for every distro. Also, they have a package and are part of repositories. Not the case with many proprietary vendors...

    So? Fragmentation would be when they did NOT work.

    Since they DO work, that is not fragmentation.

    I agree VMWare works on most major distribution (it recompiles the kernel module, which it shouldn't have to), although I'm sure it won't work on every YDL or shady distros out there.

    Yeah ... so it does work.

    Again, fragmentation would be when it did NOT work. Not when it DOES work. Okay?

    Also, IIRC, they have specific distros for their technical support services. Guess why...

    Why are you bringing that up? If the code runs, the code runs. You're trying to introduce things like EULA because ... ?

    And since you've already admitted to the fact that they DO run ...

    There is no fragmentation and the GPL still rocks.

    1. Re:So VMWare does work on different distributions. by Poltras · · Score: 1

      Apache, Samba and BIND are using autoconf and recompiled for every distro. Also, they have a package and are part of repositories. Not the case with many proprietary vendors...

      So? Fragmentation would be when they did NOT work.

      As far as I am concerned, I never tried compiling Apache on Redhat and installing the resulting binary on Ubuntu/Slackware/YDL/.... That would be interesting indeed. Please try that and if it works I'll reconsider my opinion.

      Since they DO work, that is not fragmentation.

      I agree VMWare works on most major distribution (it recompiles the kernel module, which it shouldn't have to), although I'm sure it won't work on every YDL or shady distros out there.

      Yeah ... so it does work.

      Again, fragmentation would be when it did NOT work. Not when it DOES work. Okay?

      Keep you witty comments for yourself. We don't need another immature talk around here. And VMWare RECOMPILES A MODULE FOR EACH INSTALL YOU DO. Did you follow that part? Can you guess why?

      Also, IIRC, they have specific distros for their technical support services. Guess why... and while you're at it guess why they don't answer support calls for every distro. Maybe they just don't have lawyers to read the GPL...?

      Why are you bringing that up? If the code runs, the code runs. You're trying to introduce things like EULA because ... ?

      And since you've already admitted to the fact that they DO run ...

      There is no fragmentation and the GPL still rocks.

      I remember working on a product for Linux.. We had as a constraint that we didn't support anything except redhat (which was fine anyway since the product is vertical enough to ask its users a specific distro). we had the longjmp bug (see below), which means we couldn't support RH5, only RH4. Fun is even more, we were dependant of libraries made by a vendor that didn't support the latest redhat either, so when we tried to upgrade and ran into bugs, we couldn't get support to solve those on anything except RH4... and funny is those bugs didn't happen in RH4 (some did, some didn't, etc). What would YOU do, sir, in this case?

      It's not whether the code works or not, it's that the code MIGHT not work on other platforms. Therefore, and since you can't really prevent this in the Linux world right now, you need to guarantee that your support lines will answers for one platform. It's a jungle out there when it comes to stuff like libraries and dependancies . Code once, test everywhere. Ooops, setjmp and longjmp in libc isn't binary compatible between redhat4 and 5 (real story on one of my contract... try to find the error)? But it's the SAME platform, different releases... imagine the horror when you're looking at slackware vs debbian vs redhat vs Mom's distro.

      Repeat after me: for most projects, recompiling on every platform is not an option. There are hundreds of them. And I'm not even talking about testing them.

      It's even more true when you depends on libraries that aren't available on all platforms.

      The solution? Simply put a certificate that represents not a distro, but a set of components that are guaranteed to work in a consistent manner among many distro. So vendors just support this certificate of compatibility (lets call it LSB) and tadaa, choice to the user and good deal to the vendor. So no one is stuck with Redhat if they don't like it. There is one in place right now, it's called POSIX. With autoconf, you are guaranteed consistancy between platforms, but you need to GPL your code, since it needs to be reconfigured/compiled for the distro, which cripples a lot of developers. LSB fills the gap GPL couldn't. And then some GPL could but LSB just doing better.

  52. Re:Why don't they insted make a library to abstrac by Anonymous Coward · · Score: 0

    Example: If my program need to link to a ssl library(Such as openssl), version 2.3 or newer, I should call a function
    findLibrary("ssl",2,3) which would return the path to the needed .so file, or null if the file is not installed. There could then be a
    function to also ask the os to install the needed library if it were not there.
    Each linux distribution should then implement the library in a way, so that the Redhat version, might forward the call to rpm, while the debian version of the library would query the dep database insted.

    And instead of the infinite debate on /opt vs /usr/local the program could just call getPathForUserInstalledSoftware();
    And getDefaultCompilerPath() instead of the current autoconfig hack.

    Then a linux standard base, would just be a specification of the needed functions in LinuxStandardBaseLibrary.

    And we would newer have to use the autoconfig hack. (The library might ofcause also be implemented on Solaris, and maybe even cygwin/windows)

    CMake.

  53. Re:Why don't they insted make a library to abstrac by TheSunborn · · Score: 1

    But inclusion of a library should not mean that any distributions should have to include it. It just mean that the program can query "is this library installed". So the only thing they really need to agree on is what to call the library. I think they can agree on that.

    So if you have a minimum linux distribution that just include the kernel and a static linked bash, you might have a correct implementation, that just return null to any library query.

    But the point is that there are 2 different and independent problems that need to be solved.

    1: How do an application query about the existens of software(library, compiler, awk and so on), default paths and other operations that differ from distribution to distribution.

    2: How do we ensure that the distributions include needed libraries.

    My solution would only solve problem 1, but I really think that is the big problem. Most distributions are good at including libraries, and when I run into problems with applications needing a library, the problem for me is not "Hmm, is this included in Fedora core" but more like " I know this library is here someware, but I really have no knowledge about what package contain it. ).

    If a user is running "Fedora core 2" which only include qt3, and my program require qt4 the only solution is to tell the user to upgrade his linux distribution, or install the library himself.

    Also, having this library, would make it easy for an 3. party developer to find out what distributions have all the needed library, so the "Get all distributions that have all needed libraries" could be a simple, but very helpfull tool. Then the developer can either do a "This is good enough" or static link the libraries that are not common enough. But having to static link to the qt3 library, because the application can't ask the distribution to install it if it is missing(With user accept ofcause), or because there are so many places the library can be located. That is stupid.

    And once someone have implemented this library, it would be easy to define a set of "Standard Desktop linux 2008 libraries and tools" that the distributions could support.

  54. Does this mean... by A12m0v · · Score: 1

    Cross-distro binary compatibility? If so, and if it does happen, then we can finally claim the Year of the Linux desktop. GNU/Linux needs a single package manager, this will make it easier for users and developers.

    --
    GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
  55. Re:Feel free to build the ULTIMATE distribution th by Macka · · Score: 1

    And how exactly is competative feature evolution between distros meant to help improve the situation for developers? Survival of the fittest feature, as you advocate, is anathema to providing the distro neutral development environment the LSB are aiming for and developers would love to have.

    The real danger of Linux fragmentation has nothing to do with licensing and everything to do with NIH syndrome. Having everything GPL has done little to pull the Linux distros together. It's the urge to have a competative advantage, to one up the other fella that forces the distros apart. This is why the LSB is so important: it helps to counteract that!

  56. How stupid are you? by khasim · · Score: 0, Flamebait

    As far as I am concerned, I never tried compiling Apache on Redhat and installing the resulting binary on Ubuntu/Slackware/YDL/.... That would be interesting indeed. Please try that and if it works I'll reconsider my opinion.

    How stupid are you? Oh, I get it. You're some uninformed kid who's trying to dig himself out of the hole he's argued himself into.

    I copied Apache from Debian Sid to Ubuntu Hardy Heron. It worked.

    I copied Apache from Fedora 9 to Ubuntu Hardy Heron. It worked.

    Looks like you don't know shit about what you're talking about. But what did I expect?

    Keep you witty comments for yourself

    Why? It amuses me to mock kids like you in public. I have facts, you have your opinions. Sucks to be you.

    And VMWare RECOMPILES A MODULE FOR EACH INSTALL YOU DO. Did you follow that part? Can you guess why?

    It's funny because you keep trying to bail yourself out with rhetorical questions. Because you don't know the answers and you're hoping that I don't, either.

    Sucks to be you. The modules get recompiled because they need the exact kernel version number. That's all. That's why the same code will compile on each kernel update. 100% of the code is the same.

    Let me guess, you're still living in Mom's basement.

    I remember working on a product for Linux..

    Yeah, sure you did. LOL

    What would YOU do, sir, in this case?

    I'd stop trying to pretend that you know anything about what you're talking about.

    You're confusing 3rd party libraries and the vendor's support for them with Linux.

    Linux is the GPL'd portion. You can fix bugs in Linux.

    With a vendor, you're fucked. And if you DID work on such a project you would KNOW that. LOLx2

    It's not whether the code works or not, it's that the code MIGHT not work on other platforms.

    Keep talking. It's hilarious. :)

    So Linux is "fragmented" because your 3rd party vendor's EULA states that they only support Red Hat 4. LOLx3

    And, as I've already shown, Apache DOES work. But feel free to say that it MIGHT not. LOLx4

    Repeat after me: for most projects, recompiling on every platform is not an option. There are hundreds of them. And I'm not even talking about testing them.

    LOLx5

    But ... somehow ... Apache can handle it. And Samba. And BIND. And dozens of OTHER apps.

    But YOU ... you have PROBLEMS ... therefore Linux is "fragmented".

    LOLx5

    When a thousand other people are doing exactly what you claim CANNOT be done ... sorry, I'm going to have to go with the thousand who can do it. Sucks to be you. LOLx6

    It's even more true when you depends on libraries that aren't available on all platforms.

    It's like you're retarded or something. You CANNOT see the difference between your 3rd party vendor's EULA and Linux.

    Oh, it's because you're too stupid to understand the difference, isn't it?

    The solution? Simply put a certificate that represents not a distro, but a set of components that are guaranteed to work in a consistent manner among many distro.

    The LSB have been trying that since 1998.

    They've failed for 10 years.

    Yet people like you (stupid people) STILL claim that the LSB is needed because Apache and Samba and others CANNOT do what they've been doing for YEARS.

    I have facts. You have your opinions.

    The facts contradict your opinions.

    Linux is NOT the same as a 3rd party vendor's EULA.

    Sucks to be you.

    LOL

    1. Re:How stupid are you? by Anonymous Coward · · Score: 0

      Wow. Just wow.

      I don't even know why I'm answering. Maybe because I'm just too kind, or not.

      Between the LOLs and L2P, the classic projected insults ("mom's basement", "you're too stupid", "sucks to be you"), the exclamation marks and the grammar mistakes, I tried to find content. And what I got was mere:

      • You copied Apache from Fedora 9 to Ubuntu Hardy Heron. It worked. I gather you copied the binary, which is great. It seems your original point (which you didn't come back at all after going postal) is right. Which doesn't make it true for every project out there, as my experience has shown, but following the same standard of Apache, should.
      • EULA is not Linux. Which I never said it was. Don't know why you're coming back on this.
      • I'm a kid in a mom's basement. No, sir, I'm not.

      For the rest, I didn't quite follow your thoughts. You seem to go crazy over, and want to win this Argumentum ad hominem rather than using a consistent and intelligent manner. And you forget the single best example of binary incompatibility that I encountered.

      Alright, sir. You win. I'll use William Gibbs McAdoo wisdom and invoke Goldwin law or whatever you want so that you win this. I'm a loser, so the magnificent Khasim said, after this O delightfully well-written piece of garbage.

      I don't know if there's something to learn over this. Just don't bother answering this. I won't care, I'm anonymous.

  57. Choice is not always good. by NateTech · · Score: 1

    Ahh this seems like such a good time to mention this again: Too many CHOICES in software not always a good thing, kids.

    LSB is trying to remedy the Fallacy of Choice.

    It won't succeed, because the devs simply don't care about usability -- they care about things only developers care about and 99% of the rest of the world doesn't.

    (Thus, Linux has 1% market share on the desktop. Funny how that works.)

    I'll get marked as a Troll for this, but it's true. I'm a Linux fan, but I'll take a working desktop (Windows, Mac, doesn't matter) over the Linux desktop any day of the week, and DEFINITELY on patch/upgrade release day.

    --
    +++OK ATH