An application review process was announced today for getting your apps into Ubuntu “extras” repository. But like most other announcements of new things, this one was met as well with as much criticism as the praise it got. A lot of the criticism is FUD though, although mostly unintentional and caused by ignorance of some facts behind it. I’ll try to address some of these concerns here to the best of my knowledge from what I’ve been reading over the past some time about this development.
Before we begin, here are the terms listed out for an app to be eligible for the new repository:
only new applications that are not present in an existing official Ubuntu repository (such as main/universe) are eligible in this process (e.g a new version of an application in an existing official repository is not eligible). Also no other software can depend on the application being submitted (e.g. development libraries are not eligible), only executable applications (and content that is part of them) are eligible, and not stand-alone content, documentation or media, and applications must be Open Source and available under an OSI approved license.
Now, the concerns that are floating around are many. Some are genuine queries and many are straight attacks dishing out evil conspiracy theories :P. The concerns can be summarised as:
- Closed source and paid apps are being given the boot by Ubuntu. They should have allowed them.
- Why can’t we have updates for existing apps in this repository?
- Why only standalone apps are allowed. Libraries are equally important.
- Why should the software be packaged for /opt. This involves more headache for the developers.
- Standalone media and content should have been allowed.
Well, to answer these, all you need to understand is the “premise” and concept behind the repository where this software will go and the reasoning behind the review process will unfold itself. The repository governed by this review process is meant to be for “maintainable” pieces of software that would generally go to other universe/main etc repos but couldn’t make it into this release of Ubuntu because the developers were a bit late. This process and feature now gives a chance to the developers to still get their app to public instead of waiting for next release cycle and also allows end-users to use new apps without having to upgrade their version of Ubuntu . There is a separate “partners” repository where closed source and paid apps can go so there is no conflict there.
Only allowing standalone apps and not updates and dependencies is so obvious. It would soon go out of hand exponentially if you allowed dependencies since one thing needs another library updated, then that would need another and yet another and so on and before you know it, you would be back at square one, that is upgrading to the next version of Ubuntu itself.
The only thing that I found out of the place was not allowing standalone content but probably they didn’t allow it because such content can be had by end users without a repo easily and would ease the burden of repo maintainers and reviewers by lessening the entries.
I’d also like to point out that this is just a beginning and the process (and the people behind it) would definitely be maturing from all the feedback they get from the community. Think of it as an alpha release ;). Jono Bacon summed it up very nicely in this comment of his that he made elsewhere:
this is an *experimental* process; it is a work in progress, it will evolve, and the kinks will be ironed out. The process was approved by the Ubuntu Technical Board who are all seasoned Ubuntu developers (Matt Zimmerman, Colin Watson, Martin Pitt, Mark Shuttleworth, and Kees Cook), and much of what you refer to as "restrictions" were requested by them for the purpose of delivering a nimble process that is stable and secure.
To be clear: you can think of this process as a "light-weight" equivalent to our traditional MOTU development process; it is intended to provide a method in which app devs can get content in Ubuntu, whereas our traditional development processes have be orientated around the needs of Operating System integrators.
As such, this is a first step; sure it is not perfect, but I would like to invite you to make it better; I think this would be a more valuable contribution than just ranting about it on here. Our goal is to make Ubuntu better and to make it more attractive to app developers, and this process will evolve and improve (as was made clear throughout the discussion of this).
So, what do you think about it? I, for one, am pretty excited..