On Tue, Mar 10, 2015, at 06:35 AM, Antonio Manuel Amaya Calvo wrote:
> On 10/03/2015 1:23, Jonas Sicking wrote:
>> * Enable Marketplace to hand out the ability to use a particular API
to a developer, rather than to a particular version of a particular app.
> This is nice... but I believe it's ultimately futile. It works for
> well known, giant developers... I could say I trust Google, or
> Mozilla, or Facebook... but I don't think it'll work for Pop&Mom SW,
> Inc. How would Mozilla know if they should trust them and
 with what APIs?
>
> The model we have right now sucks: it's slow to deploy, it's slow to
> update, it's not similar to the rest of the web, at all (it's
> basically Apple's model on a smaller scale, in other words). But as a
> user I can be reasonably secure that whatever I install
 will use only the permissions it needs, and won't get my data and run
 with it. But just giving access to random developers, which will then
 do whatever they want with that permission is the same as opening the
 permissions to everyone, only more complicated to implement.

I think it's important to recognize that there are real limitations to
the marketplace review mechanism. I have not participated in our apps
marketplace, but I was a reviewer for addons.mozilla.org previously and
authored extensions that went through the review process (which is
documented at
https://developer.mozilla.org/en-US/Add-ons/AMO/Policy/Reviews).

Much of those reviews is about avoiding doing risky/ill-advised
things: using eval from a chrome context, remotely loading code in a
chrome context, using sync XHR which results in a nested event loop
spinning, etc. Other aspects were making sure there was no hidden
sketchy stuff (obfuscated blobs), or known sketchy stuff (third-party
monetization libraries provided to add-on authors by third-parties
that were known to violate Mozilla addons policy.) Most of these were
automatically detected.

Doing thorough code review is hard. And slow. The review queue can be a
major hassle for extension authors, especially for complicated
extensions. At some point, we are simply just trusting the developer and
the reputation they've built up with the reviewers and the users.
Recognizing that fact can be an improvement for everyone: it lessens
review-burden and lets the developers get security fixes and feature
enhancements out to their users faster.

For real-world examples in the add-ons domain, I'd cite the enigmail
Thunderbird extension
(https://addons.mozilla.org/en-US/thunderbird/addon/enigmail/) that
provides PGP support for Thunderbird and the Thunderbird Conversations
extension
(https://addons.mozilla.org/en-US/thunderbird/addon/gmail-conversation-view/)
that provides a conversation view reminiscent of the gmail experience.
These are both deeply complicated projects in their own right that
fundamentally depend on their developers' competence, intentions, and
their policies/procedures for security and correctness.

It's also possible and acceptable for us to require specific policies as
a precondition to use of this mechanism, especially for significantly
more dangerous APIs and/or where self-updating is a risk. For a web-app
example, https://whiteout.io/ has an HTML/JS/CSS based PGP mail client.
If I knew that Firefox OS would only accept an updated release of the
app (manifest) when it has been signed by 2 of the developers of the
client using their own personal private keys that are nominally kept
encrypted with a strong passphrase, that would greatly increase my
trust. (Noting that that's a pretty hard-core example.)

Andrew
_______________________________________________
dev-b2g mailing list
dev-b2g@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to