Slashdot Mirror


CDE — Making Linux Portability Easy

ihaque writes "A Stanford researcher, Philip Guo, has developed a tool called CDE to automatically package up a Linux program and all its dependencies (including system-level libraries, fonts, etc!) so that it can be run out of the box on another Linux machine without a lot of complicated work setting up libraries and program versions or dealing with dependency version hell. He's got binaries, source code, and a screencast up. Looks to be really useful for large cluster/cloud deployments as well as program sharing. Says Guo, 'CDE is a tool that automatically packages up the Code, Data, and Environment involved in running any Linux command so that it can execute identically on another computer without any installation or configuration. The only requirement is that the other computer have the same hardware architecture (e.g., x86) and major kernel version (e.g., 2.6.X) as yours. CDE allows you to easily run programs without the dependency hell that inevitably occurs when attempting to install software or libraries. You can use CDE to allow your colleagues to reproduce and build upon your computational experiments, to quickly deploy prototype software to a compute cluster, and to submit executable bug reports.'"

385 comments

  1. Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 5, Informative

    CDE will always mean Common Desktop Environment to me.

    1. Re:Isn't that three-letter acronym taken? by Jeremiah+Cornelius · · Score: 2, Interesting

      Me too.

      Common to Sun and HP. :-)

      I guess Ultrix, too.

      Regarding this development - it's really what NeXT and later Mac OSX packages do. In the Windows world they have Thinapp and MS's App-V.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    2. Re:Isn't that three-letter acronym taken? by Culture20 · · Score: 1

      CDE will always mean Common Desktop Environment to me.

      Hear, hear! Of course I was always an openwindows fan since CDE rendered so slowly on our sparc lx's.

    3. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      XFCE on my Ultra 5.

    4. Re:Isn't that three-letter acronym taken? by maestroX · · Score: 2, Insightful

      he could always use tar

    5. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 1, Informative

      The Mac has been doing this since almost the very beginning.. The app was a single file, not even a package. The other systems, Windows and Linux, are madness. It's like splatter painting. Or for your airplane analogy, it's like designing the instrument panel with a shotgun.

      --
      For justice, we must go to Don Corleone
    6. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 1, Informative

      Nope. Mac programs are still "packages". Even before OS X, you had the data fork and resource fork that held different parts of the app.

      Right click any Mac app -- you'll get a context-menu item called "Show Package Contents".

    7. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 4, Insightful

      That method guarantees security problems. Applications and their dependencies should be managed by a proper package management system.

    8. Re:Isn't that three-letter acronym taken? by Haeleth · · Score: 4, Insightful

      I am still waiting for Gnome or KDE to catch up with the efficiency and usability of these older environments.

      KDE is getting closer now that it's possible for the desktop menu to present a list of applications rather than a handful of useless wallpaper-changing commands, but both major environments seem to be stuck on the stupid Windows 95-derived taskbar paradigm. Give me spatial management of running applications dammit! I want to develop muscle memory, not scan slowly across a list of tiny icons that are never in the same place twice.

    9. Re:Isn't that three-letter acronym taken? by aliquis · · Score: 1

      Depends on the code used though.

      With open-source code and lots of borrowed code? Yes.

      If you have written everything yourself from scratch anyway? No.

    10. Re:Isn't that three-letter acronym taken? by icebraining · · Score: 1

      So when a library that 20 apps use needs to be updated, it gets downloaded 20 times?

      Making a package isn't hard at all, and you can completely automate the process, making it effortless for subsequent versions of the app.

      Also, there's no central updater for the system. Talk about madness.

    11. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      So build a package, if the only things in it are your code that will make it very easy.

      Just about 0 commercial software uses no outside libs in some shape or form.

    12. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 4, Insightful

      I prefer to avoid the disagreements over what is a "proper package management system". In fact with each program in its own "sandbox", protected from each other, I see better security.

      --
      For justice, we must go to Don Corleone
    13. Re:Isn't that three-letter acronym taken? by freeasinrealale · · Score: 1

      It's obviously a play on 'KDE'. Nevermind.

      --
      A man spends the first half of his life accumulating stuff, the second trying to get rid of it all.
    14. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      So now you want everything in it's own BSD style JAIL?

      That is sure to waste a lot of space.

    15. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 3, Insightful

      It is also sure to piss off users who now have to have another Documents directory for each application.

      Else my bad application could edit a document that another application that relies on an old outdated insecure library uses.

      I am starting to think you are not thinking this through.

    16. Re:Isn't that three-letter acronym taken? by BrokenHalo · · Score: 1

      Except that KDE is (sort of) a play on CDE. ;-)

    17. Re:Isn't that three-letter acronym taken? by noidentity · · Score: 1

      How about only allowing a given app to edit files in Documents that have particular file extensions?

    18. Re:Isn't that three-letter acronym taken? by Waffle+Iron · · Score: 5, Funny

      CDE will always mean Common Desktop Environment to me.

      I only used CDE briefly, but I remember that it was like a combination of the sheer visual elegance of Tk's widgets with lush the color scheme of a bordello.

    19. Re:Isn't that three-letter acronym taken? by Greyfox · · Score: 2, Funny

      Yeah, and I was wondering why anyone else would even want to take that acronym and the memories of revulsion it evokes in those of us who were forced to use it for any length of time. CDE is right up there with SCO for how quickly it makes me recoil in horror, evoking memories of clunky motif controls and single-threaded inconsistent desktop environment. If you long for the halcyon days of Windows 3.0, give CDE a try, it's just what you're looking for!

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    20. Re:Isn't that three-letter acronym taken? by tepples · · Score: 1

      Applications and their dependencies should be managed by a proper package management system.

      RPM or DEB? And which version of each package? Long-term support distributions are known for having packages that are months to years out of date except for backported security fixes.

    21. Re:Isn't that three-letter acronym taken? by afidel · · Score: 1

      Agreed, XFCE was my preferred WM as well, worked really well with Hummingbird and Exceed from Windows =)

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    22. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 2, Insightful

      File extensions mean something?

      Wow, that takes me back. That is another big windows flaw you bring up there.

    23. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      Which ever you need.

      Long term support distros are for servers.

    24. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      Next you will tell me people still use putty.

      No need for windows, XFCE works on linux too.

    25. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 1, Informative

      Rather, when that library gets updated, it doesn't break 20 apps. It only has the potential to break the ones that do not contain their own copy (and thus link to the system-supplied version.) After updating a library, I'd rather not have to also update 20 apps just to get a working system again.

    26. Re:Isn't that three-letter acronym taken? by afidel · · Score: 1

      Yep, I use putty on a monthly if not weekly basis. It's great for connecting to all my networking and storage gear (especially now that it finally supports COM ports).

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    27. Re:Isn't that three-letter acronym taken? by Dwonis · · Score: 1

      DEB. Seriously, have you ever looked at rpmbuild? It needs to die a horrible, horrible death.

    28. Re:Isn't that three-letter acronym taken? by hey · · Score: 1
    29. Re:Isn't that three-letter acronym taken? by tepples · · Score: 1

      Long term support distros are for servers.

      And the version of Ubuntu on Go Daddy dedicated servers has a severely out-of-date PHP. They were still on 8.04 in September of this year, as opposed to 10.04. Even on the desktop, the latest six-month version of Ubuntu can be several months out of date if you want to try the new feature that the upstream developer released right after your distribution froze several months ago for the release that you're currently running.

    30. Re:Isn't that three-letter acronym taken? by christurkel · · Score: 1

      www.opencde.org

      --

      CDE open sourced! https://sourceforge.net/projects/cdesktopenv/
    31. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 2, Insightful

      In addition to the AC's very valid point below. I might have an app requires a previous version of an installed library. Remember, the issue is portability. You can't have it any other way. Copying and running a program to any machine should be just as simple as doing the same with any text document.

      --
      For justice, we must go to Don Corleone
    32. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 2, Insightful

      If a program needs its own own BSD style jail to move from one machine to another, then perfect. I'm not worried about space. I'll probably run the program from the removable drive itself, so I don't even need to copy it over. Hmmm.. kinda like having an old Atari game cartridge.

      Convenience, reliability, and simplicity are the goal here.

      --
      For justice, we must go to Don Corleone
    33. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Naming the thing CDE may say something about experience.

      I didn't read the article, but at a glance, it does not sound like a new idea.
      Sure, one could use ldd and strace -eopen and other tricks to find most of the files accessed, and package them together (and that has been done before).

      This is essentially working around poor dependency isolation in Linux distributions. Of course it would be better to fix those directly.

      Reviving the LSB, and coming to a package agreement would help too. (Imagine if apt/dpkg and rpm could function with either a local rpm database or local deb database, and there was equivalence between .spec and dsc/control files.)
      Is this mainly for binaries with no source?

    34. Re:Isn't that three-letter acronym taken? by Tubal-Cain · · Score: 1

      For muscle memory, menus just can't compete with a guake, yakuake, or tilda terminal.

    35. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Whoosh!

    36. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      If you're an idiot? Yes. So your code will be exploited. qed.

    37. Re:Isn't that three-letter acronym taken? by Yfrwlf · · Score: 1

      Just as soon as Linux first gets proper *cross-distro* package management and standards, THEN I will agree with you. Proprietary package management = fail/suck/lose/jail/walled garden. The software manager and desktop shortcuts/menu items should all be easily made aware of a *gasp* out-of-repository program's existence.

      --
      Promote true freedom - support standards and interoperability.
    38. Re:Isn't that three-letter acronym taken? by Zero__Kelvin · · Score: 1

      "With open-source code and lots of borrowed code? Yes.

      If you have written everything yourself from scratch anyway? No."

      You have that bass-ackwards (except that with FOSS, the answer is not "no", but rather "much less likely"). Indeed, the fact that you believe that code you write yourself (that therefore undergoes no peer review) will be more secure than FOSS software is proof positive that if you are the guy doing the coding it will have more holes than Swiss Cheese.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    39. Re:Isn't that three-letter acronym taken? by t2t10 · · Score: 1

      In fact with each program in its own "sandbox", protected from each other, I see better security.

      Well, gee, think for a minute: why might people not be doing this?

    40. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      That's the assumption, however, commonly software isn't available with the distributions packaging system, so the end result is that the user compiles a copy or uses a precompiled binary in a .tar.gz archive. In that case, because it's so much hassle, they NEVER upgrade the packages.

      Tools such as this ensure it is easy to install and upgrade any software on ANY system, so users are more willing to upgrade when security flaws are found. Furthermore, they can auto-upgrade on program start anyway if required, which results in an equal amount of security to a package manager.

    41. Re:Isn't that three-letter acronym taken? by Mr.+Underbridge · · Score: 4, Funny

      I only used CDE briefly, but I remember that it was like a combination of the sheer visual elegance of Tk's widgets with lush the color scheme of a bordello.

      I'm unfamiliar with this 'CDE' but you're compelling me to try it.

    42. Re:Isn't that three-letter acronym taken? by segin · · Score: 1

      I believe that you are mistaking licensing concerns with security concerns.

    43. Re:Isn't that three-letter acronym taken? by segin · · Score: 1

      Alright, let's say I want to write code against the IJG's JPEG implementation. Which version should I compile against? 6.x? 7.x? 8.x? And what do I do when a new major release of libjpeg comes around? Do I root all my user's machines so that I can replace their installed copies of my application to reflect the new libjpeg.so.9? Or do I just try to use libjpeg.so.8 linked executables against the new version and watch the dynamic linker errors fly?

      Obviously you haven't heard of binary incompatibility. At least with Windows, you can load and run code compiled and linked against, say, NT 3.1's kernel32.dll 18 years ago on Windows 7 and have no afterthought of binary compatibility.

    44. Re:Isn't that three-letter acronym taken? by Xtravar · · Score: 1

      Install cairo-dock, and then remove your bottom gnome-panel with the tasklist. You can make it work like the OSX dock. It's not as refined... but it's usable. And pretty cool.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    45. Re:Isn't that three-letter acronym taken? by LingNoi · · Score: 1

      If that's happening to you then your distro is doing it wrong.

    46. Re:Isn't that three-letter acronym taken? by pchan- · · Score: 1

      moderator guide: this should be modded funny (or cringeworthy), not insightful

    47. Re:Isn't that three-letter acronym taken? by iplayfast · · Score: 1

      Just as soon as Linux first gets proper *cross-distro* package management and standards, THEN I will agree with you

      Oh you mean source code.

    48. Re:Isn't that three-letter acronym taken? by the_womble · · Score: 3, Insightful

      Suppose a security flaw is found in a commonly used library, do you think you will get more timely security updates by

      1) the packager for that library providing an updates package, or,
      2) every single application that uses it providing an updated package

      The CDE site gives two reasons for doing this:

      1) To solve "dependency hell". This is a rare problem these days - except with Skype!
      2) To provide guaranteed reproducible results for researchers. This is a specialist concern, and not necessaries a good thing - it means that results that are the product of a bug in a particular version of a library will be duly reproduced.

    49. Re:Isn't that three-letter acronym taken? by Randle_Revar · · Score: 1

      >spatial management

      Death first!

    50. Re:Isn't that three-letter acronym taken? by rsidd · · Score: 1

      Read the FAQ (bottom of the project page). This isn't meant to be a package manager

    51. Re:Isn't that three-letter acronym taken? by satuon · · Score: 1

      That's what I thought, too, lol

    52. Re:Isn't that three-letter acronym taken? by satuon · · Score: 1

      On Leopard at least it's a directory which contains dependencies, resources plus the real executable. The name ends with .application or .app, like a file extension, only used on a directory, and that's how the OS knows it's an application. But in fact, it's a directory tree. It's just that the window manager shows it to you as a an icon, but if you open a terminal, and cd into it, you'll see it's a directory. I really like this approach.

    53. Re:Isn't that three-letter acronym taken? by kthreadd · · Score: 1

      Nope. Mac programs are still "packages". Even before OS X, you had the data fork and resource fork that held different parts of the app.

      Right click any Mac app -- you'll get a context-menu item called "Show Package Contents".

      Well, not exactly. There are a lot of differences between what is called a package (really it's called a bundle) in Mac OS X and the use of resource forks. The package mechanism is a generic way of making a folder structure look like a regular file while resource forks only made it possible to separate a file into two parts.

      The concept of packages was actually backported to Mac OS 9 in order to ease the transition for developers over to Mac OS X. You would rarely see them in use as Mac OS X is compatible with the older CFM-style PEF applications anyway.

    54. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 3, Interesting

      No, solving dependency hell is far worse today. Building from source back in tarball only days you had problems if version W of library X was not installed. Building from source today you have that along with issues if your distro of choice does not have version W of library X in the repository along with actually having version W of library X that you built from source installed but your package manager refusing to install things dependent on it because it refuses to acknowledge anything's existence outside its list of installed packages.

      You also have issues like cpan which is currentish vs your distro's package manager which is usually anything but.

      If it weren't for checkinstall I'd seriously consider LFS over package management in situations where I was constantly having to build things from git/cpan/etc... And I'd probably have a huge dent in my desk from where I constantly banged my head instead of the only moderately sized one I have now.

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    55. Re:Isn't that three-letter acronym taken? by Bert64 · · Score: 1

      Should yes, but thanks to microsoft the rest of the world now feels its acceptable to install software manually, bundled with its own copies of libs, and many people actually *want* to use and distribute software in this way...
      Granted this is mostly because they don't know any better, but user education is a very slow process when you have a huge marketing machine uneducating them. It's like the henry ford quote, if he'd asked his customers what they wanted they would have asked for a faster horse because the horse was what they were familiar with.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    56. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 2, Interesting

      Wait, doesn't source code actually require at least a tiny bit of thought? I thought we were trying to be like Windows now. I mean they're still lightyears ahead of us up in Redmond. They have tons of software that installs without the user even having to be aware while even the package manager distros of Linux still require the user to actually authorize it to get the latest and greatest botnet software installed on their box. ( The preceding was a joke. rm ~/.ass/stick before flaming )

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    57. Re:Isn't that three-letter acronym taken? by Bert64 · · Score: 2, Informative

      Now it depends on your needs, if your constantly building stuff from git/cpan it sounds like your intentionally living on the bleeding edge and/or doing development...
      For most users, and especially production servers having non cutting edge packages managed centrally is far more desirable. Personally when i want cutting edge i use gentoo, so i can have installed a mix of stable core packages with a select few being cutting edge versions while still being package managed. If i want to install something not covered by the package system (which is quite rare with all the gentoo overlays available) i can build my own package quite easily which makes it easy to replace if a newer package comes out later.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    58. Re:Isn't that three-letter acronym taken? by Bert64 · · Score: 1

      Then use a more cutting edge distro like gentoo...

      Ubuntu is aimed at casual users (and servers for the LTS version), these users don't want bleeding edge, they want stuff that works reliably and is tried and tested. Business users especially are extremely conservative and will often explicitly choose software which is years out of date.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    59. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 2, Interesting

      It's really more of a problem when one or two packages on a non-bleeding edge system need to be bleeding edge for some specific reason but actually updating those packages would cause backwards compatibility breakage of some other essential something.

      Trust me, it's far from gone even on arch/gentoo/slackware.

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    60. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 1, Informative

      "I'm unfamiliar with this 'CDE' but you're compelling me to try it."
      You can't unless You got a proper UNIX system (Solaris, HP-UX, Ultrix/Tru64). You can get som of the look in KDE's CDE theme.
      As far as I remember first versions of KDE did look and feel very much as CDE (I used a RedHat 4.x which looked just as CDE),
      "Windowization" (we need a Start-like menu button in the lower left corner) of KDE's UI happened much later.

    61. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Oh yes, it sucked. Badly. I was stuck with it at some point (crappy organization with sadistic admins) and *hated* it.

    62. Re:Isn't that three-letter acronym taken? by dbIII · · Score: 1

      I'd say reusing it doesn't give me a lot of confidence that the guy that has called his stuff CDE really knows much about linux and *nix in general and doesn't communicate much with people who do. KDE was inspired by and named after the thing FFS, and then gnome to an extent as well. It's like calling your word processor grep or your tetris clone csh.

    63. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Me too, when people come up with something, they should check to see whether it's already in use in the same field.

    64. Re:Isn't that three-letter acronym taken? by RichiH · · Score: 1

      Only if you update those sandboxes. Else, you will have various sandboxes with different patch levels. And you will have exactly the same bug in a dozen sandboxes.

    65. Re:Isn't that three-letter acronym taken? by aliquis · · Score: 1

      I'm not saying it won't work with a package, just saying that in the early days of the the mac, the Amiga, DOS and so on maybe you didn't used that much "something else" stuff. So it didn't seemed weird back then.

    66. Re:Isn't that three-letter acronym taken? by aliquis · · Score: 1

      Not more secure stupid. But not depending on updates of others code so it won't matter whatever it doesn't update _THEIR_ code or not automatically through some package manager.

      All that is their is your code and if it suck it still suck, with or without package manager, and if it doesn't then it doesn't.

    67. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Its madness that every time I want to update just one small thing, I need to update more 1-2Gig of things that don't really need updating . Its madness that i *must* be root to install anything. Its madness that i can't control where things are installed without using cpio and un-packaging everything. I should not need to be online to manage a system. I have a number of air gaped machines for various reasons.

      I am a 100% Linux user. Its all we have at work and at home. But the package system is a band aid to the broken dependency hell that we have. There should be no need for lib64 || lib type naming conventions, the loader should be smarter than just mindless loading the lib by *filename and path*. The kernal should do a bit more so that these things are not so fragile.

    68. Re:Isn't that three-letter acronym taken? by aliquis · · Score: 1

      That would had happen package or no package.

    69. Re:Isn't that three-letter acronym taken? by gl4ss · · Score: 1

      this is a very useful tool. commercial style linux deployments aimed at buying consumers are not that simple now.

      even if this was used just for the installer, it would make things a lot simpler.

      (can't really support all versions of all distributions that people use easily now, and what about the users who don't have package management. that everything should come to everyone from the same place is also a huge security risk too, and this would be a GREAT way to get for example bugfixed version of whatever software that depends on a library that hasn't yet been patched on your system).

      --
      world was created 5 seconds before this post as it is.
    70. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Well, yes, they do. And they do so in Unix/Linux, too; your pictures will typically be called .jpg (or .png, or whatever; you catch my drift), your music .mp3 or .ogg or .flac, your web pages .html, your Perl scripts .pl, your Perl modules .pm, your C programs .c, your TeX sources .tex, your TeX output .dvi and so on. Your text files may be called .txt, your log files will often be called .log, your documents will be .pdf or .ps (or .odf, if you're an OO.o user), your XML files .xml, and so on.

      See what I mean?

      Of course file extensions are crude, simple, and a kludgy hack. Of course proper MIME types would be much nicer: no .jpg (which, technically, should be called .jfif, anyway) but rather image/jpeg, no .mp3 but audio/mpeg, no .tex but... uh, application/x-tex. (Yeah, that's MUCH better than ".tex".) But surely you have to have SOME way of telling files apart.

      For the base system, directories work: files in /bin are binaries, files in /lib are libraries, files in /etc are config files. Sure. But this just doesn't work for user-generated files. If I run TeX on my paper, should it read ~/tex/paper, and then output ~/dvi/paper while producing ~/log/paper as well? That system'd blow up in your face literally within five seconds, and - worse - you'd not even have gotten rid of file extensions: you'd just have moved them.

      Like it or not, file extensions are the best compromise between purity and usability we have so far, and that's why they're dominant even on Unix/Linux.

    71. Re:Isn't that three-letter acronym taken? by drinkypoo · · Score: 1

      I prefer SElinux, but nobody is using it much yet.

      We need a Zonealarm-like interface to SElinux or it will NEVER take off.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    72. Re:Isn't that three-letter acronym taken? by drinkypoo · · Score: 1

      Ubuntu is aimed at casual users (and servers for the LTS version), these users don't want bleeding edge, they want stuff that works reliably and is tried and tested.

      WRONG. Users who don't want the new stuff run Debian. Ubuntu is specifically for users who want new stuff!

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    73. Re:Isn't that three-letter acronym taken? by drinkypoo · · Score: 1

      CDE is just mwm plus a shitty dock with virtual desktops. Oh yeah, and a crappy xdm replacement. You can get the experience from fvwm2 with some clever panel hacking.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    74. Re:Isn't that three-letter acronym taken? by DrWilken · · Score: 1

      AIX?

    75. Re:Isn't that three-letter acronym taken? by marcello_dl · · Score: 1

      I think this is not meant to replace package managers. I would rather risk dependency hell in debian, a quite uncommon occurrence in stable versions and have the space efficiency and ease of update that a package manager guarantees.

      This is a very interesting tool, it even helps to monitor if a program behaves maliciously.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    76. Re:Isn't that three-letter acronym taken? by marcello_dl · · Score: 1

      > Well, yes, they do. And they do so in Unix/Linux, too; your pictures will typically be called .jpg (or .png, or whatever; you catch my drift)

      I'd rather say that file extensions are a mere convention on unix (thanks to the powerful "file" command), you can do without them. BUT you're still right since they are vital for virtually all http server setups so they are alive and well.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    77. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      Not LTS though.

    78. Re:Isn't that three-letter acronym taken? by h4rr4r · · Score: 1

      Eww. They have vms these days if you are afraid of running losing your windows gaming.

    79. Re:Isn't that three-letter acronym taken? by drinkypoo · · Score: 1

      Ubuntu with LTS still gives you access to super-modern software via backports and PPAs... at least compared to Debian, and I don't mean stable. Mind you, I LIKE debian Stable, I use it on simpler machines. But getting the new shiny to work on it is ugh.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    80. Re:Isn't that three-letter acronym taken? by jellomizer · · Score: 1

      Peer review in open source? There is no formal Peer review for Open Source. If your project is big enough it may get reviewed. But that is the same for closed source software too. Hence QA departments and code reviews. The small open source project may not have any code review just as a small closed source application.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    81. Re:Isn't that three-letter acronym taken? by m50d · · Score: 2, Insightful

      It's not a flaw. Unlike mimetypes or resource forks or any of the other various non-solutions around, they are preserved over all transfer protocols. They are under the user's control, without getting in the user's way. They're the best way to record filetypes I've seen, I mean it.

      --
      I am trolling
    82. Re:Isn't that three-letter acronym taken? by Zero__Kelvin · · Score: 1

      Thanks for the laugh. It was a great way to start my Saturday!
      Plonk.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    83. Re:Isn't that three-letter acronym taken? by Svartalf · · Score: 2, Insightful

      The big problem with this is that he's dragging along a complete sandbox (Incl. X11 for X apps...) for each application.

      FUN.

      It avoids dependency hell, yes- but it's vast overkill considering that I can manage it the other way (i.e Going from the 4 yr old distribution forward...)- and have done it with one indie title that I've ported for the studio, and about to do with another one for a different studio.

      Now, this is not to say that it's not an interesting program, or that I won't have uses for the concept he's come up with there- but to call it "easy" portability or a great answer for Linux on things is to clearly misunderstand the real problems. If it's an answer for all of that, you asked the question wrong.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    84. Re:Isn't that three-letter acronym taken? by Svartalf · · Score: 1

      I don't seem to have this issue with Caster...but then, dependency hell typically happens when a distribution botches their metadata or when someone explicitly goes off the beaten path with what they're doing (i.e. you start building one lib, which then leads to another and another, and so forth.).

      Once you end up there, it's fun beyond words to fix- which is what you allude to. But the times you actually end up there are fewer and more far between for MOST these days.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    85. Re:Isn't that three-letter acronym taken? by Svartalf · · Score: 2, Insightful

      The thing is...typically, mind...most people don't encounter the fun you're describing. It's when you want something SPECIFIC that it typically gets you the way you're describing it. Seriously.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    86. Re:Isn't that three-letter acronym taken? by Svartalf · · Score: 1

      Users that want the new stuff use SID or an Alpha/Beta of Ubuntu- or to a lesser extent a non-LTS release of Ubuntu...

      If you're using an LTS, you're explicitly choosing what the GP poster stated unless it's the freshly minted release (Like at the beginning of 2010 with 10.4...)

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    87. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 1

      I'm not one of them, but it appears some people prefer to break everything by updating a single shared library. The thing is if your program requires a specific, not necessarily common shared library, it's not very portable. That's why this article is news. Portability should have always been easy. Common hardware drivers should be shared, yes, but that's as far as it should go. It helps to minimize those nasty little problems of missing or incompatible libraries. My aim is for ease of use for the end user, not really to make it easy for the developer, though that would be nice. Maybe that's where the problem is. Few people are thinking of the user.

      --
      For justice, we must go to Don Corleone
    88. Re:Isn't that three-letter acronym taken? by countertrolling · · Score: 2, Insightful

      Maybe I'm misunderstanding things, I don't know, but I see two distinct points of view. For the developer, shared libraries are far more convenient for efficiency's sake, but for the end user, they could care less. The convenience of portability outweighs those concerns.

      The big problem with this is that he's dragging along a complete sandbox (Incl. X11 for X apps...) for each application.

      Time to swap out that 80 meg hard drive :-) And bits don't actually weigh that much, so I don't mind schlepping them around with me. Being able to run my program directly off the USB stick sure is nice. But then, what the hell, I could just put a whole "live" system on it, so maybe portability really isn't an issue.

      --
      For justice, we must go to Don Corleone
    89. Re:Isn't that three-letter acronym taken? by Liquid+Len · · Score: 1

      CDE will always mean Common Desktop Environment to me.

      I only used CDE briefly, but I remember that it was like a combination of the sheer visual elegance of Tk's widgets with lush the color scheme of a bordello.

      Yeah, not to mention the sluggishness of Motif.

    90. Re:Isn't that three-letter acronym taken? by Liquid+Len · · Score: 1

      I am still waiting for Gnome or KDE to catch up with the efficiency and usability of these older environments.

      KDE is getting closer now that it's possible for the desktop menu to present a list of applications rather than a handful of useless wallpaper-changing commands, but both major environments seem to be stuck on the stupid Windows 95-derived taskbar paradigm. Give me spatial management of running applications dammit! I want to develop muscle memory, not scan slowly across a list of tiny icons that are never in the same place twice.

      Jesus, man, give me fvwm, olvmw or even mwm any day... But forget about CDE. Even years later, I don't have any fond memories of CDE: it was ugly, it was slow and inconvenient...

    91. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      Ever heard of Gentoo?

    92. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 1

      Absolutely. I don't run into DH more than a few times a year nowadays but my point is that when I do it's more of a PITA to resolve.

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    93. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 1

      True. Most people would spend 0-1 hours screwing with it and give up. It's only us bloody minded masochists who refuse to give up that actually suffer through DH until the problem is resolved.

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    94. Re:Isn't that three-letter acronym taken? by The+Mighty+Buzzard · · Score: 1

      Yes. And no, even Gentoo has DH issues. Situations with two packages where one requires Blah >= X and the other requires Blah <= X-1 are not unique to other distros. It's exacerbated by coders who break backwards compatibility in non-major version updates.

      --
      Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
    95. Re:Isn't that three-letter acronym taken? by HomelessInLaJolla · · Score: 1

      amen.

      screencast++

      --
      the NPG electrode was replaced with carbon blac
    96. Re:Isn't that three-letter acronym taken? by rubycodez · · Score: 1

      nah, you're romanticizing your memories of it. I still remember the problems in Solaris/SunOS and HP/UX. The feel of the UI was sluggish and mushy, and the file browser apps would sometimes hang and clobber things. Ported applications written for general motif library would get weird artifacts or bottom third of text missing.

      Now IRIX and NextStep, those were crisp Unix UI. I'm glad CDE and Open Look are dead.

    97. Re:Isn't that three-letter acronym taken? by Jeremiah+Cornelius · · Score: 1

      You are posting outside of a JE? I think it's been YEARS!

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    98. Re:Isn't that three-letter acronym taken? by RichiH · · Score: 1

      > I'm not one of them, but it appears some people prefer to break everything by updating a single shared library.

      That is a problem. But not with the system.

      > The thing is if your program requires a specific, not necessarily common shared library, it's not very portable.

      As long as it's source, you can compile it (unless it needs 2.4 kernel bindings on 2.6, or some such)

      > That's why this article is news. Portability should have always been easy. Common hardware drivers should be shared, yes, but that's as far as it should go. It helps to minimize those nasty little problems of missing or incompatible libraries.

      Security nightmare. Shared libraries are shared for a lot of reasons, security is one of the major concerns.

      > My aim is for ease of use for the end user, not really to make it easy for the developer, though that would be nice. Maybe that's where the problem is. Few people are thinking of the user.

      My aim is to fix the root of the problem (devs not knowing what they do), not the symptoms.

      For everything else, read http://slashdot.org/comments.pl?sid=1866538&cid=34214686

    99. Re:Isn't that three-letter acronym taken? by crankyspice · · Score: 1

      Xi Graphics has (had?) a CDE for Linux; I ran it for a couple of years, when I was also admin on Sun boxes, for consistency.

      --
      geek. lawyer.
    100. Re:Isn't that three-letter acronym taken? by cbiltcliffe · · Score: 1

      actually having version W of library X that you built from source installed but your package manager refusing to install things dependent on it because it refuses to acknowledge anything's existence outside its list of installed packages.

      I don't see how this would happen. If your package manager has a listing for program V, which is dependent on version W of library X, then it will also have version W of library X. If it didn't, then every user who didn't install W v.X would never be able to install V.
      If you're installing from a third party repository, then that repository should have W v.X, so you still won't have a problem.

      --
      "City hall" in German is "Rathaus" Kinda explains a few things......
    101. Re:Isn't that three-letter acronym taken? by Lanteran · · Score: 1

      by older environments I assume you mean fluxbox, openbox, twm and the like. I believe you can actually run openbox side by side (maybe that's not the right term, but oh well) with KDE and Gnome, but I prefer to run them by themselves.

      --
      "People don't want to learn linux" hasn't been a valid excuse since '03.
    102. Re:Isn't that three-letter acronym taken? by Jeremiah+Cornelius · · Score: 1

      I'd forgotten!

      I used to buy their premium XServer for Matrox cards...

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    103. Re:Isn't that three-letter acronym taken? by bar-agent · · Score: 1

      Granted this is mostly because they don't know any better, but user education is a very slow process when you have a huge marketing machine uneducating them. It's like the henry ford quote, if he'd asked his customers what they wanted they would have asked for a faster horse because the horse was what they were familiar with.

      Well, Henry Ford was right. But in this case, I think you guys are playing the role of his customers. You are familiar with traditional Unix package-management systems, and shared libraries, and building things from source. And you want that horse to be faster.

      But that is a crappy way to do things. The only compelling advantage is that you can update a single shared library to fix, say, a security bug. Theoretically. Practically, that can and does go wrong. So, it does not actually have any compelling advantages, and everyone would be better off with using shared libraries for OS services (using a broader definition of OS than the "kernel" one) and isolated, static libraries for everything else.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
    104. Re:Isn't that three-letter acronym taken? by pxc · · Score: 1

      KDE basically already does what you're asking it to.

      KWin supports tiling, and various window-switching options, including clones of all those available on Windows and OSX.

      Krunner is an excellent launcher. If you're a touch-typist and you know what app you want by name, path or function you can launch it without looking.

      You can also set arbitrary keyboard shortcuts to launch programs, run scripts, or even make DBUS calls. You can also change/assign KWin's shortcuts, generally or according to different rules based off of the app in question, or any window property.

      FWIW, I'm a KDE user who doesn't like menus or icons either. My desktop doesn't have either, and I have no problem launching and managing my applications. I haven't even taken advantage of most of the customizations I've talked about, either.

      Exactly what are you missing?

    105. Re:Isn't that three-letter acronym taken? by Moochman · · Score: 1

      I actually downloaded Solaris just to try the CDE experience and see what I was missing. It was very purple with a Windows 3.1 flair and a kind of cool dock. Go for it!

    106. Re:Isn't that three-letter acronym taken? by Anonymous Coward · · Score: 0

      that's one thing I've begun to appreciate about win7 (I am no microsoft fanboy, so don't make assumptions please)... when you run an app it appears in the taskbar, and you can pin the app just like apple's dock, so when the app closes it remains as a shortcut/start-up icon on the taskbar. there's good visual feedback whether the app is running or not, and whether there's multiple windows. the mouseover-preview works well too.

      I don't use w7 on a daily basis but once you turn the level of bling down it's got some very nice features.

  2. It's About Time by WrongSizeGlass · · Score: 1, Funny

    Making Linux easier for the masses is always a good thing.

    +1 obvious, but it's as simple as this to make something more popular. The easier it is to use the more people who will use it.

    1. Re:It's About Time by h4rr4r · · Score: 2

      This does not make anything easier, it just makes it wrong.

      The ubuntu app center makes things easier without this sort of nasty kludge.

    2. Re:It's About Time by couchslug · · Score: 4, Interesting

      Making applications portable is handy for doing things like running them from a USB stick. It also makes backup much more convenient.

      Copy the program and its data in one shot, carry it with you, and use anywhere.

      Windows apps are ahead of the game on this one:

      http://portableapps.com/

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
    3. Re:It's About Time by Anonymous Coward · · Score: 0

      Isn't that the point? Making things more convenient, adding a feature that's already in the marketplace on other OS's, etc, etc. If the many flavors of Linux want to catch up on the desktop they need to make things easier for the other 99% of computer users.

    4. Re:It's About Time by h4rr4r · · Score: 1, Interesting

      If you need the same app everywhere it is easy enough to either make the data format portable or run the entire OS from the usb stick. Your method just lets you move outdated and almost guaranteed insecure software around. Windows only has this because it still lacks proper package management.

      Bringing that sort of braindead thinking to linux is a curse not a blessing.

    5. Re:It's About Time by CannonballHead · · Score: 1

      Ubuntu package management requires online access, unless you keep an updated DVD of the latest normal dependencies.

      That means, if you have a Linux distro sitting on a non-internet-ized computer, it can be difficult to run a random program because of the dependencies and libraries you need.

      Granted, that's not going to happen in too many random user's setups, but it could happen.

    6. Re:It's About Time by h4rr4r · · Score: 1

      So you sneakernet the debs over. How else are you planning on installing/running something anyway?

      Unless you somehow write software yourself that depends on libs you do not have installed. Which is a pretty silly thing to do.

    7. Re:It's About Time by CannonballHead · · Score: 2, Insightful

      ... so isn't this basically just a way to gather all the appropriate dependencies and put them all into one spot?

      Hm. I guess this is a way to do it without installing. Reading comprehension fail...

      Still, I can see how it could be useful in some situations, just like having certain programs that don't require installation on Windows can be helpful.

    8. Re:It's About Time by h4rr4r · · Score: 1

      Those are only useful because windows is broken. If you could install apps as easily on windows as you could on linux from one central source no one would bother with that.

      They might make a launcher that calls firefox with their portable preferences folder, but no reason to go carting firefox around.

    9. Re:It's About Time by icebraining · · Score: 0, Redundant

      I'm not a troll. I use GNU/Linux exclusively. I just never see them anywhere besides my university.

      And no, I hadn't thought about server rooms - parent talked about portableapps.com, which is exclusively for desktop apps (or at least, I wouldn't run Gimp or AssaultCube on a server).

    10. Re:It's About Time by mrawhimskell · · Score: 1

      Really? have you tried running nightly, beta and stable versions of firefox on linux at the same time?

    11. Re:It's About Time by neocephas · · Score: 5, Informative

      I think most people here are not understanding the target audience for this tool (hint: it's not for your typical linux environment). It's not about package management or having a universal installer... it's about being able to run your application in a different environment where you don't have admin rights.

      In a lot of university clusters or compute grids researchers have access to a large collection of compute nodes, but they usually don't have any rights to those machines. In fact, most of the time the programs are ran in a sandbox and have a restrictive environment. To run their codes reliably, researchers often have to perform some sort of static linking or package up all of the dependencies with the executable. apt-get or yum are not options in these environments... you may not even be able to ssh into them. Ideally, you could ask the system administrator that controls the cluster to install certain packages, but again, this is not always possible particularly if the researcher requires a niche package used in their domain.

      Moreover, the cluster may be composed of heterogenous set of machines with different versions of Linux. Package management does not help you here. The only way to reliably execute your programs on such a heterogenous cluster is to statically link or include your dependencies. If you are wondering who would use such a maddening environment where you have no admin rights... google Condor, OpenScienceGrid and Globus. This is how a lot of research computation is done.

      Of course, the hot new thing is virtual machines and clouds... but firing up a VM each time you want to run an application is very heavyweight... especially if your applications has a short run-time.

      TL;DR: this isn't for your typical ubuntu or fedora install; it's for scientific research that is done on restrictive computing clusters and grids.

      As a side note, I made and use a much cruder tool http://bitbucket.org/pbui/starch/ that packages everything up (executables, libraries, and data) in a self-extracting tarball which can be executed on remote hosts. It's not as slick as CDE, but it's been used with success by various research groups that I collaborate with.

    12. Re:It's About Time by ElKry · · Score: 1

      Which is something the masses do on a regular basis.

    13. Re:It's About Time by visualight · · Score: 2, Insightful

      I've spent time on work like this myself, even used code like this in production...it's really really hard to be sure you've got everything and don't have unnecessary deps, particularly when you've got scripts (that you didn't write) that call out scripts that call out scripts.

      I know a few others that have invested time in this also, when you spend much time on a cluster that you don't own eventually you at least think about doing this.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    14. Re:It's About Time by Tubal-Cain · · Score: 1

      Ubuntu App Center is repo-dependent. It works because Canonical gets to make sure all the apps play nice with one another.

      This is for third parties; letting them distribute a single build that will work on nearly every version of nearly every distro released in the past 6 years.

    15. Re:It's About Time by ozmanjusri · · Score: 4, Insightful
      I'm not sure why you're getting "Troll" mods for this.
      1. It does allow you to have outdated and unsecure software where it is likely to be used.
      2. Windows does lack proper package management.
      3. There are better ways to achieve the goal.
      4. It isn't a good idea to turn Linux into Windows. In fact, most mainstream OSs are switching to package managers.

      Guo comes from a Windows background (He interned at Microsoft last year), so it's understandable why he might have a Window perspective. That doesn't make it good for Linux to adopt that mindset.

      --
      "I've got more toys than Teruhisa Kitahara."
    16. Re:It's About Time by Tubal-Cain · · Score: 1

      Running simultaneously? No.

      But I've had all three installed (if "unpacked into it's own subdirectory" counts) at the same time. Switching was just a matter of closing the version I had running and opening another. They even shared my FF profile.

    17. Re:It's About Time by Anonymous Coward · · Score: 0

      Windows may be broken, but so are your reading skills.

      Some places have no internet connection.

      As for your suggestion of "sneakernet", that's fine if you have time to walk all the way out of the building, drive to some place with an internet connection, download the deb that's required, return only to find you need yet another deb, repeat as necessary till you have all the debs.

    18. Re:It's About Time by ischorr · · Score: 2, Insightful

      Why is this a kludge?

      App portability and dependency problems has been one of the Achilles Heels of Linux since, well, forever. We laughed at Windows for DLL-hell, and if anything package managers seem like the ugly kludge way to resolve it to me. I wonder how many tens or hundreds of thousands of man-hours have been lost dealing with these sorts of issues. It's by far the #1 thing that's prevented me from using Linux for those purposes, and I'd REALLY like to use Linux (though there are others). Hell, it's the main thing that's kept me from taking Linux seriously outside the server room. Particularly since people really don't seem to get why this is a problem.

      - I should be able to install an application QUICKLY and easily. There's no reason why "installation" should be more complicated than "copying/extracting the binaries to wherever I want them to go".
      - I should not be dependent on some third party to get around to porting each version of software to my flavor of Linux. When a new version of Wireshark or VLC or whatever software comes out, I should be able to install it *quickly and simply* without waiting on package maintainers to get around to it (even if some are very responsive)
      - Along with the above, I shouldn't be in a state where I can no longer easily install applications because I'm using a somewhat older distribution (and packages are no longer being maintained for that version)
      - Although the option should be there, it should never, ever, ever, ever, ever, ever, ever, EVER be considered "acceptable" to expect users to compile an application to install it (and all the potential headaches of getting that to work, including hacking make files, dealing with dependencies, patching the software, actually doing C++ debugging, etc).

      Balloon up my applications with static libraries. Please. The trade-off in system administration headache would pay for itself 100s of times over.

    19. Re:It's About Time by ischorr · · Score: 1

      Maybe not, but it's something that a number of people that want to use Linux want to do. Including me. For the life of me I can't understand why people would resist this. If this takes off and works as well as advertised it will save all of us a tremendous amount of headaches.

    20. Re:It's About Time by ischorr · · Score: 4, Interesting

      That's probably another use, but I really don't think that's the main place where it'd be useful. I DREAM of being able to just download an application archive, extract it *anywhere I want*, and just run it. Just use it, without having to worry. Any application - not the apps (and versions) that some distribution maintainer has gotten around to porting to my flavor.

    21. Re:It's About Time by Anonymous Coward · · Score: 0

      How about the GPL? Aren't you distributing binaries without making the source code available?

    22. Re:It's About Time by ScrewMaster · · Score: 1

      Making applications portable is handy for doing things like running them from a USB stick. It also makes backup much more convenient.

      Copy the program and its data in one shot, carry it with you, and use anywhere.

      Windows apps are ahead of the game on this one:

      http://portableapps.com/

      What you're talking about is the use of manifests, and a specific WIN32 call, SetDLLDirectory. Between those two, you can make pretty much any application XCOPY-deployable, although they don't exist on older versions of Windows. The hard part is creating and managing your manifests, as well as keeping track of OS-specific versions of your DLLs, but it's doable. No more SETUP.EXEs, nothing installed in any \System folder, no registry entries. I've deployed some fairly substantial non-.Net applications to XP SP2+, Vista, Windows 7 as well as Server 2003 and 2008 using this method: just copy the application to a directory of your choice, and run. Makes testing a lot easier too.

      So, technically I'd say Windows is ahead there, although from the developer's perspective it can be tricky to achieve, and you still have to deal with the issue of licensing and other restrictions for any of your non-free or commercial redistributables. For that reason it's not really a huge advantage for WIndows developers unless you're coding in .Net, where you already have several hundred megabytes of runtimes already in your target OS.

      --
      The higher the technology, the sharper that two-edged sword.
    23. Re:It's About Time by ScrewMaster · · Score: 1

      Those are only useful because windows is broken. If you could install apps as easily on windows as you could on linux from one central source no one would bother with that.

      They might make a launcher that calls firefox with their portable preferences folder, but no reason to go carting firefox around.

      That's really not true, not anymore. It used to be, but since Microsoft made some critical additions to Windows in order to support .Net, it's now perfectly possible to create fully-XCOPY-deployable applications in Windows XP SP2+. Nor do they have to be written in .Net. Not too many developers seem to be taking advantage of this yet (probably because they're accustomed to using setup generators like Wise or InstallShield) and it can be a little tricky, but the results are well worth the effort. Ultimately, it's nothing more than what .Net is doing, but applied to other languages.

      Personally, I think you're going to see repositories for WIndows apps coming along eventually. It's just too powerful a concept to be ignored forever. Actually, that's true for a lot of what Unix-derived operating systems have to offer. What is Microsoft's UAC but a somewhat lame implementation of Unix security? Windows users complain vociferously the first time their OS asks for authorization to perform some task: Linux/Unix types just say "well, it's about time!"

      --
      The higher the technology, the sharper that two-edged sword.
    24. Re:It's About Time by Pentium100 · · Score: 1

      This seems like a good idea to me. Windows solved the DLL-hell quite well. Linux could do similar things. Now, cde should be great for copying an app between two computers, the filesize increase is a bit too much for installing regular apps, considering that some of the libraries probably are of the good version.

      My idea is this: a package (.deb, .rpm or whatever) declars what distributions and versions it was made for (Debian 5 for example). If I am installing it on that distribution, the package gets installed usually. If I want to install it on a different distribution, let's say Red Hat 5, the dependencies that are not already on the system get installed in a separate folder and only used when that app needs them. If I want to install another package that was created for Debian 5, the dependencies that were installed with the first app do not get installed again (in a sense, the installer is building a mini Debian 5 distribution for use with those apps).

      Windows does similar things with WinSxS. If an app wants to replace a system .dll with its own, the dll goes to a separate folder and is used only with that app (and others that want that version) but regular apps still use the system one.

    25. Re:It's About Time by ScrewMaster · · Score: 0, Redundant

      Of course, there's so little number of GNU/Linux installations out there that it's almost irrelevant.

      Um, I think you meant "there's so little number of GNU/Linux desktop installations." And yeah, compared to Windows the market share isn't much. But ... next year will be the Year of Linux on the Desktop. I'm certain of it.

      --
      The higher the technology, the sharper that two-edged sword.
    26. Re:It's About Time by Pentium100 · · Score: 1

      If you need the same app everywhere it is easy enough to either make the data format portable

      Really, you mean I, with almost zero programming skills could do it? Could my friend with zero programming skills do it?

      or run the entire OS from the usb stick.

      This one's easier, but the university or library could have rules preventing me from booting my own OS, but allow me to run my program. Also, in doing this I cannot use the software that is already on that PC. The OS running from a USB stick will most likely be slower too.

    27. Re:It's About Time by TerranFury · · Score: 1

      At the risk of starting a flame war... you could just run Windows.

      It has always struck me as odd that it's the operating system built on principles of freedom and openness that has converged to a solution for delivering software that requires centralized authority.

    28. Re:It's About Time by ischorr · · Score: 1

      And yes, Linux really should look into the work done by NeXt on App Bundles in NeXtStep/Openstep (and inherited by OS X). It's a beautiful design.

    29. Re:It's About Time by ischorr · · Score: 0, Redundant

      ...How is the parent post a troll?

    30. Re:It's About Time by walshy007 · · Score: 1

      If the people packaging the closed source app do it right, like what world of goo did, you extract a .tar.gz wherever you want and click on a program and it works.

      If you are using any strange libraries include the so's with it so you give people the option of using it or the dynamically linked libs.

      For regular programs, this tool is rather useless compared to somebody who packages their stuff well.

    31. Re:It's About Time by walshy007 · · Score: 1

      Particularly since people really don't seem to get why this is a problem.

      Because it really isn't? (if you distribute your closed source etc app the proper way)

      - I should be able to install an application QUICKLY and easily. There's no reason why "installation" should be more complicated than "copying/extracting the binaries to wherever I want them to go".

      You can, take the proprietary game world of goo for example, you extract the .tar.gz and click on the world of goo script and bam, you are playing.

      - I should not be dependent on some third party to get around to porting each version of software to my flavor of Linux. When a new version of Wireshark or VLC or whatever software comes out, I should be able to install it *quickly and simply* without waiting on package maintainers to get around to it (even if some are very responsive)

      You aren't, either download the statically linked compiled version from their site and extract and use, or better option get the source, extract, ./configure make THEN simply use.

      Along with the above, I shouldn't be in a state where I can no longer easily install applications because I'm using a somewhat older distribution (and packages are no longer being maintained for that version)

      You just lose the ability to do things as easily as yum install *package* or apt-get *package*... you still have the ability to install the newer things yourself just as you wanted in your first two points. Oh wait, doing so for each updated package you want is more of a pain.. which is why we have packages and maintainers in the first place.

      - Although the option should be there, it should never, ever, ever, ever, ever, ever, ever, EVER be considered "acceptable" to expect users to compile an application to install it (and all the potential headaches of getting that to work, including hacking make files, dealing with dependencies, patching the software, actually doing C++ debugging, etc).

      While I completely agree users should never have to patch software, debug etc. To claim an end user can't simply type './configure' 'make' 'make install' is insulting to their intelligence.

      I could make a similar argument that windows users shouldn't have to continually click next and setup settings for their installshield apps, since that is significantly more painful and inconsistent than simply compiling a linux app.

      Balloon up my applications with static libraries. Please. The trade-off in system administration headache would pay for itself 100s of times over.

      Having a static library version downloadable from upstreams website is a handy thing, but to propose that every integrated repo app should use static libraries is quite frankly retarded.

      Administering/installing applications on a windows system is an order of magnitude more effort than on linux as it is. Your complaint boils down to 1. it doesn't do it the (inefficient) way windows does by default. 2. I don't know how to package software for linux (This has been solved by other people)

    32. Re:It's About Time by martin-boundary · · Score: 2, Insightful

      I DREAM of being able to just download an application archive, extract it *anywhere I want*, and just run it.

      Why? No offence, but you dream small. This seems barely one step up from what we've had in the past. Why SHOULD you have to do any of this? A real improvement shouldn't involve any of this mundane stuff. You shouldn't have to go download anything yourself, and you shouldn't have to think about managing where you want to extract things.

      The true goal should be to automate all this and make it transparent. If you want to run a program, that's all that should be needed from you, by the interface. The computer should figure everything out for you and do it, including putting things in your preferred locations if that's what you like. We're half way there with package management systems already. Take a look at Debian/Ubuntu. You choose a package, and you run the program. No manual downloads, extractions, configurations, hunting for dependencies etc. If the community can figure out how to make the packaging literally trivial for developers, then we'll be that much closer to the goal. I'd like to see Linux distributions able to figure out all the details for creating their own packages, just by reading a single URL that the project developer would publish. And I'd like this to be so ROUTINE, that every developer does it.

    33. Re:It's About Time by SanityInAnarchy · · Score: 2, Interesting

      apt-get or yum are not options in these environments...

      Really? Why not?

      Put another way: Rubygems can install to a home directory, and only requires Ruby itself to be in the path. Are you saying that the sandbox environment doesn't allow you to have reliable filesystem access or modify your environment variables? Because that's all it takes.

      I realize apt-get or yum may require system-level access in their current configuration, but if they can be configured per-user, that's a limitation in apt-get or yum, not in the idea of a package manager.

      firing up a VM each time you want to run an application is very heavyweight...

      Not necessarily, especially when VMs can be cloned with COW memory.

      the cluster may be composed of heterogenous set of machines with different versions of Linux.

      Doesn't seem like an insoluble problem, either. If you're just going to statically link anyway, bundling system libraries doesn't seem like that big a stretch. A chroot jail would be a better solution (and I think BSD has a secure version of these), but you can fake that without root anyway.

      The advantage of doing things this way is that you still get the advantages of dynamic linking (lower memory and disk usage for multiple programs installed, easier updates, etc). The only component missing is admin rights, and there's nothing special about admin rights that relates to any of these.

      So, TD;DR: This looks like just another case where the correct solution was staring you in the face, but you went with the easy solution instead. That's not necessarily wrong -- you could actually make a much better case that it's too hard to write a proper package manager for this environment, and there's too small of a target audience to justify the effort, compared to a simpler solution which just Gets It Done.

      But then, why is CDE a big enough deal to be Slashdotted? Presumably it took a significant amount of work...

      --
      Don't thank God, thank a doctor!
    34. Re:It's About Time by SanityInAnarchy · · Score: 1

      Really, you mean I, with almost zero programming skills could do it? Could my friend with zero programming skills do it?

      Could either of you use CDE?

      I mean, we are talking about CDE as a developer tool, right? If a developer can use that, it certainly is "easy enough" for them to make the data format portable.

      --
      Don't thank God, thank a doctor!
    35. Re:It's About Time by Anonymous Coward · · Score: 0

      Um, I think you meant "there's so little number of GNU/Linux desktop installations." And yeah, compared to Windows the market share isn't much. But ... next year will be the Year of Linux on the Desktop. I'm certain of it.

      Um, I think you meant, "there's such a small number of GNU/Linux desktop installations."

    36. Re:It's About Time by Rockoon · · Score: 1

      Why? No offence, but you dream small. This seems barely one step up from what we've had in the past. Why SHOULD you have to do any of this? A real improvement shouldn't involve any of this mundane stuff. You shouldn't have to go download anything yourself, and you shouldn't have to think about managing where you want to extract things. The true goal should be to automate all this and make it transparent. If you want to run a program, that's all that should be needed from you, by the interface. The computer should figure everything out for you and do it, including putting things in your preferred locations if that's what you like.

      We can argue over semantics, but in the end people want control over their UI application organization.

      That might be what folders they are put in, or it could be what submenu of a launcher its icon is placed in. Your dream system just sweeps this issue under the rug like it suddenly wont matter. It still matters.

      So the question then is, why this arbitrary distinction between things like folders and menus in a launcher?

      One of the essential problems is that this distinction is made at all. Another is that in the case of folders, people dont always have full control over where things are put, which creates a complex interplay between applications which share arbitrarily located dependencies.

      This solution in this article gives people significant control over that second issue, and if an application launcher was designed around most apps being this way, a good chunk of the first could be eliminated as well (that it should be an exceptional condition when a programs hierarchal folder location differs from its hierarchal UI launching location.)

      But the #1 reason to use such a tool right now is because you can make distro-oblivious packages. Claims like "just make a package" ignores THAT issue. Packages arent distro-oblivious. You cant take a package made for Ubuntu and throw it at Slack successfully. So the developer ends up needed intimate knowledge of many distributions.. several package management systems.. and so forth..

      The biggest competitor to Linux right now is another Linux.

      --
      "His name was James Damore."
    37. Re:It's About Time by Lennie · · Score: 1

      I do it all the time, works fine. I do have to say, it was a problem in the past with daily build only having a 32-bit version, now that 64-bit versions of daily builds are available, it works without a problem.

      --
      New things are always on the horizon
    38. Re:It's About Time by Lennie · · Score: 2, Informative

      You can also run different profiles at the same time with -no-remote -P . You can run different versions or the same.

      --
      New things are always on the horizon
    39. Re:It's About Time by Lennie · · Score: 1

      Sounds to me like, they haven't heared of Linux-VServer/OpenVZ, etc.

      --
      New things are always on the horizon
    40. Re:It's About Time by Rockoon · · Score: 1

      You can, take the proprietary game world of goo for example, you extract the .tar.gz and click on the world of goo script and bam, you are playing.

      ..it wasnt always that way.. for instance when you ran a 64-bit Linux, WoG wouldnt run without extra work (at a minimum you needed to manually compile 32-bit version of its dependencies)

      Here is a citation.

      Obviously doing it "right" means that the WoG people have intimate knowledge of lots of environment variations and account for them at runtime in a script .. if thats the "right" way.. then fuck being right. I'd rather have a CDE-style thing do the heavy lifting for me.

      --
      "His name was James Damore."
    41. Re:It's About Time by multipartmixed · · Score: 2, Informative

      Why dream?

      Buy a Mac.

      Software is most frequently distributed in .dmg (disk image) files. You download the file, maybe gunzip it, then you click on it. That mounts the volume. Then you click on the application. That runs it.

      If you want to turf the .dmg and put the application in your application folder, you just drag it from the dmg to the application folder (or fan) and let go.

      The biggest piece of the puzzle to making this work from a systems POV is the Mach-o linker. The linker understands executable-relative linking. The next biggest piece is the uniformity of the install environment, the common directory structure that goes with applications (like, stuff with the app goes with the app instead of parts in /bin, /etc, /usr/lib, and so on), and the understanding of the directory structure in the file manager (finder).

      Put all these pieces together and you have a really nice cohesive environment for day-to-day use. The best part is, it's still a UNIX box, so you can you pop open a terminal window and do whatever the hell you want.

      It will be a long time since Linux sees this type of paradigm, as it requires deep cooperation the KDE/Gnome folks, development toolchains, systems linker, and a re-invention of the directory layout in the LSB.

      --

      Do daemons dream of electric sleep()?
    42. Re:It's About Time by h4rr4r · · Score: 1

      yes I have the beta is called minefield or shiretoko and does not conflict. The nightly has something like that too. Or just unpack the bins.

    43. Re:It's About Time by Pentium100 · · Score: 1

      I think I could use CDE - after all the guy in the video just runs the app as

      ~/cde path/to/app/app

      then copies it to another pc and runs app-cde/home/user/path/to/app/app.cde

      I could do that without writing a single line of programming code.

    44. Re:It's About Time by ScrewMaster · · Score: 0, Redundant

      Um, I think you meant "there's so little number of GNU/Linux desktop installations." And yeah, compared to Windows the market share isn't much. But ... next year will be the Year of Linux on the Desktop. I'm certain of it.

      Um, I think you meant, "there's such a small number of GNU/Linux desktop installations."

      No, that's what he meant. I was focusing on meaning, not largely irrelevant detail.

      --
      The higher the technology, the sharper that two-edged sword.
    45. Re:It's About Time by 99BottlesOfBeerInMyF · · Score: 1

      It isn't a good idea to turn Linux into Windows. In fact, most mainstream OSs are switching to package managers.

      Bundled applications that are portable and contain necessary libraries are not a concept that is mutually exclusive with package managers. What's wrong with having portable bundles users can migrate and use from remote disks and easily move, share, delete... and using a package manager to acquire and keep things up to date?

      Forget about cloning Windows, let's clone OS X and Ubuntu's new package manager, but better incorporating a good package manager that pulls from multiple repositories but handles nicely bundled portable apps. Why would desktop users want anything else? Is disk that constrained on your desktop? I'd rather spend a bit of space and get packages that I can IM to friends, or delete in a single go, or run from a flash drive, or better yet run from a network drive from different machines with different architectures all just by clicking on a normal binary created in its default configuration by the most common dev tools for Linux. The fact that some developers seem very resistant to this sort of progress is exactly why I sometimes feel Linux is always lagging in areas that would require more revolutionary changes.

    46. Re:It's About Time by couchslug · · Score: 1

      "Of course, there's so little number of GNU/Linux installations out there that it's almost irrelevant."

      More to the point, the user of the portable app will likely use in on their own fleet of machines. No public access, no problem

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
    47. Re:It's About Time by Doctor+O · · Score: 1

      I'm not sure why you're getting "Troll" mods for this.

      Yes, that's pretty obvious.

      It isn't a good idea to turn Linux into Windows. In fact, most mainstream OSs are switching to package managers.

      Um, what? First of all, Windows doesn't even DO what this software does, so it's hardly "turning Linux into Windows", more of "turning Linux into OSX".

      Second, there are three mainstream OS, Windows, OSX and Linux. None of those "are switching to package managers".

      --
      Who is General Failure and why is he reading my hard disk?
    48. Re:It's About Time by walshy007 · · Score: 1

      Obviously doing it "right" means that the WoG people have intimate knowledge of lots of environment variations

      Not really, it is very common to only have 32-bit packages and 64-bit, most of the abstraction is done by SDL and the like.

      I'd rather have a CDE-style thing do the heavy lifting for me.

      And people like me and most of everyone else who uses linux would not be downloading your 500mb hello world script for something we could do in a matter of kilobytes. You're welcome to deploy things how you wish, but it's a sign of sloppiness.

    49. Re:It's About Time by bar-agent · · Score: 1

      In fact, most mainstream OSs are switching to package managers.

      [citation needed]

      Apple is doing a desktop app store; is that what you are referring to? But it is nothing like a package manager.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
    50. Re:It's About Time by Urkki · · Score: 1

      That's probably another use, but I really don't think that's the main place where it'd be useful. I DREAM of being able to just download an application archive, extract it *anywhere I want*, and just run it. Just use it, without having to worry. Any application - not the apps (and versions) that some distribution maintainer has gotten around to porting to my flavor.

      Replace "extract" with "extract, configure for user dir install, compile, install", then you have that with many apps. And for many of them, you could make that into one alias.

      Of course compilation will take a few minutes, as opposed to a few seconds of just extracting, and there are potentially many more things that may need user tweaking, but basically that's the experience GNU autotools and similar systems try to provide. It'd need a few finishing touches to provide no-brains-required OS independent user-installable packages for Unix this way, but not terribly much.

    51. Re:It's About Time by Urkki · · Score: 1

      This does not make anything easier, it just makes it wrong.

      The ubuntu app center makes things easier without this sort of nasty kludge.

      Let's imagine I have a Fedora and an Ubuntu box. I want an app for both of them (let's say some kind of sharing/collaboration tool). Please enlighten me, how does Ubuntu App Center make this easier?

    52. Re:It's About Time by pxc · · Score: 1

      With Debian and its kin, not only can you house all of those on a single system, you can easily define which is the default firefox by way of a symlink or dpkg alternative.

    53. Re:It's About Time by mmj638 · · Score: 1

      it's about being able to run your application in a different environment where you don't have admin rights.

      In a lot of university clusters or compute grids researchers have access to a large collection of compute nodes, but they usually don't have any rights to those machines. In fact, most of the time the programs are ran in a sandbox and have a restrictive environment.

      Wouldn't virtualisation help in that sort of situation? Set up your own Linux (or whatever) installation in your own virtual space? Can't things like User Mode Linux do that?

  3. CDE 2 by ukpyr · · Score: 2, Informative

    I'm just pointing out a major application - that's not so major anymore - Common Desktop Environment uses this acronym :)
    Does sound like a neat tool though!

  4. Next up, the Flash Transport Packager by Anonymous+Freak · · Score: 3, Funny

    To more quickly prepare software for easily installation.....

    --
    Another non-functioning site was "uncertainty.microsoft.com."
    The purpose of that site was not known.
    1. Re:Next up, the Flash Transport Packager by Anonymous Coward · · Score: 0

      I'm sorry, but this acronym is already taken by my Fancy Turnip Peeler.

  5. dependency hell is not inevitable by Anonymous Coward · · Score: 0

    I don't understand why some people insist that dependency hell is inevitable. I have been using Debian for 8 years and Ubuntu for 4 years, using them for a wide variety of purposes, and I never experience anything that I could describe as "dependency hell"... (unless you count trying to cross-compile my linux code for win32)

    That being said, I think this is CDE thing is cool, and is a good idea. I just don't think it is a good idea for the same reasons that the original poster specifies.

    1. Re:dependency hell is not inevitable by afidel · · Score: 1

      I have, we needed to compile Glibc to use 32bit UID's back around 2000, but this broke lots of downloadable packages. Sure for things that came with source you could compile them, but that was a major PITA and could take a LONG time vs even a sizable download.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:dependency hell is not inevitable by eriqk · · Score: 1

      Then again, that was around 2000. In computer years, that's the late middle ages.

  6. Party like it's 1988 by countertrolling · · Score: 1

    Wow, portable apps, just like an old Mac. Did anybody, for even a second think it's kinda weird for a program to splatter its parts all over the disk and into every directory it can find?

    --
    For justice, we must go to Don Corleone
    1. Re:Party like it's 1988 by h4rr4r · · Score: 5, Insightful

      Wow, static linking, did anybody for even a second think it is kinda weird to have the same lib on the machine over and over and in every old exploitable version you can find?

    2. Re:Party like it's 1988 by countertrolling · · Score: 2, Insightful

      That would all be nice if not for each program replacing shared libraries with its own and breaking the other programs. A program should not disturb the system or mess with its libraries. I prefer it remains as isolated as possible, where it can do the least damage.

      --
      For justice, we must go to Don Corleone
    3. Re:Party like it's 1988 by avaik6 · · Score: 2, Informative

      I would LOVE to have mod points and vote this up... I always loved the fact that the applications use the existing blocks on the system to do their magic, and by sharing the blocks you can have more apps in less space than other platform$. But with this... if you install every f*cking package with this.. you will end up having 12 different glibc versions (hey, maybe 12 times the same glibc version, each for each app that requires it), and 81725 times each library.. I think it's a _GREAT_ tool to perform a fast-and-no-brains-available deployment of some in-development app, or to debug some weird shit. But please, do not pretend to install all my software like this.. I don't want gedit to weight 100mb.

    4. Re:Party like it's 1988 by X0563511 · · Score: 1

      Did anybody, for even a second, think that tracking where files are "splattered" might make it less splattery?

      --
      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...
    5. Re:Party like it's 1988 by h4rr4r · · Score: 1, Informative

      No the program should just use the libraries the system has. This is what package management is all about. What you prefer is only the product of brain dead OSes that lack proper package management.

    6. Re:Party like it's 1988 by aliquis · · Score: 1

      Some mac applications does to. It's just that there's nothing tracking it :D

      The obvious disadvantage to this is that 1) it takes up more space, and more importantly, 2) libraries or whatever included in the applications may be outdated since long but nothing is tracking it or noticing you. You have to rely on noticing the application is out of date and the developer to have upgraded anything vulnerable.

      Personally I still want my Amiga :/

      Copy libs/ fonts/ env/ if you want to. Don't if you don't want to =P

      Copying them obviously make removal somewhat harder but I never saw a purpose to remove any library files anyway. The advantage of copying them was that Directory Opus could tell you if the version you tried to replace with was newer or not and hence they would eventually get upgraded at the same time.

      Package managers are good. With one package format for all platforms / large enough selection of packages (see Debian, FreeBSD, Ubuntu, Gentoo, ..) there sorta wouldn't be any need whatsoever for any of these portable or "single installation package" solutions.

      A solution for a problem which isn't there, and which make new ones.

    7. Re:Party like it's 1988 by rgmoore · · Score: 1

      Did anybody, for even a second think it's kinda weird for a program to splatter its parts all over the disk and into every directory it can find?

      Yeah, that would be weird. It would be much more sensible for programs to behave the way they do under sane Linux package management, and put their parts into places defined by the filesystem hierarchy standard. That way it's possible to have just one copy of important files and libraries, so each program package can be much smaller.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    8. Re:Party like it's 1988 by aliquis · · Score: 1

      Except it doesn't.

      Poorly written libraries or whatever may, but the package maintainer and package manager will make sure that won't happen.

    9. Re:Party like it's 1988 by icebraining · · Score: 1

      That's why dpkg prevents installation if the package wants to override others' files.

      You don't need static linking to do damage prevention, you need a decent package manager.

    10. Re:Party like it's 1988 by Haeleth · · Score: 4, Insightful

      That would all be nice if not for each program replacing shared libraries with its own and breaking the other programs.

      Do, please, show me just one widely-used program that does this on a recent UNIX or Unix-like platform.

      A program should not disturb the system or mess with its libraries.

      Right. That's why you should put programs you install under /usr/local, not straight under /usr. Or of course many programs like to be installed in their own self-contained directories under /opt, which is, er, basically exactly what you're asking for and has been common practice for decades.

    11. Re:Party like it's 1988 by Haeleth · · Score: 1

      Did anybody, for even a second think it's kinda weird for a program to splatter its parts all over the disk and into every directory it can find?

      It's no weirder than the opposite, which is for your documentation to be scattered all over the disk in a whole bunch of different directories, and your commands to be scattered all over the disk in a whole bunch of different directories, and then when you want to fix a major security hole in a common library you have to completely reinstall 50 programs from scratch instead of just updating one single file.

      Open your mind. Just because something is different from what Apple does, doesn't mean it's necessarily a stupid thing to do. Sometimes there is more than one mutually-exclusive right answer, and Apple can only choose one of them.

    12. Re:Party like it's 1988 by lowen · · Score: 1

      That's also why RPM will not let a package overwrite another package's files. Wow, what a concept.

    13. Re:Party like it's 1988 by h4rr4r · · Score: 0

      To windows users it really is. Either you know the better way or you start to think about hacks like putting everything you need for an application in one file/directory.

    14. Re:Party like it's 1988 by Kjella · · Score: 4, Insightful

      For packages provided by the distro, it makes sense to have them all use their complex dependency tree. For installing some other version side by side, this sounds like a great tool. The problem with dependencies is that often a pebble turns into an avalanche by the time you're done. If you want the new version of *one* KDE app, it can drag pretty much the whole of KDE and every library they in turn depend on with it in an upgrade. I've had that happen and ended at 450MB to download and install, and that would pull almost all packages out of LTS support.

      From the user's point of view it's completely illogical to upgrade the whole system just because you want a new feature in amaroK 2.4 while your distro only packages 2.3, you expect one application to install or upgrade independently of any other application. That does not happen with Linux. It is not just about new library versions, via dependencies you pull in unwanted version upgrades. As for security I'd rather have one potentially insecure package on my system than to pull most packages out of support, it probably open ups more vulnerabilities than it prevents.

      I wouldn't want to run a dozen applications like that. But if it's one or two? I got no problem taking the extra overhead of a bit more memory use. And honestly, a lot of software I use isn't in contact with the "outside world" as such. Even if there is an exploit in a library, I'd never open any file crafted to exploit it. Obviously it is good in general to patch stuff, but it's not always that critical...

      --
      Live today, because you never know what tomorrow brings
    15. Re:Party like it's 1988 by countertrolling · · Score: 3, Insightful

      That's why you should put programs you install under /usr/local, not straight under /usr.

      Not the issue. That's a given. It's when I suddenly find out I don't have some bizarre version of gtk, or ncurses (great name, because that's what I'm doing when I find it missing), and I'm suddenly without internet, it gets a bit tense. I prefer the portability over raw efficiency. It is far and away one of the best things about a Mac. I can take something as bloated as MS Office or Photoshop straight from one machine to the next.

      --
      For justice, we must go to Don Corleone
    16. Re:Party like it's 1988 by Anonymous Coward · · Score: 0

      Wow, static linking, did anybody for even a second think it is kinda weird to have the same lib on the machine over and over and in every old exploitable version you can find?

      If only there were some sort of global network over which applications could update themselves on a regular basis.

    17. Re:Party like it's 1988 by Bill,+Shooter+of+Bul · · Score: 2, Funny

      You mean like the registry ....

      [ducks outa the way]

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    18. Re:Party like it's 1988 by tepples · · Score: 2, Interesting

      No the program should just use the libraries the system has.

      Then the package manager will fail to install the program because the program requires a later version of a given library than is available in the long-term-supported distribution that the end user is running. For example, PHP 5.3 made PHP far less of a pain in the ass, but Ubuntu 8.04 LTS (the version found on Go Daddy dedicated servers, for example) still has 5.0.something or other.

    19. Re:Party like it's 1988 by X0563511 · · Score: 1

      Actually, no, not like the registry. The registry points to an installshield file that does it.

      --
      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...
    20. Re:Party like it's 1988 by ischorr · · Score: 1

      No. Not even a little bit.

    21. Re:Party like it's 1988 by Anonymous Coward · · Score: 0

      SOLUTION: A system which allows BOTH the perks of portability between Linux distros/environments, AND is efficient by using shared libraries that are kept up-to-date. Hmm, sounds like a universal package format and standard which all the major package managers adopt compatibility with and/or all the major distros adopt managers which are compliant with the system. The standards would encompass things like offering both system-wide/root installation and non; placing an icon in the user's menu; making the software's existence known to the package manager; and adding web URLs for automatic updates of the user's program.

      Why can't all this be done? Perhaps because the distro companies are doing a lot of the Linux development and they are fixated too much on competing with each other and collecting money through their own proprietary software channels *ahem*UbuntuSoftwareStore*ahem* instead of working together to provide things like an easy user experience for things like software installation; allowing easier migration to their competitors if their own distros become disliked for some reason; and strengthening ALL of Linux as a whole by trying to help unify the Linux software ecosystem.

    22. Re:Party like it's 1988 by Zero__Kelvin · · Score: 2, Interesting

      "I can take something as bloated as MS Office or Photoshop straight from one machine to the next."

      I can pirate software too, but I prefer to use superior free software.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    23. Re:Party like it's 1988 by countertrolling · · Score: 1

      You can call it what you want. Pontificating will score no points with me. I call it moving shit to a new machine. And if you ever find superior free software, especially one that copies over just as easily, please post.

      --
      For justice, we must go to Don Corleone
    24. Re:Party like it's 1988 by phantomfive · · Score: 1

      It's when I suddenly find out I don't have some bizarre version of gtk, or ncurses (great name, because that's what I'm doing when I find it missing), and I'm suddenly without internet,

      Uh, when has this ever happened? I've had some weird dependency issues, like with dvd::rip when it was still new, but I've never had ncurses or any other library mess up my internet connection.

      I can take something as bloated as MS Office or Photoshop straight from one machine to the next.

      Once again, is this something you do often? In any case, source code wins over bloated binary any day.

      --
      Qxe4
    25. Re:Party like it's 1988 by abigor · · Score: 1

      OS X uses a technique similar to this (though not identical, as there is heavy reuse of libraries). So maybe you should link to all the OS X exploits out there to make your case a little more convincing.

    26. Re:Party like it's 1988 by SanityInAnarchy · · Score: 2, Informative

      OS X is routinely first to lose in the "pwn to own" challenge, among others.

      --
      Don't thank God, thank a doctor!
    27. Re:Party like it's 1988 by IdntUnknwn · · Score: 1

      CDE isn't meant to be a general install mechanism. You should only use CDE when you need to exactly reproduce your environment on someone else's machine for *testing* purposes.

      The example use case of an executable bug report opens up enormous possibilities. You would no longer need to ask the user for information, you can just run the user's setup yourself to gather bug information.

    28. Re:Party like it's 1988 by Anonymous Coward · · Score: 0

      So, you choose the long term support version which means you'll be using the same old versions of things for 2 years, but then you want all the latest versions of the applications you like.

      Maybe amarok 2.4 wants to use all the new features in KDE 4.5, so requires it.

      What's so great about LTS anyway? Ubuntu gets to patch old versions of things for 2 years, while upstream has moved on.

    29. Re:Party like it's 1988 by foniksonik · · Score: 1

      That's because they always offer a MacBook pro as part of the award!

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    30. Re:Party like it's 1988 by Rich0 · · Score: 2, Informative

      From the user's point of view it's completely illogical to upgrade the whole system just because you want a new feature in amaroK 2.4 while your distro only packages 2.3, you expect one application to install or upgrade independently of any other application. That does not happen with Linux.

      Sure it does. It just doesn't happen with Ubuntu, or Debian, or RHEL/Fedora/SUSE/etc.

      If you use a source-based distro then unless the newer version depends on some API exposed by a newer library then it will build just fine and run against the old one.

      It used to be that the preferred upsteam way of distributing packages (outside of a package manager) was as source for exactly this reason. The same tarball worked just fine on sparc/ sgi/ hpux/ linux/ freebsd/ etc.

      I do see the utility of something like this tool, but I'd hate to see it used widely. Besides security there is also wasted memory - if 10 programs are linked against the same library it is only loaded in RAM once. If 10 programs are linked against 10 versions of the library, or even the same version built 10 times (and they load those different versions) then the system can't share their memory.

    31. Re:Party like it's 1988 by Rich0 · · Score: 2, Interesting

      LTS is good for production environments where you have lots of machines to support.

      Suppose you run Ubuntu on 1000 workstations. Each of those runs a variety of programs, not all the same, and some aren't from the PM (they might not be open source, or widely used - they could even be homegrown). Every time there is an upgrade one of these programs could break.

      The idea of LTS is that for the most part everything stays put but you still get security updates. For something like a corporate desktop that is exactly what you want. Why do you think that so many computers are still running XP? Simple, it works and as long as it works nobody wants to pay the small fortune it would take to figure out if anything will break and if so fix it when you upgrade 20,000 PCs running it.

    32. Re:Party like it's 1988 by h4rr4r · · Score: 1

      If only they were all updated by one thing, rather than each had their own silly updater.

    33. Re:Party like it's 1988 by Anonymous Coward · · Score: 0

      Amarok 2 sucked ass anyway. They couldn't make anything better than 1.4, so decided to really fuck it up instead.

      Because xmms is getting a bit old these days, and no-one has been able to produce anything much better (yes I know audacious and xmms2 exist), I mostly just use madplay or mpg123.

    34. Re:Party like it's 1988 by Urkki · · Score: 1

      That's why you should put programs you install under /usr/local, not straight under /usr.

      Not the issue. That's a given. It's when I suddenly find out I don't have some bizarre version of gtk, or ncurses (great name, because that's what I'm doing when I find it missing), and I'm suddenly without internet, it gets a bit tense. I prefer the portability over raw efficiency. It is far and away one of the best things about a Mac. I can take something as bloated as MS Office or Photoshop straight from one machine to the next.

      That's what installing under /opt (or where ever), and applications having their own library dirs, solves quite elegantly. Only thing that "intrudes" the overall system is a symbolic link in /usr/bin or /usr/local/bin to a wrapper (usually a shell script) that sets library search path before launching the actual binary.

    35. Re:Party like it's 1988 by badkarmadayaccount · · Score: 1

      SPARC is an ISA, SGI is a company. I think you meant SunOS(Solaris?) and IRIX.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  7. GPL Compliance warning! by Anonymous Coward · · Score: 2, Insightful

    If those libraries are GPL or LGPL, then when you deliver the binary of the library, you must also deliver the source or an offer to deliver the source, and you must also deliver a copy of the (L)GPL, as part of the CDE. Is this done?

    1. Re:GPL Compliance warning! by noidentity · · Score: 1

      Correction: if the libraries are just about anything besides modified BSD/MIT/zlib-style licensing, you probably need to include the license and author information, at the very least. Not specific to GPL by any means.

    2. Re:GPL Compliance warning! by linuxpyro · · Score: 1

      Well, you just have to have the code available if the user wants it, so I think you could just package the binary like this and then giving the user the source if they ask or having it up for download somewhere would be fine. Then I think you could just throw the GPL into the package somewhere, maybe with the other documents.

      --
      Saying "I'll probably get modded down for this" in a post is the best way to get it modded up.
  8. Bad idea or worst idea ever? by h4rr4r · · Score: 4, Insightful

    Great, now we can have outdated exploitable libs and every other kind of BS that comes with this. Might as well just statically link everything. Package mangers exist for a reason, use them. Do not bring the errors of Windows to us.

    1. Re:Bad idea or worst idea ever? by 99BottlesOfBeerInMyF · · Score: 2, Informative

      Great, now we can have outdated exploitable libs and every other kind of BS that comes with this. Might as well just statically link everything. Package mangers exist for a reason, use them. Do not bring the errors of Windows to us.

      Or you could just use OpenStep, get dynamic libraries and portable apps. This is a long solved problem.

    2. Re:Bad idea or worst idea ever? by DigitalContradiction · · Score: 1

      It seems to me it's a good idea for the precise things mentioned in the article : quick prototyping, using software on an environment you don't fully control (like running some scientific simulation software on a cluster) and bug reports (although I'm more skeptical about that one). Not for managing and deploying software in general. So why so much scorn ? It's just a tool for an end. CDE won't kill good software development and deployment practices, no more than Wine killed GNU/Linux FOSS software.

    3. Re:Bad idea or worst idea ever? by jd · · Score: 4, Interesting

      One method is to have a tool for interrogating the API version and also testing the API against some set of tests that relate to the application being installed. You'd then apply the following:

      • If the API version is within bounds, do not install the library
      • If the API version is outside of bounds but the tests succeed, do not install the library
      • If the API version is greater than the latest supported and the tests fail and a backwards-compatibility library which IS within bounds of the API provided is within the archive, install the backwards-compatibility library
      • If the API version is greater than the latest supported and the tests fail and no backwards-compatibility library is usable, install the supplied library locally to the application, using the package manager, using an alias so there's no name-clash with primary libraries
      • If the API version is less than the minimum supported and the tests fail and the user authorizes an upgrade, use the package manager to upgrade to the supplied library
      • In all other cases, install the supplied library locally to the application, using the package manager, using an alias so there's no name-clash with primary libraries
      • Where the library is installed locally, all information regarding the supplied API must be removed since it's vital it doesn't clash with anything else - however, there must be a maintenance tool for cleaning out such local libraries when they are no longer required

      This should keep redundancy to a minimum. There will be some, since there's nothing in this to collaborate between apps using this method, but it's a start.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    4. Re:Bad idea or worst idea ever? by grumbel · · Score: 2, Insightful

      Package mangers exist for a reason, use them.

      Except that distribution specific package manager do *nothing at all* to address the problem of distribution independed binary packaging. On top of that package manage are a really lousy solution to the software packaging problem, as they don't actually solve the underlying problem of duplication and incompatibilities, instead they have a single monolithic repository that they declare as the one and only source for software out there. As long as your software is in that repository, in the version you want, you are of course fine, but if you want a newer version, an older one, two different ones at the same time or a piece of software not yet packaged, you are back at square one as the package manager doesn't deal with those at all. You have to completly bypass the package manager, compile stuff from source and install it somewhere where it doesn't conflict with existing stuff. Its pretty much one big ugly hack.

      Now of course CDE isn't exactly a beautiful solution either, its a hack to solve a problem which the distribution builder have preferred to ignore for the last 15 years.

    5. Re:Bad idea or worst idea ever? by jedidiah · · Score: 1

      No, not really.

      You still have dependency issues. They're just ignored because everyone is drinking the same cool-aid.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    6. Re:Bad idea or worst idea ever? by 99BottlesOfBeerInMyF · · Score: 1

      Or you could just use OpenStep, get dynamic libraries and portable apps.

      No, not really. You still have dependency issues.

      What do you mean? OpenStep includes the libraries in the packages and dynamically links to newer versions that become available. If you have a dependency problem using OpenStep, you're using a broken toolset to build.

    7. Re:Bad idea or worst idea ever? by Anonymous Coward · · Score: 0

      OpenStep => OS X, thus jedidiah must hate it as he hates all things Apple. Don't pay attention to him, the guy makes no sense and isn't a technical person to begin with.

    8. Re:Bad idea or worst idea ever? by IdntUnknwn · · Score: 1

      This isn't meant to be a general install mechanism. You should only use CDE for testing/research purposes when you need to reproduce your environment on a different machine.

      ihaque's description mis-characterizes the point of this tool. It's certainly not meant for everyone

    9. Re:Bad idea or worst idea ever? by h4rr4r · · Score: 1

      Which means the old one is still there for my to use for privilege escalation or whatever evil I want.

    10. Re:Bad idea or worst idea ever? by 99BottlesOfBeerInMyF · · Score: 1

      Which means the old one is still there for my to use for privilege escalation or whatever evil I want.

      Umm, how do you use an older library from a different package? Do you have some exploit for the linker no one else knows about? In general it makes things significantly harder to exploit because old apps that have the same library as new apps automatically use the newer library in many cases, making even apps that haven't been updated harder to exploit.

    11. Re:Bad idea or worst idea ever? by EsbenMoseHansen · · Score: 1

      All package managers I know of can and do handle multiple repositories.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    12. Re:Bad idea or worst idea ever? by Renevith · · Score: 1

      Okay, so in the cases where you don't install the CDE-packaged library into the chroot, when you upgrade your system library to an incompatible version you will lose the ability to run the stored program (because the package manager doesn't know its dependencies). That bit-rot is exactly the problem CDE is trying to solve!

    13. Re:Bad idea or worst idea ever? by Renevith · · Score: 2, Interesting

      This is not intended to be a package manager replacement. In fact, keeping older possibly-buggy versions of libraries around is a good thing in some of the expected use cases, e.g.:

      • Giving other academic researchers your code that will reproduce your results exactly, even if your code was triggering a bug in a specific library version you have
      • A professor distributing a class assignment in executable form, and not having to worry about how many flavors of linux his students are running

      There are many more use cases illustrated on the website, which you obviously did not read or else you wouldn't have compared CDE to a package manager. Almost all the examples he uses are ad-hoc transfers where the CDE package will only be used on a temporary basis, or where the effort required to bundle a package for each OS would be unwarranted, or where the lack of library upgrades is actually an advantage.

    14. Re:Bad idea or worst idea ever? by grumbel · · Score: 1

      That changes nothing of the underlying problem that the repositories are a single monolithic system, as all the other repositories have to work in lockstep with the main repository to make the thing work. As otherwise you run into naming conflicts, version conflicts, missing dependencies and a whole bunch of other issues. You can't just take a repository build for five year old Ubuntu release and expect it to work on a current day Ubuntu.

      The only reason to make an old repository robust is going the way CDE does: build packages that depend on nothing external and include all needed libraries (preferably with unique names or directly in the main package).

    15. Re:Bad idea or worst idea ever? by EsbenMoseHansen · · Score: 1

      Lockstep they do not have to be, but of course some updating might be needed if you are depending on packages which have been retired (but I suppose a repository ideally should provide all dependencies). Lockstep is only required if you are providing packages that the repository is also providing, and you want the main repository and yours to interact dynamically with this. That is, if you are doing more than provided old versions for compability reasons.

      Really, we use this at work, and it is no trouble. Of course, you need a repository per distribution, and that IS a real bother, though I see no easy solution for it.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    16. Re:Bad idea or worst idea ever? by bar-agent · · Score: 1

      Lockstep they do not have to be, but of course some updating might be needed if you are depending on packages which have been retired (but I suppose a repository ideally should provide all dependencies). Lockstep is only required if you are providing packages that the repository is also providing, and you want the main repository and yours to interact dynamically with this. That is, if you are doing more than provided old versions for compability reasons.

      Really, we use this at work, and it is no trouble. Of course, you need a repository per distribution, and that IS a real bother, though I see no easy solution for it.

      No updating is needed, and no repository is needed, and you have an easy solution. It is to use CDE or OS X bundles or static libraries.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
    17. Re:Bad idea or worst idea ever? by EsbenMoseHansen · · Score: 1

      But that leaves you with upgrading headaches (each app will have to be upgraded individually), and with security problems (dependencies might be old and have defects... especially common deps like libjpeg, libssl, libdbus and stuff like that)

      Installing a repository is just one click in a browser. Installing an application is just one click. Both could be improved, imho, with a database so that uninstalled but available application could be suggested at launch time.

      Bundles have their place --- I have used them myself, the deb toolchain makes this rather easy --- but desktop computers are not one of them.

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    18. Re:Bad idea or worst idea ever? by jd · · Score: 1

      Well, no, because the local version is still there and the library path overrides the global path.

      You can't avoid bit-rot completely, but you can minimize it.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  9. Year of linux by Anonymous Coward · · Score: 0

    I think this breakthrough may just be the start of the year of linux (on the desktop).

    -F

  10. copying proprietary software by tommeke100 · · Score: 2, Insightful

    This sounds like an easy way to copy installed proprietary software?

    1. Re:copying proprietary software by aliquis · · Score: 1

      As if there is ever hard to copy any data you can get hold of?

      Spreading files all over the place for sure won't make it "impossible" or even hard to pirate the application.

      Other things will try their best to prevent that, and fail.

    2. Re:copying proprietary software by Anonymous Coward · · Score: 0

      Nuke it from orbit! It's the only way to be sure.

  11. Limitations by Bryan+Ischo · · Score: 1

    Knowing what files a program will open without running the program is impossible, and since a program can dynamically change what files it opens from run to run, it would be impossible to predict every file that a program would require in all situations. The best that a tool like this could do would be to record the files that were used during a given run of the program and assuming that the program when run later with the same inputs would use the same files, support running the program with exactly those inputs.

    I don't think you could reliably package up many programs in this way for general use, but maybe you could package up a program for a specific task like producing a reproducible bug report. But that is of little utility as most distributions that you would run a program on and need to submit a bug report are fairly easily reproduced anyway and the developer probably would have an easier time just reproducing the bug on their own system without fussing with some packaged up binary that the bug submitter sent in.

    This honestly seems like a wrapper around "strace | grep ^open". If this is what it takes to be a researcher at Stanford these days then sign me up!

    1. Re:Limitations by martin-boundary · · Score: 1
      That's exactly what the tool does. Quoting from the CDE homepage:

      CDE is easy to use: Simply prepend any Linux command with cde, and CDE will execute that command, monitor its actions, and automatically copy all files it accesses (e.g., executables, dynamically linked/loaded libraries, plug-ins, scripts, configuration/data files) into a package within your current working directory. Now you can transfer the package to another computer and run that same command without installing anything. In short, if you can run a Linux command on your computer, then CDE enables others to run it on theirs.

      So there are no guarantees, and it's certainly no real solution to portability. However, I might be an interesting security monitoring tool, eg after recording "typical" program behaviour, you could clone the package for running in a locked down environment, and if it ever starts to behave strangely, then the program would likely crash because the files/paths it expects were never cloned.

    2. Re:Limitations by aliquis · · Score: 1

      I haven't RTFA and have no idea if they track the needed files. But the obvious alternative would of course be to compile everything needed to some other location than / and then pack it all together.

      No need to track anything. Either everything needed is there or it's not.

    3. Re:Limitations by h4rr4r · · Score: 2, Insightful

      You could just use SElinux, which would already let you do that.

      This looks like a solution looking for a problem.

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

      Correction: this is a solution for a problem you don't personally have. You're hardly the only computer user in the world, although from your arrogant tone in your posts it's easy to think you believe you are.

  12. Maybe is the fatigue by Saija · · Score: 1

    but i can't read which license this software adheres*?
    *just in case anyone wants to take a look and change some source code...

    --
    Slashdot ya no es que lo era! ;)
    1. Re:Maybe is the fatigue by gratuitous_arp · · Score: 1

      He just updated the README included in the source to include the license; it's a BSD style license.

  13. already done, already proven a bad idea by KiloByte · · Score: 1

    Uhm, but using the packaging system already present can do the same with less waste, better support for distribution and with existing tools. File-based dependencies like in RPM may be slightly deficient here, but with package-based dependencies like in .DEB you have full control over what you want.

    There were multiple such systems for working against the packaging system already like autopackage, and they turned out to be a disaster. I fail to see how this one is any different.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    1. Re:already done, already proven a bad idea by Burdell · · Score: 1

      Not sure what you mean by "File-based dependencies like in RPM may be slightly deficient here". RPM only depends on specific files if you need them; e.g. if you have package A with a config file /etc/a.conf that is also required by package B, package B will depend on the file /etc/a.conf (commonly found with scripts and dependencies on /bin/sh, /usr/bin/perl, etc.). If package B just needs package A to work, it'll depend on "A".

    2. Re:already done, already proven a bad idea by jd · · Score: 1

      I've broken RPM and DEP so often I've lost count. They work, but only to a point. Part of the problem is that packages aren't generally maintained very well. In fact, that's most of the problem. Especially when you get name-clashes in the standard directories.

      The rest of the problem is the way the data is stored. The package managers don't do much in the way of normalizing, which can seriously mess things up.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:already done, already proven a bad idea by IdntUnknwn · · Score: 1

      CDE isn't meant to be a general install mechanism. You should only use CDE when you need to exactly reproduce your environment on someone else's machine for *testing* purposes.

      The example use case of an executable bug report opens up enormous possibilities. You would no longer need to ask the user for information, you can just run the user's setup yourself to gather bug information.

    4. Re:already done, already proven a bad idea by KiloByte · · Score: 1

      Uhm, a filename clash gets you a RC bug in no time, just as appropriate scripts get run. This doesn't cause an outright rejection only because there are special cases when clashes are dealt with some other way -- but with Conflicts:, Breaks:, Replaces: fields and alternatives/diverts, I can't even think of any case when that's actually needed, so introducing such a clash being not rejected on upload is probably just a historical thing. Unless you run unstable, you're not going to ever run into such an issue.

      I guess that the RPM world may be different -- but with Debian and derivatives, about all legally distributable software that is of any use is present in official repositories.

      I have yet to see an unofficial repository done that badly, too. The worst I've seen is Mozilla's inability to properly produce Release files for their fennec builds.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    5. Re:already done, already proven a bad idea by k8to · · Score: 1

      I don't know about RPM (which allows for hte idea of the same path being supplied by multiple packages in certain circumstances), but in DEB (not DEP) you cannot install two packages which supply the same path. Not without doing some --do-something-unsafe flag.

      I sincerely doubt you've ever broken a DEB based system without either using such foolish flags, or by having a problem in a script (which is unrelated to the points you raise).

      --
      -josh
  14. I really like where this is going. by AnonymousClown · · Score: 1
    It's looks very promising and hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.

    I wonder how far you can take this? For example, a program that requires certain versions of: Mono, glib, gphoto, and other libraries, would it be able to grab all of those?

    Then, if you have something really complicated, you're going to eat up a huge amount of disk space.

    Now, I'm going to ask myself, 'this is fucking awesome and wtf am I picking on it so much when I couldn't do any better?'

    Time for my anti-dork pills....

    --
    RIP America

    July 4, 1776 - September 11, 2001

    1. Re:I really like where this is going. by h4rr4r · · Score: 1

      Installing software on linux is easier than on windows or osx.

      Either
      apt-get install foobar
      or find foobar in the GUI package manager/app store/software center.

      This just brings us the hell that is software on windows. Every app with its own outdated versions of every other damn lib nevermind the fact that it wastes space and provides a ton of security bugs.

    2. Re:I really like where this is going. by Homburg · · Score: 1

      hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.

      Why would we want that? I prefer the current situation, where installing software on Linux is much easier than installing software on Windows and OS X.

    3. Re:I really like where this is going. by Lunix+Nutcase · · Score: 1

      Yes, if you ignore when the version of the package you want doesn't exist in the repos and it also requires dependencies that are of a higher version than in the repost. And this isn't an uncommon case.

    4. Re:I really like where this is going. by Lunix+Nutcase · · Score: 1

      I prefer the current situation, where installing software on Linux is much easier than installing software on Windows and OS X.

      Like when you have to upgrade your entire Ubuntu install just to get the latest version of Firefox? Whereas I can install Firefox 4 beta on a 10 year old version of Windows?

    5. Re:I really like where this is going. by Haeleth · · Score: 2, Interesting

      Installing software on linux is easier than on windows or osx.

      For software that is in the package manager, yes.

      Where something like this "CDE" might be handy is for software that is not in the package manager. Suppose you've written a program that is only of interest to a handful of users. There's no way it's going to find package maintainers for every major distro, and your users might not be happy building from source code.

      There are also classes of software that are not allowed in the main repositories for some major distros like Fedora and Debian. For example, the authors of indie games might want to let Linux users play without making the whole game open source. Even if they open-sourced the engine, some distros will not permit it in the repos if its only use is to access non-free data.

      Basically, "package once, run everywhere" is very appealing to a certain class of software distributor.

      What I don't see is what CDE offers over any of the dozens of existing autonomous packagers. Or why they chose to confuse people by using the same name as the standard UNIX desktop environment.

    6. Re:I really like where this is going. by oiron · · Score: 1

      And have all the existing, open bugs of a 10 year old version of Windows along with all the bugs of a beta version of your browser?

      Why not just upgrade when things are fixed?

    7. Re:I really like where this is going. by Junta · · Score: 5, Insightful

      Dear god no.

      I do not want to execute installshield or any similar crap/wizard for every little thing I install.

      I do not want to have a system tray/task manager full of two dozen vendor's update checker processes, each individually bugging me about how I'm running WidgetFoo 1.8.1.20.1.3, and it is critically important that I execute WidgetFoo's custom one-off graphical update wizard with 3 or 4 pages to click through to get to 1.8.1.20.1.4. Then rinse and repeat once per app instead of knocking them out in one shot/dialog/icon/process.

      I do not want each application to bundle their ancient ass directx library or ancient library from visual studio or any other similar crap.

      Windows installs were not historically 'easy' due to any effort on MS's part (installshield and friends made an entire business out of covering for MS' lack of help, even as MSI matured into a usable solution). Linux (specifically Debian) really got this right first. Apple recognized that model and made it a great success on the iPhone, setting the tone for all of modern mobile devices. Debian did it right first and never gets the credit.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    8. Re:I really like where this is going. by bmo · · Score: 4, Insightful

      Where something like this "CDE" might be handy is for software that is not in the package manager. Suppose you've written a program that is only of interest to a handful of users. There's no way it's going to find package maintainers for every major distro, and your users might not be happy building from source code

      So do the packaging yourself. It's not hard. And when you're done, you have something sitting in the RPM or DEB database with all the others so you can keep track of it.

      There are also classes of software that are not allowed in the main repositories for some major distros like Fedora and Debian. For example, the authors of indie games might want to let Linux users play without making the whole game open source. Even if they open-sourced the engine, some distros will not permit it in the repos if its only use is to access non-free data.

      So set up your own ppa (or rpm equivalent) repository. Your customers can add the repository to their list and then keep track of the package. You seem to be under the impression that repositories are only for "approved" software or that package managers can only handle a small number of entries. I have over 150 entries in /etc/apt/sources.list. Adding another one is no big deal. You also seem to think that licensing issues affect what you can put in a repository. It doesn't matter if you have your own repo. You could put commercial software in there, like Sun/Oracle with their VirtualBox.

      Package management and repositories as they exist in the Linux world are better ways of handling the distribution of software both free and commercial than anything else I've seen on any platform.

      This "CDE" doesn't solve any problems, but introduces its own "dll hell"

      --
      BMO

    9. Re:I really like where this is going. by houghi · · Score: 1

      It's looks very promising and hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.

      What now? Installing software is a two step issue.
      1) Locate the software. The major distributions have a program and/or website that will be able to do just that and find the majority of software. e.g. http://software.opensuse.org/

      2) Installing will be done with most likely the same program. Do you have openSUSE 11.3 and want to install e.g. lbreakout2 Just click here

      Yeah, sometimes you will need to compile the software yourself. That is however not an OS problem, but a developer problem. They decided not to package. And packaging can be done for many distro's by using e.g. https://build.opensuse.org/ where you can build against openSUSE, SLE, Debian, Fedora, RedHat, CentOS, Mandriva and Ubuntu (23 versions in total) all in one go.

      The last time I needed to compile something is now about 3 years ago. I just look for something similar and use that instead.

      --
      Don't fight for your country, if your country does not fight for you.
    10. Re:I really like where this is going. by ischorr · · Score: 1

      > Installing software on linux is easier than on windows or osx.

      Hahahahahahahaha

      On OSX, 99% of application installs require one of the following:
      1) mv Application.app
      2) Drag application to any destination you want.

      That's it.

      > Either
      > apt-get install foobar
      > or find foobar in the GUI package manager/app store/software center.

      That's great. Now:
      1) What if the application you want to install hasn't been ported by the application maintainer (particularly smaller, less popular applications)?
      2) What if the VERSION of the application hasn't been ported yet (I regularly need some new version of software but the update isn't posted to the repository for months)
      3) What if the application you're trying to install is - horrors - not open-source?
      4) What if you're using a somewhat older distribution and packages aren't being updated often or at all anymore? (And "older" in this case may mean only two years. Or less.)
      5) What if you want to install multiple versions of an application?
      6) What if you want multiple instances of the application, or to control where the application is installed?
      7) What if you want to install two different pieces of software that have irresolvable library conflicts (possibly due to software not being updated on a regular basis)
      8) End up in a broken state because package management and extreme library sharing like this is inherently more fragile?
      9) Don't want to wait for 18 different pieces of software to be installed/updated just because you want to update your media player app?

      I run into these problems on a regular basis. It drives me absolutely insane.

    11. Re:I really like where this is going. by Yfrwlf · · Score: 1

      There should be a single cross-distro standard for software package management. You should not have to cater to several "distros". This is the hell that is Linux, and it will be solved only once users and developers alike start demanding it.

      --
      Promote true freedom - support standards and interoperability.
    12. Re:I really like where this is going. by Jesus_666 · · Score: 1

      Software management on Windows is horrible. Software management on OS X is quite nice. (Linux as well, for that matter.)

      Yes, every program bundles their own libraries except for those provided by OS X (and Apple provides most fundamentals including traditional heavyweight X11). On the other hand, installation is a non-issue for most GUI programs. Updates are managed on a per-application basis but many applications are relying on the Sparkle library, giving them standardized upgrade behavior.

      One big advantage OS X's bundle system has for users: You can use software without having to compile it yourself even as a non-administrator. This is very nice on university workstations where you might just end up needing a particular program that the university doesn't offer. On Linux you'd need to compile the program yourself. On Windows you'd be unable to do anything. On OS X you put a file (actually a directory) on your desktop.

      Yeah, I can imagine that administrators are less than enthusiastic about users being able to run random stuff but if you want to forbid it I'm certain you could do so via policies.


      There are advantages and disadvantages to this model. Which outweigh which depend on your situation... And obviously the model works much better when the big and/or important parts like X11 or the window toolkit are centralized. There's a difference between a program that comes with ten megabytes of redundant dependencies and one that comes with three hundred megabytes covering everything from glibc to GNOME.


      All that nonwithstanding, however, I think this program will be used more to move programs from one computer to the next without having to figure out its dependencies than to fundamentally change the way Linux programs are managed. Packages work well for Linux and are a proven technology on the platform. Bundles also work well but they work well on OS X, which was designed to revolve around them. Trying to move either to the other platform will lead to acceptable but suboptimal results (as Fink, MacPorts and Portage/Mac illustrate).

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    13. Re:I really like where this is going. by jedidiah · · Score: 1

      > That's great. Now:
      > 1) What if the application you want to install hasn't been ported by the application
      > maintainer (particularly smaller, less popular applications)?

      You're stuck at the mercy of some packager. This is the same situation as MacOS.

      Although the funny thing is that Linux and Unix have always supported the "shovel everything into a single directory" model. They're just not limited to it.

      > 3) What if the application you're trying to install is - horrors - not open-source?

      Some of them use the "OpenStep approach".

      --
      A Pirate and a Puritan look the same on a balance sheet.
    14. Re:I really like where this is going. by Pentium100 · · Score: 1

      Maybe my computer is too old for a newer version of Windows (yes, I know I should spend money on a new computer even though the old one still works OK and is fast enough for me).

      Maybe I do not want to reinstall Windows and all of my software just to run a newer version of a browser.

      Especially if the browser is in beta - maybe I just want to test it and you would have me buy a new PC or reinstall Windows.

    15. Re:I really like where this is going. by Pentium100 · · Score: 2, Insightful

      I do not want to compile from source every time I want to install some app on an older or uncommon system.

      I do not want to have a system tray/task manager full of two dozen vendor's update checker processes, each individually bugging me about how I'm running WidgetFoo 1.8.1.20.1.3

      WidgetFoo could just as well check for updates itself and not have a system tray app runnin for that. Example - Firefox - when it is running it checks for updates, but does not leave a system tray icom to do that when it's not running.

      I do not want each application to bundle their ancient ass directx library or ancient library from visual studio or any other similar crap.

      Then maybe you should ask the out-of-business (or not) game or app developer to update its product to make it run on a Windows version that was released 8 years after they released the product?

      Linux (specifically Debian) really got this right first.

      Yes, until an app somehow clashes with the political view of Debian creators.

    16. Re:I really like where this is going. by bmo · · Score: 3, Informative

      You're not even replying to anything I said, except to post an ill-informed rant.

      There are *three* package types. And what these do is far more than anything seen in the Windows universe.

      Windows doesn't even *have* a packaging scheme. Sure, there are installers, but that's all they do. There is no dependency resolution. There isn't any updating except manually or if the individual program checks by itself. Things really haven't come very far from the self-extracting .zip file method of installing. What we've gotten over the years is a graphical front-end to an archive extraction and a script to tweak the registry, and a script to uninstall. That's it. It's arcane. It's stone knives and bear skins.

      At least Microsoft dispensed with the bogus "add and remove software" and renamed it "remove software" in the Control Panel. In XP if you came from Debian, you'd expect the "add and remove software" would be where you'd find the Windows equivalent of Synaptic. Sorry, chuckles, it's not. Now in Windows 7 it's finally fixed. It's a small amount of honesty, but it's still better than before.

      And besides, do you know how long it takes to make a package for Linux after compiling? Literally less than 5 minutes, and it can be automated. Doing packaging for 3 package formats (.deb, .rpm, tar.gz) is not a lot of work at all.

      What is available for software take packaging and distribution for Linux software is light years ahead of anything seen in the Windows universe. The Apple "app store" is the only thing that comes close and even that is clunky compared to a fully functioning Debian or RPM repository.

      Your rant is typical of the Windows user who thinks he knows anything about Linux but doesn't really. I suggest you acquaint yourself with what you're talking about before you open your mouth here again and sound even more silly.

      --
      BMO

    17. Re:I really like where this is going. by 0100010001010011 · · Score: 1

      Quit using Ubuntu and their "We're going to lock to this" philosophy.

      Run Debian Testing or Unstable. pin to Testing but install Firefox untable.

      Debian is much much easier to work with in this regards than Ubuntu.

    18. Re:I really like where this is going. by ischorr · · Score: 1

      > You're stuck at the mercy of some packager. This is the same situation as MacOS.

      Do what now? In MacOS (or Windows, or...) typically the packager is the original developer, and software isn't going to be released without a package (which is a much, much simpler task due to a number of factors; platform fragmentation is only one of them). With Linux, non-commercial developers often are "lazy" in the sense that they often simply leave the program to be compiled/ported by the user, or wait for some 3rd-party to port it. In that case the need for a packager is more severe. But I think you're missing the point - we're talking about the distribution/repository model here, and what you're talking about is alternatives to that model.

      > 3) What if the application you're trying to install is - horrors - not open-source?
      Some of them use the "OpenStep approach".

      And good on them. But you're off-topic. The points you're replying to was re: the parent's posit that in Linux, software installation is "easier" thanks to the distribution/repository model.

    19. Re:I really like where this is going. by ischorr · · Score: 2, Informative

      Why in the world would you need an installer for something like this? I don't understand why 99% of applications are ever distributed that way, except for poor OS design or just bad developer habits.

      OS X (and OpenStep) did it right earlier in the sense that the app is a self-contained unit, well-laid out and hierarchical but a single unit to the user. "Installation" typically involves a single move command or drag-and-drop of a single "file" (bundle), and portability across systems cannot be beat (providing the developer the ability to distribute a single bundle that transparently functions across as many platforms as exist for the OS) . It's a beautifully well-designed piece of work. The choice of usability/ease of distribution versus some amount of bloat is left to the developer, and I think it's a great trade-off.

    20. Re:I really like where this is going. by ischorr · · Score: 1

      You're forgetting problems steps 3) and 4)

      3) Someone needs to port it, and quite often that doesn't happen (or doesn't quickly. It's pretty rare that I get a new app update even the first week it's available, and out of luck if I'm running an oldish distribution)
      4) It needs to be open-source for this model to work. Some software isn't. =)

      I do like the idea of having a central application manager, though There is software to do that with Windows and OS X, though the distrib/repository method definitely works better for this. I guess the Mac App Store will serve this need (like similar software on IOS/Android), though obviously that's not ideal either.

    21. Re:I really like where this is going. by grumbel · · Score: 1

      So set up your own ppa (or rpm equivalent) repository.

      The goal should be to have an distribution independent way to package third party software, not force each vendor to package their software for half a dozens of different distributions and different versions of the same distribution. Also repositories are extremely fragile and inflexible. For example you can't "apt-get install" two different versions of the same package and when you want to run an older game whose package depends on some library version that existed in your distribution a few version ago, but no longer in the current one you are also in trouble. If you have a relocatable binary and all required libraries bundled up you have something that is portable to all distributions and robust against most changes.

      This "CDE" doesn't solve any problems, but introduces its own "dll hell"

      There is no "dll hell" when each software is self contained, its completly the opposite.

    22. Re:I really like where this is going. by grumbel · · Score: 2, Interesting

      AppBundles are beautiful and easy, but also not flexible enough to handle many cases, which is why quite a few of software on MacOSX comes as .pkg with an installer, instead of as AppBundle. What MacOSX however did right is making the install application a standard thing of the OS, not something that has to be reinvented by every software developer like on Windows (.msi should probably fix that one day).

    23. Re:I really like where this is going. by h4rr4r · · Score: 1

      Is problem is already solved, cross distro portability is granted by giving out the source.

    24. Re:I really like where this is going. by h4rr4r · · Score: 1

      Then you should install a nice lightweight linux distro. This is why no one cares about that problem.

      Beta browsers are going to be built for distros that are a couple years old, a decade is eternity in the software world.

    25. Re:I really like where this is going. by grumbel · · Score: 1

      You are confusing the problem with the solution. Users should never be required to go the time consuming route to compile stuff from source.

    26. Re:I really like where this is going. by Junta · · Score: 1

      I do not want to compile from source every time I want to install some app on an older or uncommon system.

      And you generally didn't with debian even back in the 90s, Fedora since near its inception, Ubuntu for so long as it had existed, or modern SuSE. If you pick an 'uncommon system', that's your choice, a choice you can ignore but a good choice for someone who needs something 'uncommon' that a proprietary platform will not deliver.

      WidgetFoo could just as well check for updates itself and not have a system tray app runnin for that. Example - Firefox - when it is running it checks for updates, but does not leave a system tray icom to do that when it's not running.

      Still not much better. I don't want an app launch to suddenly be arbitrarily delayed while an update applies. Repository management with third-party repository support means one single process assures currency even when an application is not running, without being obtrusive.

      Then maybe you should ask the out-of-business (or not) game or app developer to update its product to make it run on a Windows version that was released 8 years after they released the product?

      There are some pieces that may require it, but a great deal of Windows libraries are intended to provide full backwards compatibility. Given that backwards compatibility, pessimistically forcing old library versions seems overkill. I have fired up ancient proprietary applications in linux without a whole lot of LD_PRELOAD or similar junk because even the latest and greatest libraries often maintain a stable ABI.

      Yes, until an app somehow clashes with the political view of Debian creators.

      I meant they got the mechanics right, not that their package selection is practical. The great thing is that for apt and yum, third parties supply their signing keys and location and the user is no longer beholden to the philosophy of Debian. Besides, Ubuntu exists now as a bit more pragmatic alternative to the more idealistic Debian and Fedora approach as a starting point.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    27. Re:I really like where this is going. by Junta · · Score: 2, Informative

      4) It needs to be open-source for this model to work. Some software isn't. =)

      Not true. Adobe publishes their closed flash plugin via their own proprietary apt and yum repositories. The distros allow arbitrary vendors to hook into the single update management infrastructure with nothing more than the end user's permission.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    28. Re:I really like where this is going. by Pentium100 · · Score: 1

      Still not much better. I don't want an app launch to suddenly be arbitrarily delayed while an update applies. Repository management with third-party repository support means one single process assures currency even when an application is not running, without being obtrusive.

      Debian requires root password to apply updates. Windows automatic updates work from a limited users account, even though everybody runs as admin on Windows and Linux protests when I log in to GUI as root.
      At least Firefox (not IceWeasel) on Debian updates itself from a limited users account.

      Also, on Windows I can install any app I want and have it update itself (if the developer wanted it) - there is no need for the app to be put somewhere centralized (let's say I create a new app - for Windows I would just put it on my website and hope that somebody finds it (and advertise it in some forums etc) - for Linux I would have to get it to the repository somehow).

      I meant they got the mechanics right, not that their package selection is practical.

      But that means that the app developer and the user must use services of a third party to give/take the software. Yes, additional repositories can be added but that is usually more hassle than just downloading setup.exe from the developers site.

      Besides, Ubuntu exists now as a bit more pragmatic alternative to the more idealistic Debian and Fedora approach as a starting point.

      Ubuntu seems OK to me (though I would use kubuntu), but they make new versions faster than Microsoft makes service packs. I don't want to continuously reinstall my OS.

    29. Re:I really like where this is going. by mgiuca · · Score: 1

      It's looks very promising and hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.

      What? Have you used Linux (Debian or Ubuntu, but most other distros support a package manager in one form or another)?

      See the Ubuntu Software Center.

      I wonder how far you can take this? For example, a program that requires certain versions of: Mono, glib, gphoto, and other libraries, would it be able to grab all of those?

      I don't know about CDE, but apt-get has been able to do this for 15 years.

  15. This can all be avoided, by Anonymous Coward · · Score: 0

    if you write proper packages for your distro. That is after all, the whole point of the package manager...

    1. Re:This can all be avoided, by Haeleth · · Score: 1

      if you write proper packages for your distro.

      Which distro is "your" distro? And what are people who use a different distro supposed to do? Write their own packages?

  16. cross distribution compatibility by Anonymous Coward · · Score: 0

    doesn't this make cross distribution distribution of applications much easier?

    meaning, as an example, if Adobe wanted to release Photoshop for Linux, it could without have 50,000 different package formats for every different version of every different distribution?

    if so, this could be very awesome.

    1. Re:cross distribution compatibility by h4rr4r · · Score: 1

      You seem to be pretty bad at counting.

      2 versions would be fine. RPM and Deb.

    2. Re:cross distribution compatibility by icebraining · · Score: 4, Insightful

      Firstly, you don't need 5000, you need 4 or 5 for the most used distros. Ubuntu, Fedora, OpenSuse, Debian and Red Hat. Let the others figure it out from a tar file.
      And if a company like Skype can produce those packages, so can e.g. Adobe.

      Secondly, that already exists.

    3. Re:cross distribution compatibility by Anonymous Coward · · Score: 0

      so i can distribute my closed source app that will run on debian, ubuntu 6.06 and 8.04 with 1 deb and then fedora 12, opensuse 11.4, mandriva, and for good measure an older version of redhat enterprise linux and maybe even a mandrake?

      all with 2 packages, a deb and a rpm?

      really? sweet.

    4. Re:cross distribution compatibility by tenco · · Score: 1

      You seem to be pretty bad at counting.

      According to this page, libjpeg is not guaranteed to be binary compatible between releases.

    5. Re:cross distribution compatibility by houghi · · Score: 1

      And then there is https://build.opensuse.org/ so developers can build easily against those major distro's.

      --
      Don't fight for your country, if your country does not fight for you.
    6. Re:cross distribution compatibility by Anonymous Coward · · Score: 0

      4 or 5? I guess that already includes Ubuntu 10.10 and 10.04? Fedora 14 and 13? Suse 11.4 and 11.3? I guess you catch my drift...

      Portability between linux distros/versions is a myth. Noone but a rare number of packages are tested for all those targets and if they work it's more often luck than certainty....

    7. Re:cross distribution compatibility by jedidiah · · Score: 1

      > 4 or 5? I guess that already includes Ubuntu 10.10 and 10.04? Fedora 14 and 13? Suse 11.4 and 11.3? I guess you catch my drift...

      What drift? That you a desperate to come up with FUD about Linux package management?

      Once you've got the packages for the older version of Ubuntu or Suse or Fedora, you don't have to worry so much about the newer versions.

      Packages can even be used across distributions with the same package manager or "bloodline", like Debian and Ubuntu.

      Actual discrete binaries can be useful across different distributions and releases. So of course those binaries wrapped in DEB or RPM file can too.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  17. Good idea, Not enough. by goruka · · Score: 1

    This is great for application developers that put out new version faster than distros can keep up (Example, Qt-Creator, which i download always as binary from nokia site). The problem is when you want to try an app that is either of something larger (KDE, Gnome), or an actual desktop environment, dependencies make it impossible..

  18. Been there, Done that. by lowen · · Score: 1

    Deja vu: AKA the Loki installer. Still used by CodeWeavers for their distribution independent CrossOver packages. See http://en.wikipedia.org/wiki/Loki_Software and http://icculus.org/loki_setup/ which is the installer's home after Loki Software's closing.

  19. Cloud computing?! by Anonymous Coward · · Score: 0

    Um, if you are managing a cloud and cannot figure out how to package up your own code and install it as part of a kickstart then you need to be hit and have your sysadmin privileges revoked ASAP, not necessarily in that order.

  20. Not meant for distribution by Anonymous Coward · · Score: 0

    This is obviously not meant for distributing programs (and the guy doesn't claim it is either; he's using it for repeatable research). It takes a snapshot of the entire filesystem on the system on which it's run. This not only results in huge packages for anything nontrivial, but also simply won't work for things that are system dependent, like, say, OpenGL, or which sound system to use. It also restricts file system access to the CDE package.

    Portable, standalone packages can be done the right way by compiling against an older version of GLIBC, including required libraries in the package (GLIBC is backwards compatible, so don't include that, and don't include the entirety of X11, or OpenGL, or sound drivers, etc), and then using either RPATH on the executable or a script that sets LD_LIBRARY_PATH so that the executable finds and uses your included libraries. This is how it's done by many commercial Linux games, it works fine.

  21. Interesting, but worth caution. by Anonymous Coward · · Score: 0

    Many apps aren't so simple. For example, say you have a GPGPU app that links against a hypothetical library dynamically. That ABI represents a cross-vendor interface so that, say, nVidia or AMD's library could satisfy the link, depending on which hardware is installed. Pulling in that link could be very counter-productive. I don't think GPGPU works like that, but more esoteric things do. The other case is where a dynamic load or file operation is highly conditional. I presume he uses ldd strace and follows the syscalls to pick up the things ldd cannot. If the code doesn't happen to traverse the path, it won't get hit.

    When positioned as a 'cloud' tool, lends itself to exacerbate I/O load and memory load. It's a philosophy that undoes a lot of the efforts towards efficiency that dynamic libraries were intended to do. It may be fashionable to scream 'cloud' on every single little thing nowadays, but shared libraries and common infrastructure are a good thing. Even if the apps will be separated by a harder virtualization way degrading efficiency, at least memory dedupe strategies can still dig in and get back some efficiencies if common platforms are used, but if library fragmentation is encouraged, that too will be lost.

    Now, in a high performance computing application, interesting way to build 'just enough' OS to run an application. This is a tad different as each server has no more than one real application in flight at a time, and therefore need not worry about memory inefficiencies of running many apps on the same box without the full benefit of shared libraries to mitigate load. Deliver that small package every reboot and you give job submitters ultimate flexibility over their environment without drastic speed penalties to apply them. No need of local disk to host the platform and little to no memory waste as the OS image has only files that would be memory resident anyway.

  22. My extremely similar tool: dynpk by xgoat · · Score: 2, Interesting

    I very recently published a tool that performs a similar task. dynpk (my tool) bundles programs up with packages from your system, then wraps them with some other stuff to create a bundle that essentially allows you to run a Fedora program on a RHEL machine (and probably Ubuntu or Debian, but this is outside my needs...).

    Recompiling loads of libs for RHEL isn't fun or particularly maintainable. Therefore, use the ones from Fedora!

  23. Sharing nethack "bones" file has never been easier by cmdr_tofu · · Score: 1

    Seriously though this could end up making collaborating on software a lot easier among trusted people.

  24. Gee, just like an OSX bundle by jralls · · Score: 1

    You can even do it with a Gtk app.

  25. Commercial equivalent? by Skaven04 · · Score: 1

    If you're looking for a commercial product that can do just this -- but in a supportable way, and with lots of nifty features that enable building appliances and deploying them to the cloud...take a look at rPath: http://www.rpath.com./ We're using it at our company on thousands of systems and love it!

    --
    ---- Breakbeats are not just music...they're the soundtrack for my life.
  26. I almost started screaming by Chibi+Merrow · · Score: 3, Funny

    No! I'm not going back! I'M NOT going BACK! MOTIF IS DEAD TO ME!

    --
    Maxim: People cannot follow directions.
    Increases in truth directly with the length of time spent explaining them
  27. err whut by Anonymous Coward · · Score: 0

    I am far from a guru, but I seem to have no problem running FF 3.6xx pre dailies and also 4.x beta FF on my ubuntu install 10.4 lts. No having to upgrade to do it either, just enable the correct PPAs in the repository list.

    1. Re:err whut by Lunix+Nutcase · · Score: 1

      Because a 7 month old version of Ubuntu is remotely comparable to a 10 year old Windows version, right? Oh wait... Now if you want a an actual analogous situation show me a repository with debs for Debian 2.2 that have FF 3.6 or FF 4.x beta. Yeah, I'm not going to hold my breath on that way.

    2. Re:err whut by h4rr4r · · Score: 1

      Considering it cost nothing to upgrade too, I would say yes it is.

      I can do the later, run dist-upgrade until you get to something recent then install it.

      No reason to run out of date FREE software.

  28. CDE - good idea, try cpos-recovery on Sourceforge by amazingcs · · Score: 1

    A good idea, but there are easier ways to do the same task. The project cpos-recovery on Sourceforge does essentially the same task, but relliably and quickly. There are several ways that this kind of quick copy can be used: 1) back up to an alternate partition as a backup boot partition if you want your system to be bombproof. 2) make an installable tar file that can be quickly applied to many new systems. 3) create another partition of a different type, and copy your system to it (think ext4 to btrfs), with the assurance that the system will boot, and run, properly (given that grub supports that filesystem). 4) create an offsite backup of your working system in case of problems. These are all easily done with cpos-recovery, so check it out.

  29. Concurrent Versions by mrawhimskell · · Score: 1

    When I can comfortable run nightly, beta, and stable versions of firefox in linux then I'll know this has been a hit. looking forward to that.

    1. Re:Concurrent Versions by caseih · · Score: 1

      Been running Firefox 4 beta on Fedora 12 for months. Seems to just work on recent distros, provided you have GTK+ installed in the system. Just untarred the thing to a folder and ran the firefox binary inside.

  30. Works, Out of The BOX !!! by Anonymous Coward · · Score: 0

    about damned time. I said that this is what was needed back in the 20th century. NOW we can see linux adoption begin to take off. Who amongst the great unwashed users, can begin to figure it all out? NONE. everyone just wants to click the download link and HAVE IT WORK OUT OF THE BOX !!!

  31. at last by Anonymous Coward · · Score: 0

    this is what I've been asking for... just like OS X

    1. Re:at last by jedidiah · · Score: 1

      Putting everything your app needs in a directory and making sure that your environment knows what's what is hardly groundbreaking.

      Commercial Unix apps have been doing this sort of thing for decades.

      You really didn't have to wait for someone with a bad trademark to come along and lead you by the nose.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  32. Re:Sharing nethack "bones" file has never been eas by Anonymous Coward · · Score: 0

    You picked a bad subject, my friend.

    apt-get install hearse

    Seriously.

  33. Limited use by emacs_abuser · · Score: 1

    This thing is not going to catch things dynamically loaded.

    Not all that useful.

    It might be amusing to see what:

    cde emacs

    creates though.

  34. Four GNU/Linux package mgmt problems by tepples · · Score: 2, Insightful

    apt-get install foobar

    This brings four problems that I can think of:

    • foobar is not available in the predefined repositories because it does not match the political views of the operating system's publisher. Some GNU/Linux distributions such as Fedora package only free software, and not all classes of application are amenable to distribution as free software.
    • foobar is not available in the predefined repositories because nobody has packaged it for your distribution. This could be because the maintainer hasn't yet learned how to package, because the maintainer has never had a chance to travel to get his PGP key signed by more established developers, or because the maintainer uses a different distribution from you.
    • foobar or a library on which it depends is in the "community-maintained" part of the repository, not the "core" part, and a change to an underlying system library broke the application. This is the case with, for example, games that use the Allegro library after Ubuntu started using PulseAudio, which doesn't support the audio sample format that Allegro has used for years.
    • The feature that you seek was not introduced until a later version of foobar than the version included in the predefined repositories. The program hasn't changed since the package freeze over a year ago except for backported fixes to security defects.
    1. Re:Four GNU/Linux package mgmt problems by Blakey+Rat · · Score: 1
      • Your computer doesn't have an Internet connection.
    2. Re:Four GNU/Linux package mgmt problems by walshy007 · · Score: 1

      if it isn't in the repo, do one of two things

      Download a statically compiled .tar.gz from the site that has all of it's own dependencies

      Download source, './configure' 'make' 'make install' (and before you say 'this is beyond the end users capabilities, they have to go through more shit with installshield so saying so really is an insult to their intelligence.)

  35. chroot by Short+Circuit · · Score: 1

    Wait...this sounds like it's just a couple half-steps shy of an automated, app-specific chrooting system.

    Concerns about outdated libs aside, that sounds...awesome.

  36. Good for scientists; not for end-users. by Hach-Que · · Score: 2, Insightful

    While I can see this being useful for scientists, it's probably not going to be so useful in terms of an end-user environment (not that it couldn't be used in one). For starters, this is really only good for command-line packages as GUI applications, the one that end-users are most likely to use, would end up including most of the X and UI libraries during the CDE detection, even if the files on the target computer are compatible with the machine.

    The other issue with having different projects for different distribution purposes (Klik for applications, CDE for scripts, etc.) is that it induces fragmentation; the very thing these projects are trying to get rid of by no longer relying on the package management system.

    Disclaimer: I work on AppTools (http://code.google.com/p/apptools-dist) and therefore I'm biased :)

  37. The problems with this summarized... by Anonymous Coward · · Score: 0

    1. DLL hell - for those who used windows, you know what it is
    2. Shared Objects? What's that?
    3. xcalc is now 200 megabytes, WTF?
    4. Security exploits unpatched galore
    5. Support? What support? We can't support every distro that has different file system default file locations!
     

  38. Static by markdavis · · Score: 1

    This is what static linking is for. You can make a binary and selectively link in as many libraries as static as you need to run on older or older machines.... and it doesn't have to be the same kernel version either.

    I have static programs that are over 10 years old (big, GUI-intense ones even) that still run 8-10 years later because they are very static.

    In any case, for commercial software, static and/or library-including makes sense. It is about the only way you can guarantee your software will run on most or all of the distros, several versions back, without having to make dozens and dozens of separate downloadables of your stuff.

    1. Re:Static by grumbel · · Score: 1

      The problem with static linking is that it doesn't work in many cases with modern software. For example you can't statically link against glibc or OpenGL. Also static linking makes it impossible to upgrade the libraries used by the program, which might be needed if for example Linux sound API changes again. In most cases it is much better to simply include all the required libraries as .so then to statically link them (you potentially waste a few bytes by that, but for most part its worth it).

  39. Something neglected to mention by mysidia · · Score: 1

    'CDE is a tool that automatically packages up the Code, Data, Environment, and Run-time Security Vulnerabilities involved in running any Linux command so that it can execute identically on another computer without any installation or configuration.

    Remember... sometimes system libraries have vulnerabilities and really do to need to be obsoleted or updated, even if the software that uses them doesn't receive updates too often.

    That's why there's this whole concept of major and minor version numbers for libraries.

    Packaging it up with runtime is no better than static linking, and this therefore problematic.

    It's bad enough to have to update system libraries, thankfully package management handles that.

    If CDE is bringing its own environment to the table, it is obviously not working with the package management system.

    CDE would be much more useful and safe (not a huge security risk like it would be in its current state) if it prepared distro-specific scripts to use the vendor's package management system to correctly install dependencies, which would be managed and updated as needed from there on out.

    1. Re:Something neglected to mention by Hach-Que · · Score: 1

      "CDE would be much more useful and safe (not a huge security risk like it would be in its current state) if it prepared distro-specific scripts to use the vendor's package management system to correctly install dependencies, which would be managed and updated as needed from there on out."

      It's something that I'm working towards with AppTools (http://code.google.com/p/apptools-dist). The current solution that I've planned is a centralized site which provides HTTP APIs to resolve package names and dependencies (because the php5 on OpenSUSE is not necessarily called that on Ubuntu).

      Unfortunately, the filesystem component of packages is really holding the project back. There's no resizable, compressable, resettable filesystem that can be directly embedded into applications and used through FUSE, so I've had to go down the path of writing my own, which as I said, is taking a fair amount of time.

  40. Seems unnecessary... by Jahava · · Score: 1

    Unless I'm missing something, this seems like a relatively-useless tool. There are better ways to do everything that it does.

    I can see this being useful in two specific cases:

    1. I want to run an application on a different system without any hassles.
    2. I want to create a perfectly-reproducible execution

    In the former case, CDE is just an extreme form of static linking. You produce a distributable package that contains the full set of libraries, files, etc. that are needed to run the application. That's useful, I suppose, but how does it compare to a regular Linux package? It's heavier, for sure; every CDE package contains a full set of system libraries, binaries, data files, and executables needed to perform an operation. It's also slower, as CDE execution has to re-create the original environment (in-memory or on disk, either way). All to ... what? Cut down on the difficulty of dependency management? Almost every modern Linux distro has an advanced package management system that can easily handle these cases. In some cases it's as easy as declaring dependencies and producing the appropriate source / binary package via a build wrapper. In others, you may have to do a little architecture, but it's still relatively straightforward. Any existing Linux package, by design, seamlessly integrates into the current system and is quite minimal.

    I understand the desire for reproducible behavior, but this is easily obtainable with a package-based solution across the same distro. The only practical cases (even including cloud deployment) that involve multiple different distros requiring reproducible behavior are fringe cases, and even then a build-from-source solution is likely adequate.

    So now to the other case... I require absolutely perfectly reproducible behavior that I can provide to other people. That sounds like the perfect use-case scenario for a virtual machine. Packaging a VM up and distributing it provides not only the CDE convenience, but additional guarantees as well. For example, a modification in kernel behavior between minor versions could affect the runtime performance of a CDE-distributed application across various platforms; a VM with the exact same setup would be able to guarantee that this is not a problem. In cases where perfect reproducibility really matters, a VM is far more compelling than an execution environment wrapper.

    Don't get me wrong; I appreciate the coolness factor. The interior mechanisms that CDE uses to operate are very well-thought-out and interesting, for sure. I am just very skeptical as to the practical usefulness of the tool. It seems too light and incomplete for serious academic reproducibility, and too heavy to solve real-world distribution issues. YMMV, but I don't see this as a real game-changer in any capacity.

  41. Misleading summary. by jameson · · Score: 1

    From reading the article, I don't think that this is intended as a replacement for deb/rpm or tarballs with configuration scripts. (If it is, it is a very bad idea.)

    The tool constructs a reduced dynamic I/O trace of a single program run to determine file dependencies, then packages these. This is great if you're benchmarking deterministic programs on different hardware, and useful for quickly migrating your code onto a bigger machine when a paper deadline is around the corner.

    But again, the files it picks are based on a dynamic trace. If you run `cat foo.txt', then `foo.txt' will be part of the trace. If you run it on apache, all the apache modules that apache wound up loading will be part of the trace, but no others. So it's not very general-purpose. Still useful, in the right situation.

  42. Not a good thing? by keith_nt4 · · Score: 1

    I am not a Linux guru or pro or much of an enthusiast for that matter. More of a "Linux on the weekend" type. I've been playing lately with "light" linux distros I want to use to host VirtualBox so I've been doing a lot of installing of VB. The process seems overly complicated and a little different each time I go through it. Even when there's two different distros that are derived from the same parent (like Ubuntu or whatever). So my first thought when i saw this was that it would make installing VirtualBox and its various libraries that much easier. I mean I just want to get it over and capable of being run successfully. Then I can do all the updates to the libraries auto-magic with apt-get or whatever. Just having a single file with included libraries seems like it should be a good thing. Am I missing something? Actually this is how it is on Windows: one VB installer package and you're up and running. No Perl or other runtimes to worry about.

    --
    "UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
    1. Re:Not a good thing? by MightyMartian · · Score: 1

      Several things, in fact. First and foremost, this method means virtually every executable is going to be duplicating smaller or larger portions of the entire install; libraries, support tools, data and config files. Then there are update issues. With dynamic linking, if you find out that an important support lib has a major security or reliability flaw, you're only updating it once, as opposed to having to update every bloody app on the computer. This means far less to download, far less disk space and so forth. Are you suggesting glibc be duplicated for every app? Why have an operating system at all?

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  43. How it could be made better by presidenteloco · · Score: 1

    I think it's a pretty "good thing"tm but would be better if
    it looks for identical versions of library files (in other locations than where it wants them) on
    the target computer, and just creates symbolic links to those files as long as their permissions
    are ok.

    --

    Where are we going and why are we in a handbasket?
  44. Linux is not Windows by Zero__Kelvin · · Score: 2, Informative

    "Then the package manager will fail to install the program because the program requires a later version of a given library than is available in the long-term-supported distribution that the end user is running."

    No, it won't. Unlike Windows, Linux is perfectly happy having multiple versions of any given library installed and available: Fortunately, on Unix-like systems (including Linux) you can have multiple versions of a library loaded at the same time, so while there is some disk space loss, users can still run ``old'' programs needing old libraries.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:Linux is not Windows by Anonymous Coward · · Score: 0

      Ferchrisakes will someone please mod this up? The Windows folks really need to crack a book on *nix 101 to see how a serious, well designed operating system works.

      Sorry for the vent but there's a lot of crap flying around here.

    2. Re:Linux is not Windows by Joce640k · · Score: 1

      You mean like WinSxS?

      --
      No sig today...
    3. Re:Linux is not Windows by tepples · · Score: 1

      Fortunately, on Unix-like systems (including Linux) you can have multiple versions of a library loaded at the same time

      As can Windows with either side-by-side assemblies or UNIX-style inclusion of a DLL's API version number in its filename. But in either case, the application's publisher has to provide a copy of the version of the library that the application expects because the end user might not already have it installed. And by that time, it's little different in practice from static linking.

  45. Re:Use a package manager by presidenteloco · · Score: 0, Flamebait

    The real problem is that Linux distributions, taken together or individually, presents developers with too many completely unnecessary choices as to where essential library files can be put, and also, there is no standard version naming and locating convention.

    Package managers are a complex solution to a problem that need not have existed in the first place, if it was realized that unnecessary choice is deadly dangerous, in the world of large-scale software interoperability.

    There does not need to be any choice for where on a file system a given application or a given library should be located. That should be completely determined by the app or library name, version (using a standard versioning scheme), variant (using a standard variant naming scheme), and origin person-or-organization, using a standard organization identifying scheme.

    It goes without saying that there should also be a standard globally unique URI for such libraries and apps (including the unique name, version, variant, origin identification).

    So there should be no choice about where on the internet to get it (except for the choice involved in a standard mirroring URI scheme), and
    no choice about where to put it.

    With this discipline, obviously needed in today's universe of code, all such package management, as well as dependency acquisition and installation, could be managed by a single unified and incredibly simple automated package manager; call it the TPM (trivial package manager).

    I predict that's the direction things will move. It's the direction they should move.
    All programmers repeat after me:
    -Unnecessary choice is (the root of all ;) evil
    -The default shall be good

    Yes. It's a religion. But it's good for you. Now eat your vegetables.

    --

    Where are we going and why are we in a handbasket?
  46. HELP with CDE - users.cde list by Anonymous Coward · · Score: 0

    Dear Professor,

    I think I found a bug in my environment. I just tried to copy my robot simulation environment that I run on my Intel PC to the linux that runs on the arm command board I control my robot with.

    For some reason I cannot run the program.

    Can you help, thanks?

  47. Populating chroots by hkz · · Score: 1

    Cool stuff; this allows the automatic creation of chroot environments.

  48. Re:Use a package manager by Progman3K · · Score: 1

    The real problem is that Linux distributions, taken together or individually, presents developers with too many completely unnecessary choices as to where essential library files can be put, and also, there is no standard version naming and locating convention.

    You say this like it's really a problem.

    Linux distributions differ for good reason; some distros (often the embedded ones) may have no /etc or /usr/share or other paths because they don't need them and are lighter or faster because of it.

    It's not a defect, it IS a feature.

    Linux is not Windows, it is meant to embrace ALL environments.

    Is it so hard to adapt a *nix program from one *nix to another? No, it's only a matter of knowing the target distro properly.

    --
    I don't know the meaning of the word 'don't' - J
  49. Party like it's NOT proprietary bloatware by Zero__Kelvin · · Score: 1

    Anyone can build any one or more of 1000s of programs from the source, and simply enable static libraries rather than dynamic in the ./configure part of the build, to create programs that can be copied to any Linux distributions that adheres to the Linux Standards Base and it will run just fine. There is a reason why we don't do so, however, and that reason is because we understand security, and know that it would be a phenomenally foolish thing to do. This has been especially true for more than half a decade, since it is easier to click the checkbox next to the program I want in the GUI based installation tool, and let the system just grab it from the repository. If I have 1000 machines to manage, I can automate the whole thing in about 10 lines of Python code.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:Party like it's NOT proprietary bloatware by Rockoon · · Score: 1

      Anyone can build any one or more of 1000s of programs from the source, and simply enable static libraries rather than dynamic in the ./configure part of the build,

      Would "anyone" be including my grandmother? If you knew my grandmother, you would know that a citation is needed here.

      --
      "His name was James Damore."
    2. Re:Party like it's NOT proprietary bloatware by h4rr4r · · Score: 1

      grandma would not be building CDE packages either, so your post is pretty pointless.

    3. Re:Party like it's NOT proprietary bloatware by Rockoon · · Score: 1

      grandma would not be building CDE packages either, so your post is pretty pointless.

      Grandma would be consuming CDE packages.

      Now before you reply, please go back and read parents postings at least all the way back to where the person noted the issues with dependencies on obscure versions of things like GTK/etc.

      Then observe that GTK (among others) is LGPL, so cannot be statically linked to anything with a license incompatible with LGPL... Also observe that other libraries are distributed with licenses incompatible with LGPL.

      See where this is going? Static linking doesnt work, because you cant necessarily link everything statically and you can't expect grandma to do it herself.

      It all starts with dependencies on unique library versions and unmaintained (or slowly maintained) distributions that prevent any real semblance of a unified ecosystem. Grandma can thus only use whats in the repository for her distribution, all because of resistance to "just drop it" installation mechanics that CDE solves.

      --
      "His name was James Damore."
    4. Re:Party like it's NOT proprietary bloatware by countertrolling · · Score: 1

      My whole point in all of this has been about the convenience for your typical end user... However, I just realized I can just put an entire system on a stick nowadays and run it live. Problem solved?

      --
      For justice, we must go to Don Corleone
    5. Re:Party like it's NOT proprietary bloatware by eriqk · · Score: 1

      Would "anyone" be including my grandmother? If you knew my grandmother, you would know that a citation is needed here.

      Sure. Just give her a note that tells her to type "./configure && make && make install". And if that doesn't work, she can always call you. Just like she does when she doesn't know how to install another program.

  50. error Fatal error in copy_file [cde.c:190] by Anonymous Coward · · Score: 0

    this is what i get /usr/local/bin/work# cde ../lame
    Fatal error in copy_file [cde.c:190]

  51. Re:Use a package manager by The+Mighty+Buzzard · · Score: 2, Insightful

    I can't tell if that should have been +1 Funny or -1 Fucktarded. I have a suspicion that it's the latter but it is 3am and I'm starting to nod a bit, so I'll leave it to someone else to decide.

    --
    Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
  52. Relink static script by Richard+W.M.+Jones · · Score: 1

    I wrote this script to relink a dynamically-linked program with as many equivalent static libraries as possible, with any unavailable static libraries left dynamic. I use it to ship a static version of libguestfs

    Whether static binaries are a good idea, I'll leave that discussion up to others. I would say that dynamic linking should be preferred, but static linking and this script is quite useful in some circumstances.

    Rich.

    1. Re:Relink static script by radarsat1 · · Score: 1

      That script looks super useful, thanks!

  53. Misleading description of CDE by IdntUnknwn · · Score: 1

    ihaque's description of CDE is a bit misleading. The point of this tool isn't so that you can install applications easily. The point of this tool is reproducibility. You should only use CDE when you need to exactly reproduce your environment on a different machine.

    The target audience of this tool is testing and research, not the general population.

  54. Re:Use a package manager by Bert64 · · Score: 5, Insightful

    Generally linux distributions follow a fairly standard naming/location convention for files, most of the variations exist in specialised linux distributions (eg android) where there is good reason for the differences.
    Most software also allows you to choose where to install it at compile time, although the default will usually be /usr/local.

    A linux system is often far less messy than a windows system for instance, where all kinds of files are under the windows and system32 dirs.

    Package managers are actually a very good solution to many problems, not only do they handle dependencies but they provide a centralised database of installed software, a file integrity database (both on the system - storing checksums of everything, and off system because the checksums corresponding to a given package versions files are known), clean removal of software, a single place and standardised interface for installing software (thus removing the need to download programs from potentially untrustworthy websites - you only have to trust your os vendor, not hundreds of third parties) and most important of all, a centralised update mechanism for applying important security patches to all of your software...

    Other software vendors have chosen different methods to try and resolve the same problems, but most of them are lacking in one way or another, or make different compromises...

    The OSX method of program bundles avoids dependency problems, but introduces the inefficiency of reducing code sharing, this has less impact on closed source software where code is rarely shared anyway, but for open source one of the key advantages of the open development model is reduced by this approach. On the other hand, this method does provide clean removal and makes it easy to have multiple versions of something installed.

    The Windows method is rather chaotic, individual programs are expected to create their own installation and removal programs as well as handle their own update mechanisms, this has resulted in a whole range of software which behaves in different ways, stores files in different places etc... Update mechanisms and uninstall routines are down to the individual application and may not exist at all, or may not work correctly. This has resulted in lots of very poorly behaved software which assumes you are a privileged user and can write to system locations, and subsequently in order to retain compatibility microsoft have been forced to implement all kinds of dirty kludges to make such applications think they are able to write to system dirs when they can't.

    The only potential downside to the linux system, is that application suppliers don't have a fixed list of system libraries which will always be present. Under OSX or Windows you know that a core set of libraries will always be there, and anything else is typically provided by the app (sometimes redundantly), whereas different linux distributions may provide different base libraries.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  55. Complete and utter bullshit! by RichiH · · Score: 5, Interesting

    Sorry if topic sounds a tad personal, but hey...

    > The real problem is that Linux distributions, taken together or individually, presents developers with too many completely unnecessary choices as to where essential library files can be put, and also, there is no standard version naming and locating convention.

    Do you need it to boot? Prefix is /
    Do you need it after boot? Prefix is /usr
    Do you want to install custom stuff that is not handled via the system's default software handling solution? Prefix is /usr/local or /opt
    Do you want to install into home dir? Prefix is ~/local or ~/opt
    If you are in a heterogenous environment with shared home between lots of architectures etc, /import/x86 etc is a good place

    This leads to clean & clear separation of software after a system people poured a lot of thought into. Is it easy to grasp at first sight for someone used to Windows? No. But that is _not_ the priority. Sorry, it's not. People writing code need to learn how the language works. Why shouldn't they learn how to system works?

    > Package managers are a complex solution to a problem that need not have existed in the first place, if it was realized that unnecessary choice is deadly dangerous, in the world of large-scale software interoperability.

    Yeah, cause grabbing random downloads of .bat, .exe, .msi, .whatnot turned out to be awesome. Especially the integrated updates. Oh, what's that? Everyone is implementing their own system leading to dozens of parallel update mechanisms on a single machine? Now _that_ is efficient! And the programs that don't have an update routine? Simple, just write them bug-free, without holes and a complete feature set in 1.0!

    > There does not need to be any choice for where on a file system a given application or a given library should be located.

    That is true if you consider every machine to be an island. Unix thrived and continues to thrive cause you can create huge shared environments with almost no work.

    > That should be completely determined by the app or library name, version (using a standard versioning scheme), variant (using a standard variant naming scheme), and origin person-or-organization, using a standard organization identifying scheme.

    My custom mplayer is in /usr/local/mplayer. My custom git is in /usr/local/git. My custom vim is in /usr/local/vim. I can delete any of those and remove the program, along with all its libraries and whatnot, with one single rm.
    If devs simply don't know that they should default to /usr/local for stuff, again... It's their problem, same as if they did not know how to open() a file.

    > It goes without saying that there should also be a standard globally unique URI for such libraries and apps (including the unique name, version, variant, origin identification).

    No. No. No. This breaks any and all assumptions about being able to install different versions of stuff for different reasons. Use prefixes and use LD_PATH, etc.

    > So there should be no choice about where on the internet to get it (except for the choice involved in a standard mirroring URI scheme), and
    no choice about where to put it.

    Maybe you are too young to have seen this yourself, but after a few years, most URLs are dead. With gittorrent, ideally with a DHT sprinkled on top, this might change in the longer run, but what if the next VCS that whoops git's ass comes along? Static information on the internet is mostly a myth. (Also, git would need to get rid of SHA1 for fully automated code distribution, imo)

    > With this discipline, obviously needed in today's universe of code, all such package management, as well as dependency acquisition and installation, could be managed by a single unified and incredibly simple automated package manager; call it the

    1. Re:Complete and utter bullshit! by Svartalf · · Score: 1

      Package managers are supposed to be an answer on-top of the one you mentioned, which was to allow people to install what was needed into that framework, to know what needs updating, and in at least some cases, what needs to be yanked out when you remove something- none of these are supported by the directory structure thinking you're saying fixes everything.

      Now, can there be better solutions in the packaging arean? Yeah...most definitely. Do we need them? No...but they sure help when you get more sophisticated with things.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    2. Re:Complete and utter bullshit! by presidenteloco · · Score: 1

      >Maybe you are too young to have seen this yourself, but after a few years, most URLs are dead. With >gittorrent, ideally with a DHT sprinkled on top, this might change in the longer run

      Actually I said URI, not URL, and I mean standard name-based addressing i.e. a DHT concept. URIs that are stably findable (by DHT-like search processes, or maybe just google search) and are a function of the official name and version identification of a verified piece of content will be of growing importance going forward.

      >To summarize: There are shedloads of docs out there describing what I just wrote. If devs don't read >them and prepare shitty software, that's no different from them not getting the language they write it. >It's _their fault_. The fact that Windows made them think in static systems is MS's fault. If they don't >re-learn, it's theirs. It is _not_ the fault of the system they are abusing.

      The point is, if you can document the best-practices convention, why not just enforce it?
      That becomes much much more powerful as a tool for taming the complexity of the combinatorics
      of minor choice differences.

      >Finally, you did not even touch on the fact that the ability to compile from source is what makes the >FLOSS movement so strong.

      No. A common agreement about where to put code, depending on name, origin, version, and variant, can be used for source code equally as it can be for compiled linkable library objects. Java went partway down this road. Maven includes this concept too, although it allows too much gratuitous variation in where things can be, so it requires horrendously complex dependency files.

      --

      Where are we going and why are we in a handbasket?
    3. Re:Complete and utter bullshit! by lennier · · Score: 1

      URIs that are stably findable (by DHT-like search processes, or maybe just google search) and are a function of the official name and version identification of a verified piece of content will be of growing importance going forward.

      Stable URIs certainly will be important for the future of the Net, but sadly, the last 20 years have shown to me that just becomes something is a vitally important piece of infrastructure without which everything will fall apart, doesn't mean it will ever actually get deployed.

      We're still waiting for a non-spoofable email address protocol, for example, even though SPF has been out since 2004.

      I start to despair for the human race. We know exactly what we need to do, and still can't agree to do it.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    4. Re:Complete and utter bullshit! by RichiH · · Score: 1

      > Actually I said URI, not URL, and I mean standard name-based addressing i.e. a DHT concept. URIs that are stably findable (by DHT-like search processes, or maybe just google search) and are a function of the official name and version identification of a verified piece of content will be of growing importance going forward.

      Maybe. I don't think we are there yet, though. I am looking forward to gittorrent and debtorrent though my vision is different from yours.

      > The point is, if you can document the best-practices convention, why not just enforce it?

      Enforce how? org.debian.vim.2:7.3.035+hg~8fdc12103333-1? No, thanks. I prefer my highly volatile and moving local ecosystem. And over time, more devs will learn how to use Unix clones properly. Matter of fact, my gf just installed a photo-book application which got 99% right by default. If they had put the EULA into the script and not used a space in a sub-directory of /opt, it would have been perfect. As it's statically linked, It Just Works.

      If _photo-book_ software devs get this stuff, anyone can.

      > That becomes much much more powerful as a tool for taming the complexity of the combinatorics
      of minor choice differences.

      By definition, a simple system can not be as powerful as a complex one. And before you cite ant colonies or anything: If you shift the complexities away from the local system, you are doing just that. Shifting them. They still exist.

      > No. A common agreement about where to put code, depending on name, origin, version, and variant, can be used for source code equally as it can be for compiled linkable library objects. Java went partway down this road. Maven includes this concept too, although it allows too much gratuitous variation in where things can be, so it requires horrendously complex dependency files.

      LSB _is_ a common agreement about where to put code. It's just one you don't like. But that's OK. I happen to like it, I hope that's OK, too ;)

  56. Re:error Fatal error in copy_file [cde.c:190] by mu22le · · Score: 1

    try to run cde with its full path, e.g.: ./cde ../lame

    it did the trick for me

  57. Nothing new by Anonymous Coward · · Score: 0

    He isn't the first doing this. There was a bachelor project at my university last year that does the same thing. I thought it was too little research for the final work as we already had seminars showing how to find dependencies on solaris, linux and BSD. I wonder how often we develop the same software suites just because we don't see that something is already done because of the massive amount of published papers.

  58. Library flaws by coats · · Score: 1

    Suppose a security flaw is found in a commonly used library...

    To solve "dependency hell"...

    One problem I've had -- many times! is having a system level shared library update break a mission-critical userspace applications. And frankly, the vendor probably can't test updates as well as it tests the original distro-releases -- instead, it has to trust the library-authors. Who make mistakes from time to time.

    Another problem I have as an author of environmental modeling software is in distributing user-space applications to a broad user community, across several dozen distributions/versions, to a user community that frequently does not have root access to the servers they're running on. And I don't have access to all those kinds of systems, obviously.

    There are two ostensible solutions: to distribute statically linked binaries, which your ideology has made very difficult, or to distribute source and have the user community compile and link. And then they have the trouble of finding the libraries, and we still have 'dependency hell." Unless I make them "compile the whole universe" -- which has become common practice in the environmental community. Thanks to your self-centered ideology, damn it!

    --
    "My opinions are my own, and I've got *lots* of them!"
  59. AppZero does the same thing (and more) by Anonymous Coward · · Score: 0

    http://www.appzero.com/

    Disclaimer: I worked there previously when they were called Trigence and actually worked on something similar to the above.

    This is somewhat similar to portions of AppZero's Linux/Solaris product. It has a 'learn mode' where an application's dependencies can be discovered and extracted to a 'capsule' allowing it to be migrated. To do something like this, you just need to monitor system calls (specifically things like 'open()') with something like strace to see which files are touched and copy them somewhere else. Then to run it, you can do things like fudging up an LD_LIBRARY_PATH or LD_PRELOAD to make sure you get the right libraries first. If you pick a good subset of library calls to override with LD_PRELOAD, you can do a pretty good job of sandboxing the output of the app too. e.g., intercept open(), prepend your path, call the real open(), profit!!.

    The AppZero product is quite a bit more advanced in that applications can be sandboxed from the OS, migrated between different kernel versions and even given their own network identity. It's a little more heavy in that it requires a kernel module to intercept the system calls directly but it's necessary in order to completely separate the app and migrate between different kernel versions. Makes it easier to do some of the tricky things like network identites and makes it possible to do some things like accounting for subtle differences between kernel versions.

    Ultimately, it's a decision between intercepting kernel calls or intercepting library calls. Both have pros and cons and a perfect solution will usually have some combination of both. As an example, there was one crusty old Solaris app that was depending on a changed behaviour of opendir/readdir. Since those have no system call equivalent (getdents is the underlying syscall), the problem had to be solved with an LD_PRELOAD override. It's pretty interesting stuff.

  60. Re:Use a package manager by Anonymous Coward · · Score: 0

    Generally linux distributions follow a fairly standard naming/location convention for files, most of the variations exist in specialised linux distributions (eg android) where there is good reason for the differences.
    Most software also allows you to choose where to install it at compile time, although the default will usually be /usr/local.

    Usually (even on windows) programs determine paths during runtime instead of compile time to allow more flexibility.

    Do you see any reason why setting installation location at compile time is any better?

  61. Peer review need not be formal by Zero__Kelvin · · Score: 1

    "There is no formal Peer review for Open Source."

    That would be an excellent point if you could show me where I used the word formal in my post. A peer review doesn't have to be formal to be effective, or haven't you heard of the Linux kernel? Perhaps you have never heard of Linus' Law? (Actually coined by Eric S. Raymond)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  62. An Alternative by hduff · · Score: 1

    Since the focus of CDE seems to be to share scripts used by researchers that often have unusual dependencies, perhaps CDE should just collect dependency info and URLs for non-mainstream libraries. Then the CDE wrapper script could query for the deps and suggest what is needed and offer a URL for download. Not as end-user friendly, but that would avoid the licensing issues.

    --
    "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
  63. Took me a while to realize this by countertrolling · · Score: 1

    But portability is already easy.... a liveCD or USB stick is about as portable as you can get.

    --
    For justice, we must go to Don Corleone
  64. pcbsd by celle · · Score: 1

    How is this any different than the PBI package system PCBSD (pcbsd.org) has been using for years? (That is other than it's for linux.)

  65. probably a dumb question, but what the hell by countertrolling · · Score: 1

    If I plug in a liveCD or USB stick, and I don't want to reboot the machine, can't I just chroot to it and then run anything that's on there? X11 won't like it though, will it? I vaguely remember doing the reverse to run lilo once or twice.

    --
    For justice, we must go to Don Corleone
  66. Is this really a problem that needs solving? by Prozzaks · · Score: 1

    Isn't this going against the whole distro idea? Instead of having tree different versions of the same lib, the distro's package manager can actually figure out the components missing for the package you are trying to install. If it the package doesn't exist for your distro, just make one.

    The only case where I can see this as useful is to install packages across different distros, but even then, if we adapt this model, we will have incredible bloat in permanent storage *AND* in memory if you run programs that all depend on different version of the same lib.

  67. Re:Use a package manager by Lanteran · · Score: 1

    I have a suspicion that it's the latter

    I concur. Though it might be a long and overly complicated joke because of this:

    Unnecessary choice is (the root of all ;) evil

    --
    "People don't want to learn linux" hasn't been a valid excuse since '03.
  68. Can't patch libraries in statically linked binary by tepples · · Score: 1

    Download a statically compiled .tar.gz from the site that has all of it's own dependencies

    Chromium does this, and the package manager ends up unable to package security holes that are eventually discovered in the dependencies. That's why Chromium isn't in Fedora.

    Download source, './configure' 'make' 'make install' (and before you say 'this is beyond the end users capabilities, they have to go through more shit with installshield

    Installing an MSI or InstallShield package doesn't require the use of a keyboard. The command line does, unless you use an on-screen keyboard. What "shit" are you talking about, other than simply presenting a wizard listing things that correspond to all the common options for ./configure? Most "shit" can be bypassed by just pressing Enter to choose the most common configuration. The answer to that, of course, is including a wizard script ./menuconfig that uses Xdialog or something.

    But this leaves the problem of not having a compiler and the right -dev packages installed. Should the wizard try to detect whether it's running on Ubuntu or Fedora and run the distribution's counterpart to sudo apt-get install build-essential some-library some-other-library first? And should it come with full forked copies of the source code to these libraries, with all their (as of yet unknown) security holes that the package manager can't patch?

  69. Re:Can't patch libraries in statically linked bina by walshy007 · · Score: 1

    Chromium does this, and the package manager ends up unable to package security holes that are eventually discovered in the dependencies. That's why Chromium isn't in Fedora.

    Yes I know this, and this is precisely why it is a bad idea to do it like windows does. But you people would prefer this to having to rely on central repos for packages (well if not I don't see why you'd be bitching about the way repos work)

    The command line does, unless you use an on-screen keyboard. What "shit" are you talking about, other than simply presenting a wizard listing things that correspond to all the common options for ./configure?

    How many people actually change their configure parameters that are normal users? configure auto-detects what optional packages are installed and compilees accordingly. I have what two constant commands to type in as opposed to several next and tickbox dialogs which can vary depending on program. Consistent constant shorter cli is easier in this regard.

    But this leaves the problem of not having a compiler and the right -dev packages installed. Should the wizard try to detect whether it's running on Ubuntu or Fedora and run the distribution's counterpart to sudo apt-get install build-essential some-library some-other-library first? And should it come with full forked copies of the source code to these libraries, with all their (as of yet unknown) security holes that the package manager can't patch?

    No it shouldn't try this, because for end users it would simply be easier to deploy the .tar.gz static compiled thing as per earlier. Compiling if it fails should only be a nice option. Also a large problem I find with things like this are distros like ubuntu that only distribute a minimum of packages on a cd iso, a full fedora dvd install has far more packages and you'll almost never run into packages missing. With the install still coming under half the size of what vista is.

  70. CD vs. DVD in 5 GB/mo land by tepples · · Score: 1

    for end users it would simply be easier to deploy the .tar.gz static compiled thing as per earlier.

    A binary that depends on nothing but Linux syscalls and X11 protocol, with static glibc, libstdc++, Xlib, GTK+, and the like, would be huge. I could see doing this if you are distributing your app on CD but not easily if you are distributing your app online. And because it would have to include its own GTK+ themes for people who happen to use a distro built on Qt or FLTK or something and don't have any GTK+ themes installed, it wouldn't be styled to fit in with the rest of the distribution even if it does use GTK+, and it would stick out like a sore thumb as much as the Windows version of GIMP does.

    Also a large problem I find with things like this are distros like ubuntu that only distribute a minimum of packages on a cd iso, a full fedora dvd install has far more packages and you'll almost never run into packages missing.

    On an Internet connection with a 5 GB per month transfer allowance, downloading a CD image takes 14% of your monthly allowance, while downloading a DVD image takes almost all of it. Ubuntu comes on a CD instead of a DVD because Canonical wants it to be popular even in countries where home Internet connections are rate-limited in such a manner.

    1. Re:CD vs. DVD in 5 GB/mo land by walshy007 · · Score: 1

      with static glibc, libstdc++, Xlib, GTK+, and the like, would be huge.

      Those aren't the kind of libaries you'd be static linking, they've been a pretty safe assumption for at least the last five years. It's the small esoteric packages that few people have by default that you would.

      And because it would have to include its own GTK+ themes for people who happen to use a distro built on Qt or FLTK or something and don't have any GTK+ themes installed, it wouldn't be styled to fit in with the rest of the distribution even if it does use GTK+, and it would stick out like a sore thumb as much as the Windows version of GIMP does.

      The problem are distros that don't ship both qt and gtk+ and themes for both. Usually this comes from having severe data constraints imposed by the use of silly 700mb isos

      On an Internet connection with a 5 GB per month transfer allowance, downloading a CD image takes 14% of your monthly allowance, while downloading a DVD image takes almost all of it. Ubuntu comes on a CD instead of a DVD because Canonical wants it to be popular even in countries where home Internet connections are rate-limited in such a manner.

      So install media should be forever limited to 700mb for these people? That is ridiculous. In such instances it would be easier and cheaper to get the discs by snail mail. There is something very elegant about having almost all the software you will ever need in one nice disc, and almost never having to install things for dependencies.

      An example would be like comparing writing software for windows 95 vs windows 7, sure if I really want some functionality that is in seven to be used in windows 95 (depending on what it is of course) I could probably use it in 95, but reimplementing (or in linux's case rebundling through static linking) it all would be a severe exercise in pain that there is no point putting yourself through just so your os install can stay tiny.

      We don't expect microsoft to fit vista, office, sql server, visual studio, on one disc, hell vista and mac os x alone have an install dvd. Why gimp linux installations with install media requirements that were only realistic for a basic os (without even any useful software) over a decade ago?

  71. Executable Size Problem? by Anonymous Coward · · Score: 0

    If I wanted to, I could link every single library I'm using statically. Then I'd have no dependencies and be able to run a described without any extra help. I do that now with libraries that are non-standard or changing.

    The problem is if I statically linked to every library, I'd have a 200 MB executable. If everyone did that, it would be a problem.

  72. The recursive test by Ed+Avis · · Score: 1

    So, does it run under itself? Can you do 'cde cde echo hello'?

    --
    -- Ed Avis ed@membled.com
  73. Re:Use a package manager by presidenteloco · · Score: 1

    Whoever moderated the parent as flamebait is abusing the moderation system to promote their opinion on a point of valid relevant technical debate. Immature.

    --

    Where are we going and why are we in a handbasket?
  74. Re:Use a package manager by presidenteloco · · Score: 1

    You do realize I assume that you are calling the python library distribution and installation system (cheeseshop, setup_tools etc.) fucktarded. Because it works on pretty much precisely the principles I advocated, albeit at a slightly smaller scale.

    --

    Where are we going and why are we in a handbasket?
  75. Re:Use a package manager by presidenteloco · · Score: 1

    "The OSX method of program bundles avoids dependency problems, but introduces the inefficiency of reducing code sharing,"

    Uh. No. A method of program bundles which includes the concepts of standard name-and-version-based location of code actually increases the ease (and decreases the complexity) of code sharing. OSX may not support this, but they are only part way along the road I suggest.

    --

    Where are we going and why are we in a handbasket?
  76. Re:Use a package manager by presidenteloco · · Score: 1

    For large-scale library interoperability and code-sharing without the need for a complex package manager.

    --

    Where are we going and why are we in a handbasket?
  77. Re:Use a package manager by The+Mighty+Buzzard · · Score: 1

    There's very little about python that I wouldn't call fucktarded given the opportunity. But that it has its own library distribution system that's at odds with OS based package management systems pretty much negates any point you were trying to make with it.

    --
    Violence is like duct tape. If it doesn't solve the problem, you didn't use enough.
  78. A distro with everything would be multi-DVD by tepples · · Score: 1

    [glibc, GTK+, and the like] aren't the kind of libaries you'd be static linking, they've been a pretty safe assumption for at least the last five years.

    But how can an application publisher be sure that distributions have 1. those libraries or language interpreters and not their alternatives (e.g. a Qt-centric distro not including GTK+) and 2. new enough versions of said libraries or language interpreters (e.g. PHP 5.3 not 5.0), without having the ./install shell script inside the tarball try to figure out what distro you're on and run either apt-get or yum to ensure it?

    There is something very elegant about having almost all the software you will ever need in one nice disc, and almost never having to install things for dependencies.

    The collection of all packaged software and all language packs for one of the major desktop distros (e.g. Ubuntu, Debian testing, Fedora) would take far more than 4 GB. Therefore a full repository would span more than 1 DVD.

    silly 700mb isos

    After a bit more research, I just discovered that Ubuntu also comes on DVD according to this page. But a lot of end users have the CD version.

    An example would be like comparing writing software for windows 95 vs windows 7

    Or more realistic in this case, Windows XP SP2/3 vs. Windows 7. We can assume that SP2/3 is analogous to RHEL/CentOS, with fairly obsolete software that has had security fixes backported, and Windows 7 is like a fairly recent Ubuntu or Fedora.

    1. Re:A distro with everything would be multi-DVD by walshy007 · · Score: 1

      But how can an application publisher be sure that distributions have 1. those libraries or language interpreters and not their alternatives (e.g. a Qt-centric distro not including GTK+) and 2. new enough versions of said libraries or language interpreters (e.g. PHP 5.3 not 5.0), without having the ./install shell script inside the tarball try to figure out what distro you're on and run either apt-get or yum to ensure it?

      QT and gtk+ are the main toolkits in use everywhere, why not include both is the whole point. As mentioned most of the problem stems from distros who don't. As mentioned I've had both installed for the last 8 or so years, and when I install things it is an extreme rarity to need a new library.

      As for whether compatible libs are installed this is solved by the way shared objects are handled, those with compatible api's and functionality tend to have the same name, those that don't get a new revision, and the old ones are still included in distros for backwards compat.

      Even though I've never used gnome on this machine I've had the desktop environment and it's libs installed from day one just in the off chance something I may like needs it, the extra disk space needed is miniscule.

      After a bit more research, I just discovered that Ubuntu also comes on DVD according to this page [on-disk.com]. But a lot of end users have the CD version.

      This is because this is the way ubuntu wants it, go to the main ubuntu page, click 'download ubuntu' do you see any mention of a dvd at all? you have to actively hunt it to get it. If anything it should be the opposite with the lesser functionality gimped version being the option.

      The collection of all packaged software and all language packs for one of the major desktop distros (e.g. Ubuntu, Debian testing, Fedora) would take far more than 4 GB. Therefore a full repository would span more than 1 DVD.

      Of course the entire repository would take far more space than a dvd, I'm not talking about the ENTIRE repository, just a significantly larger (5x or so) subset, the largest common denominator of packages. Having done installs that way over the last ten years the majority of people never need more, for those that do it's very little.

      Or more realistic in this case, Windows XP SP2/3 vs. Windows 7. We can assume that SP2/3 is analogous to RHEL/CentOS, with fairly obsolete software that has had security fixes backported, and Windows 7 is like a fairly recent Ubuntu or Fedora.

      You missed the analogy, it wasn't concerning age it was concerning available functionality out of the box. Any distro that is limited to 700mb install iso is gimped by default, and with my usual setup would require gigabytes of yum/apt-get downloads.

  79. Upsell from CD to DVD by tepples · · Score: 1

    As for whether compatible libs are installed this is solved by the way shared objects are handled, those with compatible api's and functionality tend to have the same name, those that don't get a new revision

    And when the revision that a given app requires is newer than the version that was current when some popular distro froze, that causes trouble. For example, a lot of dedicated servers leased from providers such as Go Daddy will be running 8.04 for quite a while, and depending on PHP 5.3 would exclude 8.04 until this bug is fixed.

    go to the main ubuntu page, click 'download ubuntu' do you see any mention of a dvd at all?

    Not directly, but if you're interested in CDs, the first official dealer that I looked at also offers a DVD. From ubuntu.com, I click "Try Ubuntu today", scroll down and click "CDs", scroll down to official dealers in the United States, click On Disk, and click Ubuntu 10.10 CD or DVD on the front page.

    Any distro that is limited to 700mb install iso is gimped by default, and with my usual setup would require gigabytes of yum/apt-get downloads.

    Every user is different and wants to do different things with a PC. These usually need different packages: my GB of extra stuff differs from your GB of extra stuff.

    1. Re:Upsell from CD to DVD by walshy007 · · Score: 1

      Every user is different and wants to do different things with a PC. These usually need different packages: my GB of extra stuff differs from your GB of extra stuff.

      you will find 90% of what people get is the same, so why not include that 90% and greatly reduce the amount people on average need to download and give a larger base for easier program deployment?

      Hell taking the 700mb is enough for everyones basic install to it's extreme we should all just do net installs.

      And when the revision that a given app requires is newer than the version that was current when some popular distro froze, that causes trouble. For example, a lot of dedicated servers leased from providers such as Go Daddy will be running 8.04 for quite a while, and depending on PHP 5.3 would exclude 8.04 until this bug [launchpad.net] is fixed.

      Again with the windows analogy, I'm not going to try and run crysis on windows 3.1 am I? or alsa on linux 2.0

      Commercial programs take time to make, and generally don't depend on beta'ish apis, which generally means whatever libs they are using have been shipped for one to two release cycles.

      I don't see how new releases not supporting distributions that have not had updates in 1-2 years is an issue at all.

    2. Re:Upsell from CD to DVD by tepples · · Score: 1

      Again with the windows analogy, I'm not going to try and run crysis on windows 3.1 am I?

      Time-wise, from Ubuntu 8.04 to 10.04 is more like from Windows Vista to Windows 7 than from Windows 3.1 to Windows XP.

      I don't see how new releases not supporting distributions that have not had updates in 1-2 years is an issue at all.

      When was Windows Vista last updated? When was Windows XP, which has a huge installed base, last updated?

    3. Re:Upsell from CD to DVD by walshy007 · · Score: 1

      When was Windows Vista last updated? When was Windows XP, which has a huge installed base, last updated?

      Depends what you mean by 'update' if you mean service pack/build for vista it's april 2009 and windows 7 october 09 if you mean general updates such as patches, every other tuesday :)

      The very moment vista was released you saw the very same problems with some programs targeting the new vista api's and xp being left in the cold.

      Just because a new and shiny api is present doesn't mean you have to use it. If you want to you can target libs that have been around 4-5 years as a developer then your program will work with distro's from that time frame onwards. Just like developers for windows can choose to target directx9 instead of 10 so they can still have windows xp users.

      In the end it's the developers choice as to how far of an outdated system they wish to support. This is not linux's problem.

  80. Better solution by Anonymous Coward · · Score: 0

    http://nixos.org

  81. PortableApps.com Works On Linux With Wine by CritterNYC · · Score: 1

    For what it's worth (though a little off-topic), the techniques and technologies we use at PortableApps.com are compatible with Wine and most of our apps will run without issue on all the major distros with a recent Wine version installed. We even do specific checks for Wine to work around a couple bugs (which have been reported) in our menu and utilities.

  82. Installing software on Win is easier than Linux?? by mmj638 · · Score: 1

    hopefully it'll get to the point where installing software on Linux will be as easy as on WIndows and OSX.

    I think you might have that the wrong way around. Either that or it was sarcasm and my detector is malfunctioning.

  83. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  84. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  85. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  86. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  87. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  88. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion