You Got A Question? Ask    GNOME Community!

Richard Hughes about GNOME Software

This post was made with an older stylesheet

For what it’s worth and for anyone that isn’t familiar with them I am just explaining some software terms that Richard is using in his interview.

  • PackageKit: PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less.
  • Zif: Zif is a package manager for Fedora written in C that is designed to replace Yum. Richard is also Zif’s author and maintainer.
  • ZYpp: Zypper (libzypp/Zypp) is the package manager of OpenSUSE. ZYpp and Zif were two of the options for Fedora to replace Yum. However Fedorians choose to go with a new package manager, DNF.
  • Dpkg: The Debian Package Management Tools (dpkg, apt, aptitude, synaptic, tasksel). Ubuntu uses USC (Ubuntu Software Center) as their primary Update Manager.
  • Bundle: An application bundle is a single software binary package that includes the actual Application (and all data) plus all dependencies, except the core ones (ie GLib/GTK). It is meant to solve compatibility issues between distros and between packages versions inside the same distro.
  • Listaller: Listaller is a distro-agnostic 3rd-party application installer with close integration into PackageKit. It supports KDE and GNOME Platforms but GNOMEs front-end is currently a bit out-dated.  It uses application-directories and the dependencies can easily be shared between two installed 3rd-party apps. The key point in Listaller is that it hooks into PackageKit, to make Listaller apps install-able, update-able and removable via native PackageKit tools. (like GNOME-PackageKit).
  • Glick 2: Glick2 is a runtime and a set of tools to create application bundles for Linux made by Alexander Larsson. The bundle can be run without installation, or be installed by just putting the file in a known directory (/usr/lib/bundles or ~/.local/bundles). It is kinda similar to Linstaller, but smarter as it tries to offer full integration with the system. There is a working code and Glick2 will be discussed as a candidate primary software installer for GNOME.
  • OS Tree: OSTree is a tool for developing, building, and deploying Linux-based operating systems. It is most similar to tools like dpkg and rpm in “Linux distributions”. However, it is not a package system (though one could be built on top).
  • CLA: Contributor License Agreement. Richard is mentioning Canonical Contributor License Agreement (

Hopefully we will see the new GNOME Software in 3.10. An optimistic scenario!

  All Linux based distributions are relying on free software and open standards. However the communities of the main distros (Debian/Ubuntu,Fedora, SUSE etc) while they use pretty much the same tools for their systems, they didn’t manage to end up in a standard update method. Is this the biggest issue for the Linux Desktop?

  I don’t think this is the biggest issue, to me that seems like the platform fragmentation between Ubuntu and basically everyone else. It’s certainly an important issue though, and it’s quite maddening seeing how 99% of update systems are doing nearly exactly the same thing in very similar ways. It’s also a pretty bad how Fedora couldn’t use the zypp code and how Debian persists with dpkg and interactive installation. PackageKit tries to abstract out all the political and technical differences and defines a common D-Bus API, so that a client program can call UpdatePackages() and the right thing magically works when you’re running Arch, Fedora, Ubuntu or Suse.

  Applications undoubtedly define the future of every “Desktop/Laptop/Tablet/Mobile” System. What is the main problems for someone to write a GNOME App, and what are the issues to deploy a GNOME App? Do you think that the current situation discourages people from creating GNOME Apps?

  Well, you’ve got to define two things. First, GNOME. Is GNOME an OS, a toolkit, or a set of recommendation about the widget styles to use? I don’t think we’ve got our story straight on that yet, but with ostree and the core applications being designed by the same set of people we’re starting to see some kind of platform emerge. The other thing is how to define an application. I think it makes a lot of sense to make an application self-contained, for instance with Alex’s glick2 project or the Listaller project but then you don’t get the full integration. I think a lot of the core apps it makes sense to ship with the base platform as integrated parts rather than a shell with a few optional components.

Color Management Hackfest 2012

  Commercial Software is shipped usually into “bundles”, including everything. Can “bundles” also used in Open Source projects and solve the dependencies and update managers incompatibilities issues? Can this be a way for Online Unified (all distros) Software Centers?

  I think the concept of a Software Center is a bit of a misnomer. It’s pretty hard to create a static blob that you can run on Ubuntu and Fedora, without including copies of every dependent library. Even if you did that, it wouldn’t integrate into the system very well, for instance, not integrating into gnome-shell or the Ubuntu HUD. I’m not sure we’ve got a good solution here yet. I think we can create a good UI to the huge number of packaged applications we have available to us
already, and that gives us a huge head-start.

  USC is considered a “Killer App”. Do you think that USC played a significant role in the success of Ubuntu, or it was just one more “pros”?

  The one thing Ubuntu has done right, is define the platform in a more coherent way than the other distros. The sad fact that you have to sign a CLA to contribute to USC is a major reason why it’s not being used on more distributions. Even if the code was forked, a lot of the code seems very tied into the Ubuntu ecosystem, and I can understand why they want to do that. It’s just a shame.

  GNOME Software and PackageKit. Something that all GNOME users want to see.

  Well, I’ve been working on gnome-software for a few weeks. We needed to do a lot of work to PackageKit for a proper user experience, for instance being able to search while updates are downloading. Fingers crossed more of the backends will be ported to the new parallel transaction model, as at the moment it’s only apt and zif that work in this way.

  Commercial (either open or proprietary) Software in GNOME Software. Can be done?

  I’m not planning to work on this kind of thing, although I don’t mind if someone else contributes the code. It’s not hugely interesting to me to be honest.

  Thank you!

Don’t forget to check on Richard’s “My wife dresses to kill. She also cooks the same way.” blog :)

  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • hashem

    Cool interview!
    What’s a CLA?

    • alex285

      Contributor License Agreement. I added this on the top, with the link to Canonical’s CLA, if you are interested to read further.

  • foobar

    Hugsi xO

    You should have asked him more about colours. :)

    • alex285

      > Even if the code was forked, a lot of the code seems very tied into the Ubuntu ecosystem, and I can understand why they want to do that. It’s just a shame.
      Does he mean what I am guessing?

      • foobaro

        I honestly don’t know what you are guessing. :) However, as a guy who tried to steal some code from USC, I’m quite sure he meant that more technical.

        • alex285

          It will sound really bad, but I am asking if they did that intentionally so other distros can’t use it. Okay I am not waiting an answer on that, but I am just imagine it the way he says it.

          • foobar

            Well, I *personally* don’t think that is the case. It’s not easy to implement several features in a distribution independent manner. For instance, Pk doesn’t include all information you see in GS-mockup/USC. Ratings, user comments, pictures and more are missing. Where do we get those information from?¹ It’s simply less time consuming to do your own thing as to develop something more generic.

            It just happens to be hard to reuse. I don’t think an evil committee of ubuntu hackers, lead by a space man, decided to spoil the fun for everyone else. They just decided not to put the extra-effort into it. And that’ perfectly understandable.

            ¹ AppStream, actually.

          • alex285

            Aha, thank you for (your personal) clarification. I miss-interpreted the “Shame” word. .

  • user

    So in the future it would be possible that distributions only packages the core of GNOME and the applications are loaded by using this new software center. After that it would be up to application developers to submit a new version to some repository and users could update to that version, when ever they like to (no need to wait that distributions makes a new package).

    • foobar

      That’s not what the software center is doing. It’s “just” a very nice looking frontend for package-kit and app-stream. E.g. for packages in the repository of your distribution.

      • user

        Yeah, but where does “kernel D-BUS”, “Glick 2” and other technologies come in use?

        • alex285

          “Someday”, “When Ready”, “Who Knows?” :)

          • user

            Well, it sure takes some time since the whole “kernel D-BUS” was just started couple of weeks ago :). It’s interesting to see how they are going to use all these new technologies and ideas.

            Of course this new software center would be a huge step forward compared to what GNOME has now. The design looks very clean and nice.

  • Matthias

    Hi! Just a small clarification about Listaller: The software is not KDE only, it just happens that there are specialized KDE frontends available (GNOME bits are a bit outdated and are currently pending feedback on UI design). It also doesn’t use bundles, but application-directories instead (the difference is that dependencies can easily be shared between two installed 3rd-party apps and that there is no FUSE magic involved). The key point in Listaller is that it hooks into PackageKit, to make Listaller apps installable, updateable and removable via native PackageKit tools. (like GNOME-PackageKit)

    • alex285

      Hello, sorry for this, I corrected it.
      Thank you!

      • Matthias

        Wow, that was quick! Thanks! Maybe the website needs some better explanation about what Listaller actually is ;-)

        • alex285

          To be honest I checked on their page and it is said: “There is no official Listaller support for GNOME yet, but some simple helper tools exist.” That was why I wrote KDE only. I didn’t try it therefore the bundles mistake :(

          • Matthias

            The emphasis lies on “official” ;-) Because GNOME might likely go with Glick2, every integration of Listaller into existing tools would be a bit odd – however, my plan is to add optional-off-by-default Listaller support to GNOME-Software if Richard allows that. (needs further discussion) I clarified that there is “no official support for Listaller *from* GNOME” on these pages now, maybe that is less confusing.

            I am Listaller, PackageKit and AppStream developer, btw ;-) So every mistake on related pages is also my mistake ^^ Especially Listaller needs more and better documentation.

          • alex285

            Aha Matthias Klumpp ;)
            I just read your post. I wish you good luck with your work with Gnome, and any other work you do ofc!

          • Matthias

            Thanks! There are many cool things planned, but especially cross-desktop stuff takes a lot of time. (And these projects have a high failure rate)
            But in application management we will definitely see many improvements soon :)