A series of blog posts has been written about how we might start to apply the idea of “Powered by Mozilla”. I’ve read posts by Slater, Tiffney, DougT, and David Boswell. These posts all came just before or after a nice lunch time conversation we had about what the term “Powered by Mozilla” actually represents. If a project used the term, what exactly did that mean? Lots of thoughts emerged, but I came away thinking that we should start by defining some easy cases where we would feel comfortable with a project using this phrase.
Building on that idea about a week ago, I invited Harvey (Mozilla’s internal legal counsel) and a few others to sit with me and Asa, where we would draw the code stack on a white board and literally start circling the aspects of that code that would have to be included if we were to encourage someone to say they were powered by Mozilla. The drawing looked something like this:
Luckily, Brendan then walked in the room and the conversation got even more focused. One point that was mentioned was that any “Powered by Mozilla” app should be, at least, Interenet-enabled and should align pretty well with Mozilla’s mission/vision. Brendan and Asa really helped drive the discussion of the code and what has to be involved to define an applicaiton.
So, I began to think about ways that we could tell if the app was Internet-enabled. I brought up the point that maybe an application powered by Mozilla has to clearly state that it uses the Gecko user agent. That’s not too hard to tell, thanks to cool applications like this that Asa forwarded to me from Henrik Gemal’s blog. With this service, you can see what user agent your browser (or Internet-enabled app) is using. Wouldn’t this be a fairly easy way to determine some good cases? This particular discussion is ongoing and I am sure more posts will surface, but I do think this is one interesting and fairly straight-forward way to find applications that could make the claim they are powered by Mozilla.


Comments (4)
Nice! There are places on mozilla sites that could use such a diagram. For example, another planet.mozilla contributor David Boswell is/was working on mozilla.org’s Projects/technologies page (http://www.mozilla.org/projects/list.html) and Mozilla App pages. Another example is http://developer.mozilla.org/en/docs/Main_Page which lists a bunch of Technologies sliced similarly to the diagram. All are slightly different, e.g. your diagram leaves out RDF and XSLT.
These efforts could use some consistency, e.g. Mozilla “projects” encompasses the Mozilla Platform but some Mozilla projects (like Thunderbird) build on the platform while others like Bugzilla are independent. Maybe, start with Firefox, “reach inside” to show the Mozilla Platform with your diagram, then step back out and show all the Powered by Mozilla projects (and maybe other Mozilla projects).
The diagram is great as is; some comments:
* It’s spelled “Breakpad Crash Reporting”
* SQLite and Cairo should be a different color, as they’re third-party (external) technologies
* I believe Thebes is a thin wrapper over Cairo, it looks big in the diagram
* Diagram seems to imply that XPCOM is built on JavaScript and/or is the layer between Content and JavaScript.
* Maybe “Layout” should have “Gecko” underneath. That’s still a popular codename, and it’s in the user agent.
* Is XPInstall in Toolkit?
* IIUC Firefox, incorporates XULRunner — you can use Firefox to run any XULRunner-based app. (Maybe that’s too subtle to diagram.)
* Somehow replace the [ ... ] box at top right with a suggestion of the wider ecosystem of non-Mozilla projects, maybe put tiny icons for Joost, Miro, Songbird, etc. in it.
Ship it! This is hard stuff, and “The best is the enemy of the good.” (Voltaire)
Cheers.
Hey skierpage, Thanks for all your thoughts on this. I’ll be sure to pass it to all the people thinking hard about the Powered by Mozilla concept. Great stuff! Thanks.
What I find difficult to understand is that on the one hand Mozilla wants to make a community with multiple projects using the same code but on the other hand other projects complain that it is so difficult to work with Mozilla code. From time to time you read about Apple/Epiphany choosing webkit because it is easier to implement and support. You read that KDE doesn’t have a browser with a gecko option because it is so difficult to do.
What is the situation here and what is Mozilla doing about it?
@Ferdinand -
I would say first of all that we are a community of thousands of people all working on a browser together. We are clearly a community. Both Apple and Epiphany are pretty similar in that they both want to build a browser as well, so they were both shopping for an easy to use framework and a community to support that instead of full fledged browser.
We’ve been pretty specific about our goal in that we’ve been targeting real human beings and solving problems for them on the web, not people who want to write their own browsers. And that has resulted in leverage for our users and has driven the web forward quite a bit over the last few years.
I would also point out that WK is not easier to support or implement. WebKit doesn’t include support for networking, disk cache or a huge pile of other things that come out of the box with your standard gecko support. There’s also no regular releases of WebKit outside of the ones that Apple does and they don’t seem to support or pre-announce those releases. So you’re on your own for support or security problems. Those add up to quite a bit of cost in terms of your ability to support an implementation on top of WebKit.
That being said, we’re looking at how to solve the problems for people who want to embed the gecko engine into their own apps. Please see the recent post I made about our new embedding efforts and the direction we’re going.
Thanks!