Installing software on Linux has gotten progressively easier over the years, down to being downright foolproof in Ubuntu’s Application Center. However, there is still the problem of each distribution relying on its own frontends and backends, and this needs to be addressed. Members from all the major Linux distributions have held several talks, and have come up with a solution which is already being implemented.
OStatic reports on the rather massive undertaking. Last week, at the SUSE offices in N~A 1/4 rnberg, developers from RedHat, Fedora, Debian, Ubuntu, openSUSE, Mandriva and Mageia convened to talk about creating a universal installer and application store for all these various Linux distributions, bringing together various established technologies.
“More and more people in the Linux world realize that a nice application installer is needed to make the Linux platform more attractive for normal users and third party developers,” explains Frank Karlitschek, “The current package managers expose way too much complexity to the end users. The normal user doesn’t care about dependencies, libraries and other internals. But the user cares about things like screenshots, description texts, ratings, tags, comments, recommendation from friends and other features which current package managers don’t provide.”
During the talks in N~A 1/4 rnberg they already pretty much finalised the entire stack, and they already have a working server and frontend. Pretty impressive if you ask me – and once again proof that if you want to get things done, you just get them done, instead of talking about it for two years.
Anywho, this is how it’s supposed to work, according to OStatic.
The AppStream team think the Ubuntu Software Center is the right user interface and plans are to port it to PackageKit. They plan to use Xapian servers to provide search results for users and use Open Collaboration Services to allow user ratings and reviews. Metadata will be stored on a server which will hold package information, icon location, repository type and location, and such. A compose server will extract the package information from the .desktop file (which participating distributions will need to provide for each package) and output all the information to a common XML file. The AppStream user interface will be the front-end for PackageKit, which then will instruct the distribution’s package management system to install the desired application.
All the details are still a little blurry to me, mostly because I don’t think allt his hasn’t been officially announced yet, making it a little difficult to assess. Is this going to be the default? When will that happen? Are other distributions free to join in? More news is sure to follow.
Hopefully osnews keeps tracking this matter. OCS can be a big unifying protocol in the future, but it needs a bit of hype.
http://opendesktop.org/ is something of a “hidden” project, there was some talk about it back when kde was drumming up “social desktop”, but now it seems to be a bit more quiet. OCS protocol, otoh, seems to be popping up here and there.
Agreed needs more hype so it gets adopted around
Reading that “RedHat, Fedora, Debian, Ubuntu, openSUSE, Mandriva and Mageia” got together on this is great news in itself.
Exactly! This is very good to see. I want to see more such collaboration between the major vendors. We already have them sharing technologies like RPM and apt-get. So why not develop applications that are common to all distributions?
A unified app store might even mean a unified app repository. Imagine that! These are huge distros we are talking about. You’d never have to compile anything from source. And there would always be latest version of your favourite app available for your distro.
And therein lies a problem.
The latest version will probably run on the latest version of Ubuntu but how will that play on a server distro like RHEL where everything is not at the latest cutting and dare I say it slightly unstable edge?
If I’m using a stable server distro (ie one where I just want patched and a few bits backported) I would need to see a range of versions of the app in the store with their OS dependencies so that I can install the one that will run on my Server System.
The last thing I want is to install an app that brings down with it versions of OS libs that don’t play with the stuff I already have installed.
The sheer vision of trying to sort that mess out makes me want to steer well clear of this for some time to come.
Just because some crappy dev builds an app that requires the latest version of a lib that will go merrily stomping over your existing stuff is not what I want.
If however the apps were setup to be installed in a way similar to those on OSX where the app deps are kept well away from the system libs then I’d go for it.
There is a lot to sort out here…
For userland, desktop-oriented apps, statically compiled binaries or “app bundles” work work so much nicer.
For server-oriented apps, dynamic linking is better and “more secure”.
But for an “app store”, bundles and/or static linking would be so much simpler, easier, nicer.
Ah, see, we’re all thinking along the same lines.
I don’t think that will ever happen. Different distributions cater to different audiences and purposes. And each distribution has different branches, at the very least a “stable” and a “development” branch; most of them more than two.
The system they’re proposing here is a wrapper that hides the different package managers under a common interface with features that appeal to end-users. It’s great they’re doing this wrapper but it’s just a specialized app that caters to a niche audience. Do not expect major architectural changes to go with it.
It does not mean package managers will be unified, ever, or that distributions will give up their own goals and development process just for the sake of dumping everything into one big repository.
Furthermore, power users and developers will need to keep using the power tools of the package manager. They need the extra information, or to automate update and upgrade operations, or to fine-tune the way the manager works, be able to access it from the console etc.
Please remember that Linux is very flexible and is being used by lots of people in lots of different ways. “Grandma’s desktop PC” is just a small part of it.
I haven’t read the article yet, but isn’t that what PackageKit does? I’ve use KPackageKit on Kubuntu (apt backend) and Arch (pacman backend) and it works just the way you say: unified front-end that’s easy to use, but that queries the distro-specific repos.
In fact they’ll use PackageKit, but their going to change the UI and rely on other services to provide info.
I see Linux being used in 3 places:
embedded OS (hardly ever gets updated, so no repository needed, let alone an appstore)
server OS (updates sometimes come from a repository but not always and an appstore is not needed)
“Grandma’s Desktop OS” (or more commonly refered to as “Geek OS”/”No virus OS”/”Cheap OS” where this article is all about
Indeed a small part, but the only part relevant here
Would be great. openSUSE build service goes pretty much in that direction and maybe other companies could join the effort so their devs could concentrate on other areas. Just saying, maybe in real world this doesn’t make sense at all LoL.
I hope this happens and that it is implemented in an user friendly manner. However, what about adopting the portable Linux apps method or are there to many problems with it? http://portablelinuxapps.org/
No problem with it. But linux people are not known for thinking outside the box. As you can see here they’ll fix your genome before reconsidering the problem.
Right, and portablelinuxapps.org wasn’t implemented by Linux users. It just spawned there.
Portable, standalone apps pose complexity problems in integration, trackability and updating. Indeed, OSX apps (sorry, “software”*), though easy to install (“drag & drop”), have no unified update engine and leave a lot of crap behind when uninstalled…
*now they have “apps” like iOS, which solves the problems of the old method… by copying the central softawre repository linuxes always had. Thus we come full-circle…
Agree.
I dont get it. So if I write an app, I send the tar ball to some server which then builds packages for each distro? How is this different than now? That its automated or what?
Sounds like the OpenSuse buildservice.
But I guess they want to make it easier to package stuff.
Which is something everyone should be happy about, right ?
If I understand correctly, the point is to build a common interface and API for users to obtain software, independently of the distro package format or building service. Is not about building software but how to deliver it.
Sounds like they’re going to try and make it so you submit one tarball that will work on all distros. Having a single platform in which to target is something that is badly needed.
Speaking of tarballs, wonder if they’ll allow proprietary apps on this thing? I’m sure Stallman and the rest of his cult will fight hard to keep that from happening, but maybe we can have a ‘special’ version for them where only open source apps are available.
Anyway, this is long overdue by about 10 years. Assuming they’re able to pull this off, the next step will be consolidation of distros, and the same with desktop environments, so that you have a solid, default setup (rather than 900 different ones) that is intuitive to use out of the box, yet powerful enough so you can customize it the way you want. Basically, something like Android on desktops
Do this, and Linux will have progressed to the point where I might actually consider installing it again.
I think a big part of it is sharing stuff like rating and reviews or other metadata. Stuff that you really don’t need duplicates for and get better when you combine all the data.
That and trying to come up with a standard UI for a linux app store. I think that goal is to make the linux app store experience consistent across supporting distros. So that people get the impression that the linux app ecosystem is just one big happy family instead of several competing fiefdoms of formats, utilities, and standards.
As far as I get it, it is only a store; compiling and integration is still up to the distros. This store would just be a standard interface to pilot your local installation of packagekit, while centralizing descriptions, screenshots, latest changelog, user reviews, etc. across all linux distributions.
OpenSUSE’s OBS is one step further, and much more complicated.
Edit: it’s called Bretzn.
Edited 2011-01-27 13:44 UTC
The below links maybe of interest.
http://www.youtube.com/watch?v=BHeP2ZBwS_U
http://distributions.freedesktop.org/wiki/Meetings/AppInstaller2011
Developers from RedHat, Fedora, Debian, Ubuntu, openSUSE, Mandriva and Mageia
Fedora is basically the testing distro for Red Hat Enterprise Linux.
Ubuntu is an optimized fork of Debian.
Mageia is a fork of Mandriva.
OpenSUSE provided the meeting place since it the only distro that was without relatives; it needed the home field advantage.
LOL! How many Linux distros does it take to change a light bulb?
The announcements on the results are out:
http://news.opensuse.org/2011/01/27/first-bretzn-sprint-opensuse-ap…
and
http://news.opensuse.org/2011/01/26/app-installer-meeting-or-more-c…
thxs!!
The solution to closed app stores is not more app stores.
This is not a solution to closed app stores. Its an attempt to make installing applications uniform across distributions by using a common set of tools and sharing information between them selves.
I love collaboration between distributions. But still love current package management. Specially, Synaptic package manager.
Hope they will keep it and something new and easy for novice users is always good.
Specialised software management apps will probably be kept but just for advances users.
This will never happen. The VLC people, the GPL people, the Open Source purists, etc etc will all get their panties in a wad over all sorts of issues of how pure and “open source” all the apps are, causing some very popular applications to never appear in the application store, and it will be rendered useless as a result. Mark my words!
they can’t
Sorry, but this is nonsense. VLC could not be included in Apple app store because Apple’s EULA effectively bans GPL’ed software form it. Regarding this app store your ranting about, I don’t think they’ll be any changes on distro’s current software policies. And this is, for example, I expect Ubuntu and openSUSE to serve closed sourced software on their service but labelling it as “non free” or something alike. Just like now that they keep closed source repos. Even more, I expect Canonical to introduce software on their store you’ll have to pay for.
Well, it looks like people from different distributions have got together and thrashed out some ideas that will make it easier to install applications.
They have decided to try and use software that is already in use by many users, which makes it more feasible than starting from scratch.
Remember, if this works out well, it will make it easier to install open source software as well as closed source software.
All in all, just the fact that they are working together is encouraging!
Most of you are thinking about things the wrong way. Think about it from someone you know who has lots of problems figuring how to to use their computer and especially with finding and installing programs.
The idea of this is that all the back end stuff is hidden from the user. All they see is a list of programs, maybe put into Types, where they can browse through or search for a type or title of a program and only have to click “Install” to install it no matter what (for the most part) distribution they are using.
This will be a HUGE confidence boost for people thinking about using Linux or people (nerds and geeks) that are currently hesitant to put Linux on computers that their friends and family use.
You will want some kind of vetting for the apps like on the Apple app store to make sure programs with viruses or whatever bad things you can think of, do not get added to the store. But it could also have something where you “prove” you are an adult and you also get porn if you want it.
Well, you have just depicted Ubuntu’s Software Store:
http://farm3.static.flickr.com/2657/3931824332_d6f12fbbc3_o.png
and what opensuse has already implemented after this meeting:
http://news.opensuse.org/wp-content/uploads/2011/01/appstore_detail…
Actual policy is just ok: package from upstream, test and publish. For me, tagging software according to some moral or religious views is an implicit form of censorship (and I’m speaking about the “adult” thing). For those parents worried about their kids having access to nudity or so on, they have plenty of apps and configurations they can set up after a clean install. Peer reviews, voting and other online metadata is a much better method to hint users about an app that a single entity or company filtering.
Watching MacWorld 2011 right now and seeing all those “Professional” and consumer graphic design and professional photography apps for Mac OSX, iPhone, etc makes Linux graphics apps look like an huge embarrassment.
It exists now and has been in Mint since version 9.
http://www.linuxmint.com/rel_isadora_lxde_whatsnew.php#mintinstall
I’m sure some people here will highlight the inherent flaws of this idea, but I can see that many others can see its benefit (or should I say, necessity). The non-PC masses have become used to the concept of app stores, in the likes of the iOS app store, the Playstation network, even Android has an app store, and one could (at a stretch) argue that that’s a Linux distro anyway.
Valve saw the need for an app store early on with Steam, and while I hated it early on, I think most users – including myself – pragmatically realised the need for a PC app store as well and eventually ran with it.
Times are changing, software installation’s always been my least favourite part of Linux, and this is really the only way we can move forward. Bring it on, and forget the nerds.
It should be said that this is one thing Lindows/Linspire did get right.