Hacker News new | ask | show | jobs
by tylermenezes 5036 days ago
Their idea of making it better is to require review before the developer is even allowed to upload a build for testing? I can't think of any other app store which requires this sort of thing; it doesn't actually solve any problem. Malicious users can claim to be whoever they want, and I can't imagine unauthorized package ports are a serious problem.

If you're trying to make something simple, remove really stupid steps. This is my problem with open source communities, they end out trying to make something theoretically perfect, but realistically unusable.

(A better solution: if the reviewer has any doubts they can ask for clarification.)

3 comments

Well, Apple requires you to enrol in the $99/year 'developer program' to be able to submit applications. The developer check is more like Ubuntu's equivalent of that.

The key is that in many cases it will be easy to verify the identity of the developer: find the most active few accounts in the version control log, and email them about it. That takes far less time than auditing code.

> Irrespective of whether the app dev uses (1) or (2), they are relying on other people to do work before they can deploy their application. This is less empowering, and for an emerging platform such as Ubuntu, we need to enable app developers to deliver their apps without such delays.

> App Review - When the developer submits a new version of their application, it will go through a series of automated checks to verify that it conforms to the Extras packaging and security rules. The developer will be responsible for ensuring the package works effectively. If it doesn’t, the ratings and reviews will surely reflect this.

> 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.

> The developer will not be able to add any other AppArmor abstractions beyond the ones defined above. All of these options are considered safe, and do not require a manual review before being allowed into the Extras archive. The user will be told about any options from the third group that the application needs, and will be asked to allow or reject its installation.

What pre-upload review are you talking about? I read through the steps, and I don't see anything other than the web form to generate an AppArmor policy, which seems completely automated.

EDIT: You're probably talking about the "APPLYING FOR ACCESS" section:

    To ensure that we are giving upload access only to the original
    author or a proper representative of the upstream project, we
    will require that person to request upload access for their
    application. The author or representative must first create an
    account and user profile in the MyApps portal as it currently
    exists.
    
    Once their profile is created, they will need to be able to
    request upload access for a package, providing details about
    their association with the upstream project. If the submitter is
    not the owner or representative of the project, they will be
    required to provide a URL to a webpage, blog post or mailing list
    archive showing that the owner or representative of the project
    is endorsing their effort upload the application to the Ubuntu
    Software Center.
This is an interesting requirement in our open-source world of forks, clones, and mods/patches. The concept of "ownership" in OSS is intentionally very loose, and ensuring only the owner can upload to the app center makes sense in a brand-focused business/product point of view, but seems kind of strange from a software developer point of view.

How could an app store like this work with users trusting developers' GPG keyrings, or something similar?

FWIW CPAN works like this. A "namespace" (eg. IO::Foo) is essentially assigned to a user and only they can upload packages in this namespace. [http://www.cpan.org/modules/04pause.html#namespace]

Also it's very common in distros for maintainers to be granted only access to a list of packages, which is similar to what Ubuntu is doing here (and indeed already does). In the distro case, the maintainer is usually different from the principal developer of the program.

Note that it's more like the concept of a 'team' or 'project' rather than a single owner. Anyone endorsed by the team who creates the app (where a team can be a single person) can upload new versions.
All open source projects have a list of committers and a maintainer or few. Ubuntu's system respects that. Do you want me uploading a "new version" of something you wrote? Who am I? I am some evil hacker.