Saturday, July 10, 2010

Something is wrong with the software publishing plan for Ubuntu

Lately I have been watching a couple of threads related to Ubuntu packaging and publishing whichs makes me feel something is wrong.

With all respect, I believe Matt was probably dreaming when he came up with the "We’ve packaged all of the free software" title. There are plenty of applications not properly archive maintained or even packaged due to the lack of human resources.

Then Jorge on this article narrowed the issue to the the centralized versus distributed model. It's a bit concerning the argument which involves "iPhone’s app store", will Ubuntu app store follow iPhone's restrictive strategy because *some* people like it ?

Opinions apart, there will be a new process for applications inclusion which is great but which I am afraid will be commercially oriented. If Ubuntu does not have the resources to handle the current community oriented package inclusion process for development releases, REVU I really don't see how it will be able to handle post release inclusions unless there is revenue involved.

10 comments:

  1. I think it is pretty obvious that Canonical is only interested in Ubuntu (and Debian) so long as they can make money off it.

    ReplyDelete
  2. I still believe they want to make money to help develop it ;)
    I am just not sure about some of the methods.

    ReplyDelete
  3. My argument includes "iphone's app store" because we've had apt for over a decade and installing software on linux has always been criticized as too hard and complex.

    But then someone takes the almost exact same distribution model and puts a good UI on it and people love it. As far as users are concerned "getdeb" is basically a non-commerical app store already!

    I think the commercial vs. non-commercial thing is a separate argument, whether you make software for sale or software for free distributing out to users has the same problems.

    ReplyDelete
  4. I think the real problem is not that it's hard to install software in Ubuntu/Debian, but that
    1. It's hard to install up-to-date software
    2. You're at the mercy of the distribution's packaging team.
    I think these problems can be solved with some changes to policies and standards:
    1. Put the burden of packaging on the software developers without forcing them to learn every packaging system.
    2. Offer two repositories: one that maintains the same versions (i.e. business as usual) and one that adds new versions as they come out.

    This way, adding software to a distribution's repositories requires little work on the part of the distribution's developers, and the bulk of the work involved is done by the person who knows the software best. Furthermore, those who need a rock-solid system have it, while those who want the latests versions of their applications can have that, too.

    ReplyDelete
  5. Jorge,
    people no longer complain about how hard it is to install software in general, they mostly complain how hard it is to install certain software, get certain upgrades or take advantage of certain features (which require compile time changes).

    App stores are popular not just because of their UI but also because their publishing policies. The UI is important, but the publishing and quality control is also fundamental. I personally don't find iPhone's app store as good example. Anyway I feel you are doing a terrific job with the software center improvements, aptdaemon, etc.

    Any software repository can be seen as an app store in a certain sense. The Debian/Ubuntu repositories are one of the largest app stores, they just have a very strict release policy which is not sufficient for a significant number of users.

    I agree with your comment regarding commercial vs. non-commercial. However I am concerned that the commercial apps management get a different level of attention compared to the community apps.

    ReplyDelete
  6. Ubuntu non LTS is released every six months with updated packages, so getting latest is not really that big an issue, plus myriads of ppa, some from the developer's own make sure that Ubuntu stays up to date.

    ReplyDelete
  7. I think you are confusing between commercial and non-free apps. I don't find any problems with commercial apps being sold on Software Center.

    One way to make money would be that the code would be open for commercial apps, but the branding can help.

    Apps can have support also included with them which can help the develop make additional money.
    Just my two cents

    ReplyDelete
  8. It will be interesting to see how the additional manpower to drive the approval process is generated and whether that's going to subtract manpower from the already established REVU process.

    Beyond the question of approval manpower. There continues to be the question of.. maintainership accountability.

    The current Ubuntu repository maintainership policy doesn't really stress _accountability_ on a package by package basis. How many universe packages are effectively unmaintained in Ubuntu beyond what it takes to merge from Debian?

    You can get by with that in the existing Ubuntu repositories to some extent because Ubuntu's loose maintainership model relies _heavily_ on Debian's much tighter maintainership model via the Debian merges. Because Debian has accountability on a package by package basis...with a concept of orphaned packages to keep the accountability status across the software collection in a known state.

    But can you get by with this in the new post-release application process? In the new process...you won't be relying on Debian's strong maintainership accountability model via a merge process any longer. Once a package has passed submission review and is included as a new post-release package, who is standing up as the primary maintainer for that new application? What's the update policy for that application.. and associated libraries that necessarily have to be bundled in with it? SRU doesn't apply. Who is responsible for security issues in this post-release apps (and required libraries)?

    Does the entire core-devel/MOTU/whatever team take on the responsibility of keeping ALL the post release packages updated and working well? What's the process by which a a post-release package can be orphaned and taken over by another maintainer? If a post-release application is found to be poorly maintained for multiple months after the initial submission approval, can it be unsubmitted and pulled from the repository?

    -jef

    ReplyDelete
  9. I am with Jorge. "But then someone takes the almost exact same distribution model and puts a good UI on it and people love it. As far as users are concerned "getdeb" is basically a non-commerical app store already!"

    I agree with a good UI people will love getdeb. And if they could a create the same type of Iphone / Android store for Linux - great

    ReplyDelete
  10. "But then someone takes the almost exact same distribution model and puts a good UI on it and people love it." - A good UI, with excellent UX makes all the difference in the world.

    "Ubuntu non LTS is released every six months with updated packages, so getting latest is not really that big an issue, plus myriads of ppa, some from the developer's own make sure that Ubuntu stays up to date." - Sometimes it _is_ a big issue. Because some apps require newer system libraries to work, so the maintainers also package those in their PPA. Now, when you install the newer version of an app from such a PPA new system libs will also get pulled, which usually break other apps already installed. And what if the same libs are to be found in two or more PPAs you are using but somehow built differently, so they are not cross-compatible with the apps coming from those PPAs?

    ReplyDelete