Slashdot Mirror


Building Applications with the Linux Standard Base

r3lody (Ray Lodato) writes "Just because Linux is under the GPL, some people believe that it's pretty standardized. Actually, each distro has its own little additions and, consequently, quirks. Writing an application to work reliably under all variations is not a slam-dunk. The Linux Standard Base Specification seeks to provide the common ground that all Linux apps should adhere to, and therefore make reasonably sure that they will work as advertised. Building Applications with the Linux Standard Base is a reference manual for application developers to make sure their programs will work across the Linux map." Read on for the rest of Lodato's review. Building Applications with the Linux Standard Base author Core Members of the Linux Standard Base Team pages 246 publisher Pearson plc publishing as IBM Press rating 8 reviewer Ray Lodato (rlodato AT yahoo DOT com) ISBN 0131456954 summary Very dry reading, but a lot of useful information packed into a slim 246 pages.

I've been involved with IBM products and documentation since the late '70s, and their documentation has traditionally come in two flavors: user's guides, and reference manuals. The former are meant to be read cover-to-cover (more or less), and the latter are meant to be looked at for specific bits of information. This book falls more to the reference manual side of the spectrum. Consequently, reading it cover-to-cover was a little dry, but the information needed to get an application certified with the Linux Standard Base (LSB) was clearly laid out.

Building Applications with the Linux Standard Base (published by IBM Press and available on your favorite bookstore sites) is laid out in five large parts: Introduction, Developing LSB Applications, Certifying for the LSB, Contributing to the LSB Project, and Using LSB Resources. Except for the first part (Introduction), the book gives specific examples, and many, many references to the opengroup.org website's sections on the LSB.

It becomes obvious as you go through the book that the Linux Standard Base is still evolving. The authors (13 core members of the LSB team) frequently allude to how the project can (and should) be extended to increase its scope and sophistication. Two chapters (Adding New Interfaces..., and Adding New Architectures...) cover (albeit skimpily) what's needed to update the specification.

Backing up for a moment, Part II (Developing LSB Applications) describes in detail (with examples) the Dos and Don'ts of coding practices. It then explains carefully how an application should be packaged for distribution (RPM), and finally wraps up with a section on porting Solaris apps to the LSB. In each chapter, step-by-step instructions are given when appropriate. Differences in filesystem hierarchy, signal handling, and program options are all laid out to help you through.

Part III goes over the LSB Certification process. Both runtime environments (distros) and applications are covered. Again, the book lays out the process in a step-by-step approach.

The last part in the book talks about the various resources available: the written spec, the test suites, and various usage guides. The chapter on using the LSB test suites shows how much thought went into making sure a successful test ensures a certifiable (in a good way) application.

All in all, Building Applications with the Linux Standard Base, has what you need if you're developing a commercial-grade Linux distribution or application. Once your product has passed the testing described inside, you can be confident that it will work on almost anything Linux. Very dry reading, but a lot of useful information packed into a slim 246 pages. I'd give it a 7 for writing style, but a 9 for content: total=8/10.

You can purchase Building Applications with the Linux Standard Base from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, carefully read the book review guidelines, then visit the submission page.

45 of 282 comments (clear)

  1. Standards by Anonymous Coward · · Score: 4, Funny

    Ah, yes, standards. So many good ones to choose from.

    1. Re:Standards by Smilin · · Score: 4, Funny

      One of several standard responses?

    2. Re:Standards by baquiano · · Score: 2, Informative

      Actually, a variation on a standard authoritative quote:

      The nice thing about standards is that there are so many of them to choose from.
      -- Andrew S. Tanenbaum

      --
      You're bound to be unhappy if you optimize everything. --Donald Knuth
  2. Actually... by drgroove · · Score: 4, Funny

    ... writing apps that work across distros is really easy - it's called Java. :)

    1. Re:Actually... by MrRuslan · · Score: 3, Interesting

      What about Mono www.mono-project.com

    2. Re:Actually... by cthrall · · Score: 4, Funny

      You misspelled "Python."

    3. Re:Actually... by jo42 · · Score: 5, Informative

      ...and I've see Java apps (i.e.InstallAnywhere) that stopped running because a distro changed from XFree86 to X.Org. The (Sun) JVM was expecting a certain library to be there, it wasn't, and boom!! - it fall down...

      Mandatory "Java Sux!" - me

    4. Re:Actually... by WebCowboy · · Score: 4, Insightful

      Dunno about you but I don't find Java all that easy across distros either.

      Java apps aren't immune to dependency issues either and I'm not aware of any widespread effort on the scale of LSB to create a compatibility and deployment standard.

      Dont forget the biggest dependency of all--you need a JVM to run Java. That still needs to be packeaged like any other app. Let me know when there is a GPL-compatible JVM, available in an LSB-compliant package that will install and run cross-distro...and wont break if you use a different X server or non-standard hardware...then we'll talk.

      Yes, Java can be written once to run everywhere, but you often still have a few hurdles to clear during compilation and installation.

    5. Re:Actually... by abigor · · Score: 2, Interesting

      Er, Java is the probably about the most deployed server app language on earth...do you actually know what you're talking about? Have you ever worked in a real situation with Java?

      "As it is right now, it's a neat language whose practical applications are limited by the performance penalties."

      Okay, so I've answered my own question: no. You may want to go and check out this company called IBM sometime.

      And yes, I'm talking client side also. The Visual Paradigm UML tool is a nice example of a great Java app. Runs on Linux too, of course.

      As an aside, there was a time on Slashdot when people actually knew what they were talking about when the subject of programming came up (back when I had a five digit uid). As the parent so clearly demonstrates, those days are gone.

    6. Re:Actually... by ScytheBlade1 · · Score: 5, Funny

      "Saying that Java is nice because it works on all OSes is like saying anal sex is nice because it works on all genders."

      --A friend of mine, aka Orlphar

    7. Re:Actually... by Pseudonym · · Score: 3, Funny

      Oh, no no no. Java is "write once, run anywhere". Common Lisp, on the other hand, is "write anywhere, run once".

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    8. Re:Actually... by Tribbin · · Score: 3, Insightful

      I'd like to state that in this case a layer lower than the virtual machine is not working.

      If the virtual machine is not working properly, it's like running an x86 executable on a sparc.

      --
      If you mod this up, your slashdot background will turn into a beautiful sunset!
    9. Re:Actually... by JamieF · · Score: 2, Insightful

      >At the moment, Java gui apps are neat toys.

      I guess IBM, Oracle, SAP, Intel, Novell, Red Hat, Wind River, and others desperately need you as a consultant to tell them that they should stop using Eclipse and rewrite their developer tools in C. Why don't you email them and suggest that?

      GNOME is pretty slow too. What's that written in again?

  3. Non Sequitur by pete-classic · · Score: 5, Insightful
    Just because Linux is under the GPL, some people believe that it's pretty standardized.


    Does anyone see how one thing is supposed to follow the other?

    -Peter
    1. Re:Non Sequitur by pete-classic · · Score: 2, Insightful

      Huh? Neither "GPL" nor "standardized" represent either of these things AFAICT.

      -Peter

    2. Re:Non Sequitur by Eric+Giguere · · Score: 3, Insightful

      Doesn't releasing something under GPL pretty much guarantee a loss of standardization? GPL = "Go, procreate and live".

      Eric
      How to detect Internet Explorer using the headers
    3. Re:Non Sequitur by FooBarWidget · · Score: 2, Funny

      Then by your reasoning, we should kill democracy because having two ore more different milk manufacturers is bad.

  4. "linux standardization" by stratjakt · · Score: 5, Insightful

    This is about the hundredth project of it's kind that I've seen since linux' infancy.

    Good luck to it. I'd love see a "works with linux" stamp, and have distro choice be completely irrelevant.

    It's absolutely necessary if linux is to go anywhere worth going commercially.

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:"linux standardization" by Frohboy · · Score: 2, Informative

      Umm... I don't think the "Linux Standards Base" is the hundredth project of its type you'd have seen since the inception of Linux. Whereas there have perhaps been other attempts at standardization by small groups of individuals, the LSB has been (more or less) the first major attempt amongst the distros and major vendors to come up with binary standards.

      Check out the membership of the Free Standards Group (which governs the LSB) here. Note that it includes essentially all the significant commercial Linux distros, as well as the big corporate supporters (IBM, HP, Sun). (Although I'm sure many on Slashdot scoff at the notion of Sun being associated with truly "free" standards, nonetheless they are a big corp with ties to Linux and OSS.)

      Furthermore, you talk about the LSB as though it is a new project. It has actually been around for a number of years, and has been mentioned on Slashdot many times over the years. (See e.g. here, here, here, and here.) Version 1.0 started in 2000. I believe 1.1 came out in 2001, followed by 1.2 and 1.3 in 2002. Version 2.0 came out in September of this year (with 2.0.1 released in late October). Currently, there is a 2.1 release candidate available.

    2. Re:"linux standardization" by runderwo · · Score: 3, Interesting

      LSB is nothing new. It's been around since 1998. It's also a vendor consortium, which means nonprofits like Debian have no say in the standards they publish. That fact alone will unfortunately limit its uptake to the commercial distributions, and in the end probably just cause a greater divide between the commercial and noncommercial distros.

    3. Re:"linux standardization" by Stevyn · · Score: 2, Interesting

      This discussion has been brought up several times here on slashdot. It always consists of the same arguments.

      There are those that feel it's not important. Those that feel it's absolutely critical. And those that claim it already exists.

      Well, it is important and it doesn't already exist. Four package managers that usually work don't count as a standard. That's just the shotgun method of hoping one of them will hit the target.

      What helps linux growth in one area hurts it in other areas. Developers and distros keep trying to reinvent the wheel. The worst is when it doesn't work, the response is "well, it doesn't work too well on windows so what do you think of that?" (not from developers, but comments on here).

      I think the only way developers could agree on one standard would be if someone high up the chain like Linus either came up with an idea or picked one and people worked on improving it. However, it's been my understanding that this is not something he would want to do.

      Until then, I'll keep using portage ;)

  5. it's lame that... by xyeeyx · · Score: 4, Insightful

    ...programs can break on subsequent versions of linux because something has been moved or changed. Come on, guys. Maybe the reason linux isn't mainstream yet is because it's so hard to get your feet on the ground before the rug is pulled out.

    1. Re:it's lame that... by Feyr · · Score: 2, Insightful

      that's called ldd and strace. those let me solve missing deps problems in under 5 minutes

    2. Re:it's lame that... by Archangel+Michael · · Score: 2, Insightful

      SCUSE ME, but shouldn't the average user not have to worry about such things? I mean, I can and do use make and ldd and strace and all that, but then again I am a professional. Mom on the other hand isn't, and shouldn't have to worry 'bout such things.

      Linux will not get to the desktop until such time as one can walk into a store (or online) and buy SUPERDEEDUPER Tools for Linux for 49.95 and have it work, out of the box on all the major distros (SuSE, Redhat, Fedora, Debian ..... ).

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  6. Application level isn't such a problem by grahamsz · · Score: 3, Insightful

    An effort to make device driver standards would mean a lot more to lots of us.

    That would make it easier for manufacturers to make linux supported hardware and know that it worked.

    Every linux user needs linux compatible hardware, but relatively few need commercial software.

    1. Re:Application level isn't such a problem by dbacher · · Score: 3, Insightful

      2.6.8 to 2.6.9 broke ABI.

      --- QUOTE from someone who doesn't get the problem
      Simple, get your kernel driver into the main kernel tree (remember we are talking about GPL released drivers here, if your code doesn't fall under this category, good luck, you are on your own here, you leech .) If your driver is in the tree, and a kernel interface changes, it will be fixed up by the person who did the kernel change in the first place. This ensures that your driver is always buildable, and works over time, with very little effort on your part.
      ---END quote from someone who doesn't get the problem

      Wrong.

      The kernel developer goes into the GPL source code, and marks the driver as "incomplete" or at absolute best makes it compile. Not actually having the device, in all likelyhood, the code is then comitted, untested, to the kernel.

      At some later point in time, a week or a month down the line, some unsuspecting user installs the updated kernel, and their device starts having random, untrackable problems. They come to the list, and are told by a dozen people that the kernel developers aren't responsible for drivers, and that they should talk to whoever actually maintains the driver.

      After finding the appropriate mailing list for the particular driver that the kernel developer broke, the user posts a question about is there a patch, and receives e-mails from not less than 10 trolls telling them "it's open source, fix it yourself." Their message is in a sea of messages in all caps with too many question marks and exclamation points, where a developer is going around in circles with a user who can't afford a keyboard with a shift key, and can't afford to buy a vowel (they are expensive, you know).

      Finally after all of this, the device driver developer sends them back a reply "sorry, I've not had a chance to test with the new kernel yet, run the old version while you wait." Then the developer gets around to posting a patch.

      If you're lucky, it's a device a lot of people use, people get angry about it, and it gets some attention fast. If you're unlucky, you've got a device that needs the older kernel and a device that needs the newer kernel, and you have to make a choice between the two and wait for the other driver to get upgraded.

      The odds of another user capable of it getting off their ass and actually researching, fixing, and posting the fix are virtually nil.

      Here is the scenario for Windows:
      Insert your device
      Boot the computer
      Windows says "there's a new device, put the disk in"
      Windows copies the device driver
      Windows possibly reboots (this is rare for most device classes, but some still need reboots)
      Device works

      Now you can argue about bluescreens or whatever, but it is a better model in that Microsoft's kernel team takes no time maintaining device drivers. There's a clear ABI division between their kernel and their drivers, and that division changes only at major versions of the kernel.

      This is the thing. When I get the kernel, I'm getting thousands of drivers I don't want or need. Most of these aren't being actively maintained, and are being updated so that they compile but aren't undergoing any level of testing at all.

      The kernel developers do not perform unit testing on the drivers (there is no facility for them to do so), and do not typically have the hardware or the large number of hardware, software combinations that need to be tested.

      So no, putting it in the kernel tree does absolutely nothing to solve the problem.

      --
      If your code is acting bloated, and is running rather slow, it's likely and predicted that some loops you will unroll.
  7. Extract from book by oexeo · · Score: 4, Funny

    File naming protocol
    ------
    Characters in filename names are a rare commodity, to be used wisely.
    Filenames should be abbreviated to the point of obfuscating any meaning:
    Why use "print" when you can use "prin," why use "prin" when you can use
    "pin," why use "pin," when you can use "xb."

    Standard output formatting protocol
    ------
    When printing a table of data to standard output, there is no need to
    label rows and columns. Linux users are elite professionals, they
    instantly know what the endless rows and columns of hex values,
    abbreviated acronyms, and various other standard and non-standard
    variables represent.

    In the rare occasion that a Linux user is unsure what some data
    represents, he will simply view the source, if the source is not
    available, he will disassemble the executable, and read the assembly code.

    If you must label columns and/or rows, please
    follow guidelines set out by the "File naming protocol" section.

    1. Re:Extract from book by harves · · Score: 2, Interesting

      From The Free On-line Dictionary of Computing (19 Sep 2003) [foldoc]:

      usr

      User. The "/usr" directory hierarchy on {Unix} systems. Once
      upon a time, in the early days of Unix, this area actually
      held users' home directories and files. Since these tend to
      expand much faster than system files, /usr would be mounted on
      the biggest disk on the system. The root directory, "/" in
      contrast, contains only what is needed to {boot} the {kernel},
      after which /usr and other disks could be mounted as part of
      the multi-user start-up process.
    2. Re:Extract from book by Michael+Woodhams · · Score: 2, Interesting

      Characters in filename names are a rare commodity, to be used wisely.

      In a previous job, I was (among other things) maintaining a tool for installing updates to a big vertical-market ap. We got a bug report that it was throwing errors over some file. On investigation, we found a java file with a file name over 100 bytes long, which was more than 'tar' could handle.

      We could have done some workaround on 'tar', but instead we bounced it back to the developers and told them to fix their *#$*%&#^ file name. Descriptive file names can go too far.

      --
      Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
  8. metastandard by Doc+Ruby · · Score: 3, Interesting

    The biggest pain in the ass I find in writing complex apps that interact with other complex apps, across different Linux distros, is the different filesystems. Where's the meta-FS-standard, where either "make" or at runtime my app can access a filesystem path under one distro's namespace (ie, on which the app was designed), and have it translated to the distro under which it will run?

    "That's the nice thing about standards... there's so many to choose from!" - Anonymous PHB

    --

    --
    make install -not war

  9. FreeBSD has it figured out by gtrubetskoy · · Score: 3, Interesting

    Actually, each distro has its own little additions and, consequently, quirks. Writing an application to work reliably under all variations is not a slam-dunk.

    IMHO, this is one great advantage that the FreeBSD project has - there are no "distros".

    1. Re:FreeBSD has it figured out by The_Dougster · · Score: 3, Insightful


      What about Debian GNU/kFreeBSD? Isn't that the Debian distro of FreeBSD? Just because FreeBSD is still relatively obscure doesn't mean that its not going to end up in the same boat as Linux. Give it a couple more years.

      --
      Clickety Click ...
    2. Re:FreeBSD has it figured out by Chandon+Seldon · · Score: 2, Interesting

      I'd write this as "BSD forks need to maintain their own kernel", which sounds more like a disadvantage, but I don't think it's really relevent.

      Let's talk about "Desktop Distros of Unix" for a second. We have the following major players:

      Solaris, FreeBSD, OpenBSD, NetBSD, Debian GNU/Linux, Slackware Linux, RedHat/Fedora Linux, Mac OS X, (many others)

      Then there's non-unix desktop systems:
      Windows

      Now, for some odd reason Windows has the majority of desktop market share even though almost every other system out there is Unix based and mostly-compatible.

      Here's the trick: Everything (meaningful) other than Windows that might be on the desktop is Unix. If we can make the Unixes compatible enough, then application developers can target two platforms and get everyone. Targetting 2 platforms for 90% and 9% is fine. Targetting 7 platforms for 90% 4% 2.5% 1% 0.7% 0.5% and 0.3% isn't the plan.

      Moving towards two (or three) different target platforms for desktop applications is worthwhile, and (like it or not) FreeBSD is the same platform as Linux and will be helped by any LSB efforts (and should contribute to and comply with them if possible).

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
  10. Do I use urpmi, APT-GET or YaST to get the doc? by filesiteguy · · Score: 2, Interesting
    The problem I see here is that there is a group trying to put together a "standard" for writing to "Linux". However, what is Linux? Is it the Kernel that Linus keeps? Is it the CLI that runs many server apps? Is it the GUI that I run at home?

    I think, until a Steve Jobs or Bill Gates comes out with a killer apps with a corresponding toolkit that takes over the market, we'll be stuck in the same boat.

  11. Oh reeeally.. by Anonymous Coward · · Score: 3, Interesting

    Writing an application to work reliably under all variations is not a slam-dunk.

    So it turns out that Microsoft's mutant penguin ad compaign was right all along?

    For the past few years, I've been screaming about the negative effects of having so many different standards to choose from on Linux - this is why I personally use FreeBSD and OSX (well, okay, and Windows for games).

    But the biggest problem (which also exists on FreeBSD), is QT. The shitty licence has caused so much damage by keeping cross-platform and commercial development off KDE (one of the most popular window managers). I know there's GTK, but I can't help think that Linux might have reached critical mass and become mainstream popular without it - GTK might not be perfect, but it is a STANDARD.

    Monkey man Steve Balmer might have looked silly when he yelled it on stage, but he was right: "Developers, developers, developers." The Linux community should be bending over backwards to attract new developers into their flock, by making their passage into the fold as easy and as hassle-free as possible.

    Chicken and the egg: applications for Linux, users for Linux. The Linux community can't force people to use Linux for the sake of using Linux, but they can bring applications to the platform - if they're worth using, users will follow.

  12. Re:How about building applications for unix? by DreadSpoon · · Score: 4, Interesting

    First, that doesn't work in real life, where even the "real" UNIX systems don't follow the various UNIX standards perfectly.

    Second, SUS and other UNIX standards don't cover binary portability at all, which is usually far more interesting to _users_ than source compatibility. I haven't and never will look at the source of most the apps I run, but I _do_ know that I want to be able to run them. I don't want to have to compile things myself, wait for others to compile and package them, and/or hunt through hundreds of packages for the same software to find the one that works on my systme. I want to go to the upstream software's site, click Install Software, and have it work. And that's 100% feasible, assuming the apps sticks to a standard like the LSB and your distro is LSB compliant.

    Third, there's also then the issue of proprietary apps which don't even have the option of making users compile the source. Unfortunately, there are proprietary apps out there, there are people who _want_ to use proprietary apps even in the face of existing OSS alternatives, and that's that. The LSB largely exists to serve those apps, in fact.

  13. Online version w/ GNU Free Documentation License by AtomicJake · · Score: 5, Informative

    "Building Applications with the Linux Standard Base" has been (apparently) also published under the GNU Free Documentation License. Here is the Online version.

  14. Radio Edit... by Duncan3 · · Score: 2, Insightful

    Writing an application to work reliably under all variations is not a slam-dunk.

    s/a slam-dunk/possible/

    Solution: Python, Perl, ANSI C, etc. i.e. don't code "for Linux" at all, just code. Of all the ports I've done, Linux is always the biggest pain in the arse, due to the joyous work of glibc, and of course Redhat's need to do everything their own way.

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
  15. Re:What we need--installation/uninstallation API by Xabraxas · · Score: 3, Interesting
    Try running a Linux binary from two years ago.

    While this is true there are programs that ran on 98 that don't run on XP. If they don't make a newer version of the program you are SOL. With OSS you just recompile, which is relatively painless for small applications. Even if a simple recompile doesn't work it is still possible to modify the source to get it to work.

    That way, GNOME and KDE could just be seperate shells on top of the same desktop, and they would happily run each other's apps.

    That seems pointless to me. Why wouldn't you just make one shell with all the options of GNOME and KDE? It seems like after you got everything to work as one DE with different shells, you would only be one small step away from merging them completely into one.

    I do think GNOME and KDE should integrate as much as they can to keep things compatible and consistent BUT it's good to have two seperate environments, especially since they seem to aim at different crowds. Also, competition is a good thing.

    I'd also request a kernel driver API that unties them from the kernel--recompiling an entire kernel to support a new scanner I just bought is ridiculous. I should just be able to go online and download a special binary driver

    I'm confused by this. You don't need to recompile your kernel to include a new driver. You can build modules without rebuilding the entire kernel. Also I build the madwifi-driver, which is partially proprietary and outside of the kernel, without having to recompile the kernel.

    --
    Time makes more converts than reason
  16. Re:What we need--installation/uninstallation API by sloanster · · Score: 2, Informative

    The API should remain sane so that you could install something from four years ago and still have it work. I can still run Windows 3.1 and 95 applications on my XP laptop. Try running a Linux binary from two years ago.

    You're FUDDing about the linux binary API, as I can install the quake 3 arena from 1999 (which I originally ran on redhat 5.2) on my suse 9.2 and it runs perfectly.

    As to your windows backwards compatibility, you lose points for dishonesty. I know of quite a few w95/w98 apps that simply crash and burn on 2k/xp - and you claim all windows 3.1 apps run fine on xp?

    I call bullshit.

  17. Re:Don't hardcode paths by barawn · · Score: 2, Insightful


    I don't know why anyone would put system-wide configuration data anywhere else but in /etc. I mean, I've been working around *nix for going on fourteen years now, and that was always supposed to be the place.


    Yah, but that's not what he's alluding to. What about /etc/thisapp/thisapp.conf instead of /etc/thisapp.conf (which pollutes /etc rather quickly)?

    Hence, make it all configurable. Then you don't have to worry.

  18. Re:How about building applications for unix? by networkBoy · · Score: 2, Insightful

    Not trolling here, but that illustrates how M$ and Windows are being successful.

    If this (LSB) actually takes off it could be what allows *nix to displace windows in the Joe Sixpack Desktop. All Joe currently knows is that he has a windows computer, so he looks for software that says Windows on it. With this as a replacement Joe's information complexity does not change just =~s/windows/LSB/g and Joe's happy.

    What I see here instead is:
    1) My way of implementing portability is best(Java)
    2) No it's not (Python)
    3) You're right, mine is (PERL)

    Whatever people. Until the developers can agree on a minimum compatibility spec that can be advertised (possibly LSB) Linux will only be in the data center.
    -nB

    --
    whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
  19. LSB is useless by n1ywb · · Score: 2, Informative
    http://www.gentoo.org/news/en/gwn/20030401-newslet ter.xml
    Portage 2.1 to adopt RPM format for LSB compliance

    In what will likely prove to be a controversial decision, Portage 2.1 will adopt the RPM format for all packages moving forward. The use of ebuilds will be deprecated in favor of the defacto RPM standard. The primary driver for this decision was to ensure compliance with the Linux Standard Base specification, which mandates RPM support for package management.

    The developers have been hard at work to make this migration as easy as possible. Already a proof-of-concept ebuild2rpm script is in place and being tested by a pilot group of developers. Unfortunately, because of the architectural differences between the two formats, some features will not be supported once Gentoo moves to RPM. USE variables are one such feature; sandbox security is another. However, the added benefit brought about by full LSB compliance should far outweigh the loss of these two minor features.

    Additionally, because of LSB's required library support, the xfree86 package will move to become part of the base Gentoo Linux system, rather than an optional addition. Users interested in learning more about the Linux Standard Base should read the LSB FAQ or the full LSB 1.3 specification.

    Note: This is an April Fool's joke.

    The differences between Linux distros are what make Linux a vibrant community and drive innovation. I hope the LSB project fails miserably to remove those differences.

    --
    -73, de n1ywb
    www.n1ywb.com
  20. Re:No! by ScrewMaster · · Score: 2, Insightful

    It's a poor craftsman who blames his tools.

    Absolutely true, and I can't tell you how many times I've heard otherwise-talented programmers blame their development environment for performance or stability issues. My attitude is usually something on the order of "Stop your bitching, get off your ass and deal with it."

    Conversely though, it is a good craftsman who picks the right tool for the job. Most languages can, to some degree, accomplish most tasks, just not necessarily well ... it's best to pick a language optimized for the task at hand. Or even parts of it: I've worked on many applications where I would use, say, C or assembler for time-critical or compute-bound modules, and something easier to work with for the GUI and file-management layers.

    What irritates me are programmers that learn a couple of languages and insist upon using them for everything, whether it's a good design choice or not.

    --
    The higher the technology, the sharper that two-edged sword.
  21. Shitty license? by Craig+Ringer · · Score: 2, Insightful

    Qt is licensed under the GPL, with the option of a commercial license for a fee.

    It's not LGPL, sure. That means that commerical developers must buy a license from TrollTech or make the source to their application availible under the GPL. Not ideal for developers, but TrollTech are not a charity, and in my view they're rather generous to permit Qt to be used under the GPL (yes, it's just good business, but still...).

    I'd like Qt under the LGPL - or heck, the BSD license - too, but I don't see a viable way to keep Trolltech in business. I can't see any reason why they would release it under such a license, and think it'd be pretty dumb to ask them to. Additionally, TrollTech do the vast majority of the development on Qt, and I'd like it to continue improving so I can have more introspection and meta-object goodness in C++.

    Commercial developers have two perfectly good options - use Gtk, or buy a Qt license. I don't see that as a big deal. Remember that the "competition" is hardly in the business of offering cross platform GUI toolkits.