Ubuntu working on new Linux application installer

Ubuntu working on new Linux application installer

Summary: Does Linux really need another application packaging and installment system? Ubuntu will be adding another one for its Ubuntu Touch smartphones and tablets.

SHARE:

Do you want to know how to tell real Linux geeks from people who just use it? Ask them what their favorite application packaging system is. Hardcore old-school Linux users will soon be telling you all all about RPM vs. DEB and before it's over someone is sure to chime in about going straight to source code ala Gentoo Linux's Portage.

The short version is there's a lot of Linux software application packing and installation systems out there already but Ubuntu will soon be adding another one.

ubuntuoshome
Canonical is working on a new Linux software packaging system to make it easier for developers to release programs for its forthcoming Ubuntu smartphones and tablets.

Canonical, Ubuntu's parent company, is doing this because, as Ubuntu moves into attempting to become popular consumer operating system on smartphones and tablets, it needs a faster, easier way for independent software vendors (ISV)s to get their programs to customers. The Ubuntu developer site describes the software installation problem in these terms: 

Today we face a significant challenge in Ubuntu. If an application author wants to get the latest version of their software in Ubuntu they have two options:

1. An Ubuntu developer packages the software and delivers it in the development release.

2. The app developer can submit their apps via MyApps in the stable release for review.

Neither are ideal. So it is that:

The goal here is to provide a safe, reliable means in which app developers can upload their stable releases directly into Ubuntu.

With this goal in mind we want to resolve the common bottlenecks that we have experienced with the current process for app developers:

We should not rely on manual reviews of software before inclusion. Manual reviews have been found to cause a significant bottleneck in the MyApps queue and they won’t scale effectively as we grow and open up Ubuntu to thousands of apps.

Requiring app installation into the /opt directory is significantly challenging to app developers and not well supported in Ubuntu; this should be made transparent to the developer.

We also want to enhance the platform experience for both users and developers who are building applications for Ubuntu:

Provide a standard, stable and useful platform for developers, and a rapid path to delivering their apps to Ubuntu users

Give users a safer access to the growing ecosystem of independent applications being developed for Ubuntu.

Keep the user informed and in control over who is providing the software they install, and what access to their system it will have.

Colin Watson, a long-time Canonical software engineer who's worked on both Debian and Ubuntu Linux, explained -- in an e-mail message to the Ubuntu developers mailing list -- how they're addressing these issues. The goal, Watson wrote, is "to make it quicker and easier for app developers to get their software into Ubuntu. There are several pieces … but it seems clear that one of those is some kind of simplified packaging format which we can offer to third-party application developers."

This does not mean that Ubuntu is going to dump the DEB method it currently uses. Watson wrote, "This is not aimed at changing packages that are already part of the Ubuntu archive; for the most part our existing system works well for those, and they tend to have non-trivial dependency structures. We'll continue to use dpkg and apt for building the Ubuntu operating system, syncing with Debian, and so on."

Instead, the scope of what Watson has been been working on is for a package management setup for "apps built on a fixed 'base system,' which in the case of the initial target of the Ubuntu phone/tablet work would be the runtime part of the Ubuntu SDK [Software Developer Kit]. The radically-reduced dependency structure means that most apps will be Ubuntu-SDK-specific to start with, although I'd like to make sure that the package format design includes enough support up-front to allow this to be useful for other platforms that define suitable base system profiles in future."

This is still very much a work in progress. As for the obvious objection of why not use one of the existing Linux package systems, or even borrow Android's Android application package file (APK), Watson replied, "Many of the existing app packaging systems are more of a reflection of the system they were built for than anything else. If you look at, say, Android's APK format, it's essentially a zip file with a manifest and some conventions about Dalvik class installation and the like. Most of the other mobile app formats are similar. Things like Listaller might be a reasonable fit, but I'm worried about importing things like a full dependency solver into this: much though I love dependency-based packaging systems, they necessarily involve scanning the system packaging database at some point and I would much prefer app packages to be as independent of that as possible, mainly for performance but also to be as bulletproof as possible."

That's not to say that Ubuntu is re-inventing the wheel. Watson wrote, "The proof of concept I wrote also isn't entirely new code. It's tiny due to using .deb as a container format (minus maintainer scripts, full dependencies, etc.), so I get to save effort by using dpkg to unpack things, which leaves us room to selectively use more of its features in future if we want to." As Watson added in another message, "To be clear - hi Slashdot - I'm very fond of the dpkg/apt system and have put a great deal of effort into it over the last decade or so, both on my own time and for pay; I think it's excellent and have no desire to kill it.

So, while Ubuntu will be adding yet another Linux program packaging method, it's building on what's gone before to give ISVs a quick and simple way to get their applications to Ubuntu touch device users. While it's very much a work in progress, the end result should help Ubuntu have a rich set of applications when Ubuntu smartphones and tablets start shipping later this year.

Related Stories:

Topics: Mobility, Linux, Mobile OS, Open Source, Smartphones, Software Development, Tablets, Ubuntu

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

21 comments
Log in or register to join the discussion
  • Android got 75,6% marketshare of smartphones in Q1 2013!

    Are we going to see total victory for Linux in mobiles?

    Android: 75,6% of smartphones
    Android: 56,5% of tablets

    Q1 2013

    http://www.digitimes.com/news/a20130510PR202.html

    http://www.idc.com/getdoc.jsp?containerId=prUS24093213
    MacBroderick
  • I can see the need for

    something to avoid the existing bottleneck in the current app installer system for developers. It is also that they decided to stick with the dpkg/apt system that has served so well. The shift for Ubuntu Touch and the volume of new app that will need to be available to users is changing the way the apps get to the end users. also, I have to give credit to Canonical for thinking this through from an independent developer viewpoint. Something maybe others could learn a lesson from.
    DancesWithTrolls
  • Logical.....

    As far as I can tell, there's a different way to get apps and the like depending on which device you use, I have Ubuntu on a laptop, and a tablet, and I would hate to have to deal with the terminal and apt-get'ing my apps on the tablet, so I'm glad there's a different interface/application installer than what I use on the laptop. The same can be said for using a smartphone, I would assume that logically different devices would need a different way to get the apps installed on them. My opinion is that this is a logical step i the right direction for a company that is trying to burst into the mobile device market,.......
    Knighthawk5193
    • Are they talking about user or developer?

      They might have some other command line utility to get those apps via the terminal, but if you are uncomfortable with apt-get, they will have command line tool for this new method too (i hope they will). There will be a GUI installer too, but if Ubuntu starts getting rid of all these awesome command line utility, think of that day as a defeat to Linux and free software in general. There are some applications that can't have such feature, but for those that can (utility software), they absolutely should have them.

      People should not be forced to deal with command line tools. Every application should have best GUI possible, but if we start getting rid of all the command line tools, we are basically cutting all the possibilities of Linux. Linux runs on all sorts of devices, a raspberry pi to a super computer. I would not want someone who cannot afford high end devices be cut off from technology (e.g development), just because they have to deal with GUI. Their target deployment might be high end devices, but if they can develop in fairly low end devices, we are including a large audience of developers and tinkerers.
      bobjohnsmith
    • Why are you using apt-get on a laptop?

      I use Ubuntu Software Center.
      shyisc
  • Smart phones aside - this is about a package installer

    This is, though many won't admit it, a place where MS excelled long ago. The installation systems used by Windows hides most of the work from the end users. Techies hate them, end users love them.

    I've often wondered why Linux couldn't adopt some similar system, but that would require the community to get behind a single set of standards to create installation packages with. It'll never happen.

    I guess this is one place where a dictator is actually an advantage. Though even in the MS world, installers do have some variation. All I know is that if a package uses some lame - non-standard installer, it's very irritating.

    Perhaps Linux could learn from this and adopt a single method?? Probably not.
    Cynical99
    • You mean the MS method

      Of downloading executable installers from who knows what website, created by who knows who, running it, and hoping it actually installs the program the user wanted?
      Isn't this the same method used by thousands of hackers to infect billions of MS PCs?

      No thank you, I prefer non-executable install packages downloaded from, at least, a somewhat vetted location, that allow easy inspection of all files in the package before it is installed by a program that, at least, attempts to verify the package signature.
      anothercanuck
      • You may prefer complete control

        but the public, the non-technical public prefers automation.

        Like it or not, the public accepted the MS method and ran with it. The Linux multiplicity of methods that are different and require some knowledge baffle the general public and drive people away.

        Perhaps MS's willingness to pander to the public desires is indicative of why they are successful while the Linux community unwillingness to pander is why Linux desktop failed miserably. The community should look within for the seeds of failure instead of blaming the competition.
        Cynical99
        • the public accepted the MS method and ran with it

          Not really, they didn't have a choice, it's what came on their PC, they just don't know that there's a better way of doing things, which is exactly how microsoft likes it.

          "The Linux multiplicity of methods that are different and require some knowledge baffle the general public and drive people away."

          How so? just open up the software center, search for software, click install, and enter your password, it's easier than opening up a web browser, searching the web for software, downloading software, finding the location of downloaded software, double clicking on it, clicking ok on a UAC prompt, then clicking yes when software asks you where you want it installed to, then clicking no when software asks you if you want certain other software to be installed too, then clicking next a few more times before it finally gets installed.

          "Perhaps MS's willingness to pander to the public desires is indicative of why they are successful"

          Have you seen windows 8? that's not pandering to the public's desires.

          "while the Linux community unwillingness to pander is why Linux desktop failed miserably."

          It's not a failure, even you said it was a success in a previous article.

          "The community should look within for the seeds of failure instead of blaming the competition."

          You mean the competition that was proven to be anticompetitive in a court of law?
          guzz46
          • Wrong.

            That's funny, because i remember having the choice to run a 'nix since the early '90s. Oh sure, store bought computers had Windows on them, easily removed. Or just build your own PC. Don't act there was never any choice, people are just lazy. There was absolutely nothing stopping anyone from using Linux as their main OS instead of Windows.

            /typical freetard sycophantisms
            Sean Millon
        • The public also seems to like app stores

          which is pretty much the model Linux uses, although until recently paying for software wasn't supported, so only free apps made it into the app stores (repositories).
          shyisc
  • Is this really necessary?

    And is this an admission that GNU/Linux's existing package formats themselves, not just the variety of formats, have been turning away ISVs?

    It's not just that .deb is better than .rpm (or whatever you like) or the reverse. It's that *none* of the current package formats, including Android's .apk, are up to the task. Thus, the need for yet another package format for GNU/Linux.

    It's noteworthy that this hasn't held Opera Software ASA, an ISV, back with GNU/Linux package format support for its web browser:

    http://www.opera.com/download/guide/?os=linux

    And the Opera browser is available for Android (read .apk) in the mobile space.

    To my eyes, this looks like more fragmentation in Linux. Since Android is already dominant in the mobile space, I say find a way to make .apk work for Ubuntu and, more generally, GNU/Linux. Wouldn't this also be easier for ISVs since many already support Android .apk? In addition, wouldn't this also open the possibility for eventually running Android apps in their original .apk format on GNU/Linux?
    Rabid Howler Monkey
    • NO!

      Deb should be the standard. It is more free. Linux users would get upset over apk
      Stephan Sevenyoln
    • Drivel.

      *none* of the current package formats, including Android's .apk, are up to the task

      Do you engage your brain before typing? Ever?

      .deb and .rpm are streets ahead of .exe (.exe is for idiots - for people who are so lazy and so arrogant that they refuse even to learn about their own possessions).
      Whoever heard of a compromised package source for Linux? Once, maybe, in the last 12 years. How many people are infected every day by installing spyware disguised as software?
      .exe's allow people to remain ignorant and stupid - a position that suits MS and Apple very well indeed.
      That Canonical wish to emulate this is no real surprise. But then Canonical are no longer a Linux Company - they are parasites leeching off the wider community.
      salparadyse
      • LOL!

        Here's what I wrote that set you off:

        "It's not just that .deb is better than .rpm (or whatever you like) or the reverse. It's that *none* of the current package formats, including Android's .apk, are up to the task. Thus, the need for yet another package format for GNU/Linux."

        I merely paraphrased the article. I currently use Debian and Debian-based distros and my experience tells me that apt is the best package management system in the Linux world (I've used Fedora, CentOS, OpenSuSE and Arch).

        If the GNU/Linux community wants mobile app devs to port their apps (written in Objective C, Java, Python, etc.) to GNU/Linux, neither .deb nor .rpm will draw them in. The Android .apk, which supports both Java and Python, is their best bet if the community desires popular mobile apps running on their platform of choice.

        P.S. I never mentioned .exe in my post. However, since .msi is also a Microsoft creation, does this mean that .pbi, used by PC-BSD, is also for idiots? More on PC-BSD and it's .pbi here:

        http://www.pcper.com/news/Editorial/Interview-Kris-Moore-Founder-and-Lead-Developer-PC-BSD

        And don't forget that BSD was open-source well before Linux Torvalds created the Linux kernel.
        Rabid Howler Monkey
        • That's not exactly the message in the article

          It says that standard Deb packages take a long time to install because they build and check a dependency tree and that they want to make things simpler so it would be easier to build packages. The package format and the new system they came up with seems to be based on and integrated with Deb and APT.
          shyisc
  • Much of the problem with existing Linux package managers is:

    That they place strict requirements on the package creator. For many developers, many of them coming from the Windows world, these restrictions appear to just be a pain in the ***.

    Windows install creators place few, if any, restrictions on the creator. Even making an entry in the Installed Software list is optional. Removing all registry entries and files during un-install is seldom done, because it usually difficult to decide what can be removed without breaking other programs. This is one of the reasons Windows system slow down over time, as the registry grows, but never shrinks as programs are installed, un-installed and upgraded.

    Linux package managers go the other way. The package manager, rpm, apt-get, etc. makes many decisions for the creator, like adding the package the the installed software list and keeping track of installed files, thus allowing much better auditing of the files on a system. But this also requires the package creator to follow the rules of the given package manager, which can be difficult, but is not impossible, when trying to reach a broad audience using different package managers.

    I think it is a worthwhile effort to to find a compromise that balances consistency, and manageability, into one package manager that will work for both Distro teams and independent app developers.

    I hope Ubuntu succeeds at this goal.
    anothercanuck
  • Deb is good enough

    Ubuntu is going for Ubuntu, not Linux.
    Stephan Sevenyoln
  • Recipe for disaster.

    Coming soon - news reports of "Ubuntu App system riddled with trojan horses and keyloggers". This will then be jumped on by MS, et al, and cited as proof that "Linux is rubbish for consumers".
    salparadyse
  • Linux is a FAILED OS, SJVN, so, why don't you give it up?

    BTW, Windows 8 (the OS which you call "failed"), surpassed Linux on PCs on the first day of release.

    So, why not come to grips with reality and stop the nonsense?
    adornoe