News


News

Showing articles from http://planet.mozilla.org/rss20.xml External_link

[7274 total ]
Robert Helmer: OS as platform

I’ve been thinking a lot about the role of operating systems lately. Why is there no operating system vendor that focuses on being a platform for applications, rather than trying to compete directly in the application space?

Maybe this is ... [More] a naive question, but it really makes application developer’s lives a huge pain to have to compete with platform vendors all the time, and it’s surprising to me that the market puts up with it. It also brings up the whole “core competency” argument, can one company really do two fairly specialized things well?

These are who I consider to be the top-tier OS vendors:

Microsoft Windows
Apple Mac OS X
Ubuntu Linux

Why don’t any of them provide just the base OS gotta-have applications (editor, email, web), and give the ISVs the ability to:

register new applications in a central catalog
deliver updates to specific applications
send crash data back to the vendor

This would allow the OS vendor to focus on the core OS functionality, and provide means to the users to select applications that suited their needs (shipping preinstalled with the top editor, email and web clients, of course). Having formal reviewers as well as user ratings would be a great way to promote good and trustworthy applications.

I don’t anticipate any of these top-tier OS vendors focusing on this space, although for different reasons.

Microsoft is particularly adept at watching application vendor’s innovations and making functional facsimiles (some say “Worse is Better” versions). For example “Word Perfect”, “Lotus 123″, and “Netscape”. Once they’ve decided to commit serious developer time though they tend to slowly overwhelm and overtake the slice of the market that they target. I think that the convenience of a single vendor is what people like, and I guess dominating the stack is one way to control the pipeline.

Prior to OS X, Apple seemed to avoid this (with the notable exception of Claris) but since has embarked on Office competitors, and it’s own web browser (Safari/WebKit). Maybe this is a copy out of the Windows playbook, but it seems just as likely that it’s a bid to control the full user experience, which is very Apple.

Ubuntu comes closest to my ideal, but still insists on packaging everything themselves, and doesn’t do a 1:1 mapping for bug and crash reports. They have their own build, their own crash reporting system, etc.

Why can’t I log into an interface for each of these vendors, register my latest release, and let them handle updating the user catalog, advertising updates to existing users, and a means to funnel back crash reports?

If history is any guide, OS vendors will continue to oscillate between focusing on their core competency (providing an interface between the bare metal and the human) and trying to take over the full application stack flavor of the week. There’s just too much money and power on the table when you control the whole thing for people to leave it alone. [Less]

Myk Melez: Why I Host Projects on Mozdev

I've been using Mozdev for almost eight years, ever since it started hosting Forumzilla, my project to build a Mozilla-based web forum reader (which eventually became a Thunderbird extension and then Thunderbird's built-in feed reading ... [More] feature).

Mozdev plays the critical role in the Mozilla community of hosting Mozilla-related projects that aren't considered core enough to the Mozilla mission to host on official community infrastructure.  It's a great adjunct to AMO, which distributes many of the projects that Mozdev hosts.

Over the years, I've been happy to host a number of such projects there, including the aforementioned Forumzilla plus Bugxula (defunct), Tinderstatus, and revision control/bug tracking for the Labs project Personas.

Although there have always been alternatives, they have been unpalatable: SourceForge has a cumbersome and unfamiliar interface, and hosting on my own server would have meant doing all my own systems administration.  I use Mozdev because I want to focus on my projects, not on the infrastructure for developing them.

Over the last couple of years, Google Code has become an option.  Although it provides much less functionality than Mozdev (and limits how many projects you can create), it does have a simpler interface and a more modern revision control system.

The folks who run Mozdev (which includes me) want simplicity and modern services (without sacrificing power) for Mozdev too, and we've identified three priorities in that regard: adding Mercurial for revision control, implementing WYSIWYG content editing, and automating project creation and management.

So I'm thrilled to read Mozdev developer Doug Warner's announcement today, via a post to the project owners mailing list, that he has landed Mercurial support.  Now you can get all the goodness of Hg hosted on your behalf for any of your Mozilla-related projects.

Eight years later, I think Mozdev remains the best place to host my projects, and it's just getting better.  I can't wait to see what's next (and I have some ideas about what simple WYSIWYG editing could look like, about which more soon). [Less]

Aza Raskin: Protecting Your Email Address with CSS

It’s not often that you learn something from Spam (besides, of course, that there are an amazing number of inexplicably generous Nigerians). Yet, a number of months ago I got some spam where all of the various offers were written, surprisingly, in ... [More] pristine English: no numbers replacing letters, no images, and no misspellings. That made me sit up and take note. How had such a brazen piece of spam got through my filters? The answer, it turns out, was some CSS.

I’ll cut to the chase (hopefully the one from Blues Brothers). The same trick can be used to protect your email address in a quick-as-you-type way. For example, here’s my email address:

azspama@moremovethiszilla.com. Notice that it appears to be in normal, selectable text. However, if you copy and paste it, you’ll get the following: azspama@moremovethiszilla.com, which is decently easy for a human to fix, but difficult for a bot to correct (especially if you mix things up). How does it work? Here’s the sample code:

<style>.z{position:absolute;left:-100px;}</style>

az<span class="z">spam</span>a@mo<span class="z">
removethis</span>zill<span class="y">a.c</span>om

Effectively, this takes markup that is physically proximate and separates it visually using CSS, thus requiring a human eye to understand the semantics of the visual placement of the text. It would be difficult for a scrapper to even know that there was an email address there, let alone implement something that understands CSS well enough to throw away anything that has position:absolute, display:none, float:left, the foreground color equal to the background color, etc. The float:left, in particular, let’s you be particularly tricky, but I’ll leave for you to play with.

Using CSS to obfuscate meaning for a scrapper is a cute trick that might have some legs: you could probably use the fact that parsing CSS is hard to block bots from spamming your blog comment forms. In the end, the trick enables me to display my email address in blog posts without resorting to methods that look out of place, require Javascript, or break my train of thought. Plus, foiling spammers with a bit their own medicine brings a smile to my lips. [Less]

Eric Promislow: Tabhunter - A Firefox Extension for Tab Hoarders

First, let me get the obligatory apology for being too busy to blog.  And like George Carlin's memorable moment, it's gone[1].  Let's move on.  We've got a lot of work to do.  For one thing, work, or at least my work, has become increasingly more ... [More] web-based.  And since I never was one to write URLs on post-it notes, and I find the bookmarks manager tedious to clean up, I developed a habit of using my pile of tabs as an ever-present todo list.  It was convenient, but with 50 or 60 tabs spread over 3 or 4 windows it was getting harder to quickly find things.  Especially partially filled in bugzilla reports.

So rather than streamline my work habits (and clean off my desk while I'm at it), I took the developer's usual way out, and wrote a Mozilla extension.  It offers two main ways to navigate to any tab in any window -- either use the Tools|Tabhunter popup menu, or try out the Tabhunter Panel, where you can type a substring (actually a JavaScript regex), and it will show all tabs with matching URLs or title fields.  So now I can easily switch between bug reports I'm working on, plow (ActiveState's source code search engine), mxr (Mozilla's), "^att" to see the attachments I'm currently working on, and any other pages I'm working on.  Finally I don't have to close any tab before its time has come.

Just like building freeways temporarily reduces congestion, only to see an increase in total vehicle usage, I now typically have 100-120 tabs loaded these days, as opposed to the 50 or so I was struggling with a short month ago.  And it's a snap to find the tab I need.  Yes, you probably want to have a decent amount of RAM to really take advantage of this one.  My FF3 sessions tend to run at 300-350 Megs, which these days couldn't cost much more than a pack of post-it notes.

I submitted Tabhunter a week ago to addons.mozilla.org, but it doesn't seem to have gone live yet.  But you can get a sneak-preview at  http://code.google.com/p/tabhunter/downloads/list (at version 0.6.0 right now).  Unfortunately code.google.com doesn't serve XPI files as Mozilla extensions, so you'll need to save it and open it in Firefox manually, and do the usual extension song-and-dance.  Tested with Firefoxes 2 and 3 on the big three platforms, and just for fun, Flock 1.2.1 on Vista.  Mozilla rocks.

If any of you are wondering why my side projects always seem to pay homage to pop-culture folks, well, hi David. Once I had the concept down, the name quickly followed, and I couldn't resist passing up the chance to write something with that name.  That it turned out to be useful, at least for me, is icing on the cake.  For the rest of you wondering what I'm talking about, Tab Hunter (or as I prefer to word it to avoid any confusion, "Tab Space Hunter") was an actor and singer in the late 50s and early 60s.  Apparently he was king of the B movie, and his dual career was most likely cut short by the combination of the British Invasion and the American desire for better films.  John Waters fittingly resurrected his career in Polyester around 1980.  You all know how to google and wikipedal for more info.

I'm reminded of a more recent film: There Will Be Bugs.  Please report them to http://code.google.com/p/tabhunter/issues/list.  In particular, I'd love a better icon, especially one that combines elements of hunting crossbar scopes and that early-1960s look with champagne glasses and pastel colors.

[1] Apparently NBC reran the very first SNL episode after Carlin's passing. I still remember one of his routines, where he tried out a you-had-to-be-there-and-stoned piece on the momentariness of moments.  But in that same routine there was that classic line about how everyone on the road is either an idiot or a maniac--and isn't it amazing with all the idiots and maniacs out there, things work pretty well? [Less]

Robert O'Callahan: Using Arbitrary Elements As Paint Servers

The latest feature in my bling branch is the ability to use any element as a paint-server CSS background for another element.

There are a few motivations for this feature. Probably the biggest usage of the canvas "drawWindow" API extension ... [More] in Mozilla is to create thumbnails of Web content. The problem is, drawWindow necessarily creates "snapshot" thumbnails. Wouldn't it be cooler if there was an easy way to create live thumbnails --- essentially, extra live viewports into Web content? Now there is. It should be pretty easy to add this to S5 to get slide thumbnails, for example.

Another feature that's popular these days is reflections. With element-as-background, plus a small dose of transforms and masks, reflections are easy. A while ago Hyatt introduced a feature in Webkit to use a <canvas> as a CSS background; that falls out as a special case of element-as-background.

So here's an example:

And here's the markup:

<!DOCTYPE HTML>
<html>
<head>
<style>
p { background:url(#d); }
</style>
</head>
<body style="background:yellow;">
<p style="width:60%; border:1px solid black; margin-left:100px;">
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum."
</p>
<canvas id="d" width="50" height="50"></canvas>
<script>
var d = document.getElementById("d");
var iteration = 0;
function iterate() {
iteration;
var ctx = d.getContext("2d");
ctx.save();
ctx.clearRect(0, 0, 50, 50);
ctx.translate(25,25);
ctx.rotate(Math.PI*iteration/180);
ctx.fillStyle = "lime";
ctx.fillRect(-10, -10, 20, 20);
ctx.restore();
setTimeout(iterate, 10);
}
iterate();
</script>
</body>
</html>
Unlike SVG paint servers, elements-as-backgrounds have an intrinsic size. Staying consistent with my earlier work on SVG effects for HTML, I define the intrinsic size as the bounding box of the border-boxes for the element.

As with SVG paint servers, an element-as-background is subject to all CSS background effects, including 'background-repeat' as in the example above.

Of course, the first thing any self-respecting computer scientist will think of when they read about this feature is, "can I exploit infinite recursion to create a hall-of-mirrors effect or sell exploits to gangsters?" No. We refuse to render an element-as-background if we're already in the middle of rendering the same element-as-background.

The builds I linked to in my previous post contain this feature. I've uploaded the above example and the reflection demo.

The next thing I have to do is to write up a spec proposal for all this work and get it discussed by the CSS and SVG working groups. Based on that feedback we'll figure out the best way to deliver this functionality in Gecko. Unfortunately, the approach of "make existing syntax applicable in more situations" is not amenable to using vendor prefixes to isolate experimental features. [Less]

Jane Finette: Press coverage in Europe on the Mozilla GWR result

Spain
El Mundo: http://www.elmundo.es/navegante/2008/07/03/tecnologia/1215080181.html
El Pais: http://www.elpais.com/articulo/internet/Firefox/entra/forma/oficial/Guinness/elpeputec/20080703elpepunet_2/Tes
IDG: ... [More] http://www.idg.es/pcworld/Firefox_marca_nuevo_record_al_alcanzar_el_19_por_c/doc69403.htm
Eleconmista: http://www.eleconomista.es/telecomunicaciones-tecnologia/noticias/635061/07/08/Mozilla-reclama-un-record-Guinness-por-las-descargas-de-Firefox.html
VNUNet: http://www.vnunet.es/es/vnunet/news/2008/07/03/confirmado_firefox_3_entra_en_el_guinness

UK
SlashDot: http://tech.slashdot.org/tech/08/07/03/1251206.shtml
ZDNet, UK: http://news.zdnet.co.uk/software/0,1000000121,39442162,00.htm
The Register: http://www.channelregister.co.uk/2008/07/03/firefox_3_official_world_record/
VNUNet.com: http://www.vnunet.com/vnunet/news/2220602/mozilla-claims-guinness-download
PC Pro: http://www.pcpro.co.uk/news/210150/firefox-breaks-download-record.html
WebUser: http://www.webuser.co.uk/news/262711.html
TechRadar: http://www.techradar.com/news/internet/mozilla-president-reveals-all-about-firefox-mobile–392112

Italy
AdnKronos: http://www.adnkronos.com/IGN/CyberNews/?id=1.0.2308270925
Vitadigitale: http://vitadigitale.corriere.it/2008/07/una_volpe_da_primato.html (Corriere della Sera.it)
Repubblica: http://www.repubblica.it/2007/09/sezioni/scienza_e_tecnologia/browser/record-firefox-volpe/record-firefox-volpe.html (Repubblica)
Ilsole: http://www.ilsole24ore.com/art/SoleOnLine4/Tecnologia e Business/2008/06/firefox-guinness.shtml?uuid=2f30b996-3956-11dd-8cc1-00000e251029&DocRulesView=Libero&fromSearch (Sole 24 Ore)
Iloiornale: http://www.ilgiornale.it/a.pic1?ID=273528&PRINT=S (Il Giornale)
La Stampa: http://www.lastampa.it/_web/cmstp/tmplrubriche/tecnologia/grubrica.asp?ID_blog=30&ID_articolo=4790&ID_sezione=38&sezione=News (La Stampa)

Germany
Reuters: http://de.reuters.com/article/worldNews/idDEFRO34120920080703
Heise : http://www.heise.de/newsticker/Firefox-3-Download-nun-offiziell-Weltrekord–/meldung/110377
PC-Welt : http://www.pcwelt.de/start/software_os/online/news/169446/firefox_30_darf_sich_mit_guinness_weltrekord_schmuecken/
Zdnet : http://www.zdnet.de/news/software/0,39023144,39192961,00.htm
Chip.de : http://www.chip.de/news/Geschafft-Firefox-3-im-Guinness-Buch_32143950.html
Golem.de : http://www.golem.de/0807/60813.html
Berliner Morgenpost: http://www.morgenpost.de/printarchiv/wirtschaft/article652538/Internetbrowser_Firefox_stellt_Weltrekord_fuer_Downloads_auf.html

Poland
Gazeta.pl: http://technologie.gazeta.pl/technologie/1,87232,5421430,Eksperci_Guinessa_potwierdzaja__Mozilla_ustanowila.html
Webinside.pl: http://www.webinside.pl/news/5024
Gery.pl: http://newsroom.gery.pl/notka,284919,Rekord_Guinnessa_Mozilli_juz_oficjalnie.html
Chip.pl: http://newsroom.chip.pl/news_226092.html?rss

PC Lab: http://pclab.pl/news33086.html

France:

Reuters :  Firefox revendique le record de téléchargements en 24 heures …

L’Informaticien :  Firefox 3 dans le Guiness : plus de 8 millions de téléchargements !

Vnunet :  Firefox 3 : premier logiciel à entrer dans le Guinness Book

Le Monde Informatique : Mozilla et Firefox 3 entrent officiellement au Guinness Book

Challenges.fr :  Firefox 3 a été téléchargé 8 002 530 fois en 24 heures

Record de téléchargements pour Firefox 3

Le Point.fr : Firefox revendique le record de téléchargements en 24 heures

01Net : Firefox 3 fait son entrée dans le « Guinness Book »

Internet Standard: http://www.internetstandard.pl/news/157773.html
Di.com.pl: http://di.com.pl/news/21732,0,Firefox_3_jest_rekord_Guinnessa.html

[Less]

Planet Mozilla Interns: Armen Zambrano Gasparnian: Make our nightly builds identical for each platform - part 1

The way we do nightly builds every night for Firefox 2.0.0.x and Firefox 3.0.x have few problems that will be good to have them fixed.
The build for each platform happens AFTER a determined hour BUT whenever the build slave can start it. ... [More] Therefore, the build start time is different from platform to platform. This will be even more obvious when the buildID will capture minutes and seconds. This is not a big problem but it is not a correct behavior and it would be good to have the same buildID for all 3 platforms.
The build for each platform is NOT build from the same source code. You knew it or not, this has been happening for many years. This is a big problem specially when a commit to the source code happens around the time that the nightly builds are to happen and this change might be captured by one platform and not by the others. This problem affects when you want to see if a bug introduced in one of the platforms is part of the other two platforms Things we are doing to improve this
Separating the generation of nightly builds from generating dependent builds
For years, we have generated dependent and nightly builds from the same slave running the exact same code all day. We generate nightly builds after the last dependent build that gets finished after 3AM PDT. Each platform finishes at different time and each platform checks out different source code. To be more precise a nightly build is started if 1) it is passed the $build_hour and 2) twenty four hours have passed since the last nightly build. To stop the dependt builds process to generate nightly builds we need to set $OfficialBuildMachinery to zero in the tinder-config.plUse Nightly scheduler to trigger nightly builds
Using a nightly scheduler will allow us to add more steps after an en-US nightly build like trigerring L10n repackages and/or trigger other schedulers as needed
Setting the checkout time before the build starts
If we set up the same MOZ_CO_DATE for the 3 different platforms before the build start they will check out the same source stamp no matter when the slave will start the build
Remember the checkout time
Saving the SourceStamp inside of the application.ini file will allow us to know which SourceStamp was used for that build even if the log for that build gets removed from the tinderbox logsHow would things look like after these changes?

As the image shows:
Our nightly builds will not depend on previous dependent buildsThe nightly builds will be triggered when we sayThe nightly builds will check out the same source codeFrom a binary we will know which source stamp was used to generate the build [Less]

Chris Crews: Firebot: Scheduled Downtime - Wednesday, July 9th, 2008

This Wednesday, the server that hosts firebot will be down for several hours (during the afternoon/evening EDT) for planned maintenance. This, of course, means that firebot will be offline and not available for your bug watching, tree burning, and factoid requesting pleasure. Thanks.

Robert O'Callahan: SVG Paint Servers For HTML

I've done some more work on applying SVG effects to HTML. This time I've made SVG paint servers (i.e., gradients and patterns) usable as CSS 'background' images.

Here's the markup:
<html xmlns="http://www.w3.org/1999/xhtml"
... [More] xmlns:svg="http://www.w3.org/2000/svg">
<head>
<style>
h1 { background:url(#h); }
p { background:url(#p); }
span { background:url(#h); }
</style>
</head>
<body>
<h1 style="width:95%;">Heading</h1>
<p style="width:90%; border:1px solid black; margin-left:2em;">
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum."
</p>
<div style="width:200px;">"Lorem ipsum dolor sit amet,
<span>consectetur adipisicing elit, sed do eiusmod</span>
tempor incididunt ut labore et dolore magna aliqua.</div>
<svg:svg style="height:0">
<svg:linearGradient id="h" x2="1" y2="0">
<svg:stop stop-color="yellow" offset="0"/>
<svg:stop stop-color="yellow" stop-opacity="0" offset="1"/>
</svg:linearGradient>
<svg:pattern id="p" patternUnits="userSpaceOnUse"
x="0" y="0" width="50" height="50"
viewBox="-1 -1 9 5.5" >
<svg:path d="M 0 0 L 7 0 L 3.5 7 z" fill="red" stroke="blue" opacity="0.3"/>
</svg:pattern>
</svg:svg>
</body>
</html>
This is very straightforward. The gradient or pattern is painted over the CSS "background-origin" area. All CSS background features are supported, such as "background-attachment:fixed" and "background-repeat". Backgrounds are striped over inline elements just like normal background images, as shown in the example. Repeating backgrounds can be a little confusing since the pattern or gradient is rendered to the background-origin area and then repeated according to CSS, so you can have repetition at the pattern or gradient level (including repetition in non-axis-aligned directions) then repetition of the rendered rectangle. But this won't matter much since unless the author is being tricky, the gradient or pattern will fill the background-origin area and only one tile will be visible.

"userSpaceOnUse" units in the paint server are defined to be CSS pixels with the background-origin area as the viewport. "objectBoundingBox" units are just the background-origin area.

I've pushed my changes to my public Mercurial repository and prepared try-server builds for Mac, Linux and Windows installer/Windows ZIP. I didn't update the branch to trunk so the rest of the code is a few weeks old. I've also published the above example. (As I mentioned a while ago the changes in this branch are gradually trickling into the trunk.)

These builds have another very cool feature which deserves a post of its own. Stay tuned!

Update The Linux build had a pretty bad bug in it (actually an existing bug that my code exposed). I've updated the link to point to a build that should work without displaying garbage much of the time. [Less]

Mitchell Baker: Concentric Circles of Community

I’ve come to think of Mozilla, or “the Mozilla community” as a set of concentric circles of communities. Actually, I’m thinking of Mozilla as concentric spheres of community, but I’m going to stick to circles for this post.

For me ... [More] the ability to be more precise about “community” is important in thinking about what Mozilla is, what more we might do, what the Mozilla Foundation might do, what the essence of Mozilla is that we want to be very careful about changing, and which areas we should try to go wild in and try lots and lots of new things.

I’m going to borrow a set of terms from the Wikipedia discussion of “community.” There’s some risk in this because these terms may have academic background and meanings associated with them. But I need some set of terms and this seems a better start than just making them up.

Specifically, I’m thinking of 4 concentric groups: a Community of Practice, a Community of Action, a Community of Interest and our User Community.

I’m very interested in whether people living and working Mozilla feel these distinctions describe the different communities in which you participate and with which you interact. Let me know!

Community

According to Wikipedia, the word “community” is “derived from the Latin communitas (meaning the same), which is in turn derived from communis, which means “common, public, shared by all or many.”

Community of Practice

At the heart of the Mozilla world is a set of people who share many things. We share code. We share goals. We share a set of values (the Mozilla Manifesto). We share specific means of collaboration (from Bugzilla to IRC to wikis), information repositories (source, documentation, website), a decision-making structure (module ownership), and a clear set of basic rights (the Mozilla Public License). We share activities — distributed creation and adoption of specific products that promote choice, innovation, transparency and participation in Internet life.

That’s a fair amount to share. So on my own I’d add some adjectives and describe this as a dense or cohesive community. But rather than make up adjectives I’m going to borrow the term “Community of Practice.” Wikipedia describes this as “social learning that occurs and shared sociocultural practices that emerge and evolve when people who have common goals interact as they strive towards those goals.”  I like this definition because it is not focused on a particular group or activity. We have many different types of activities that are part of this Community of Practice.

Community of Action

The next concentric circle is a set of people who take action to move the Mozilla mission forward but do so in more open-ended ways. For this set I’m adopting the term Community of Action. The people in this group may share our values, our goals, our decision-making processes for example, but develop their own ways of collaborating and their own sets of activities.

Wikipedia describes these as “structurally more open” and possessing both “some of the characteristics of communities, such as the development of a common language and mutual learning in the course of action . . .  [and] characteristics typical of more associative social relationships, such as the “voluntary” nature of association and the importance of “common goals” in directing collective activity.”

I see the boundary between this and our Communities of Practice as fluid. Sometimes these activities become so important and scale to such a size that they become more formalized. In this case some of the spontaneity may be exchanged for additional resources, scale and better integration into the core.  The long term history of localization is an example. In the early 2000’s localization of Mozilla products was extremely distributed, with many different groups working on their own. Today internationalization and localization are a fundamental aspect of the core of what we do; deep into our Community of Practice.

Community of Interest

Beyond this there’s a set of people who aren’t actively involved in creating Mozilla artifacts but are very supportive of our product or our mission. This group my not share our means of collaboration, our decision-making structure or our basic statement of rights. But they share in goals (sometimes general goals; sometimes  specific goals), in the use of the code, and they may share the activities of finding and helping others use our code.

Loosely borrowing from Wikipedia again, I’d call this the Mozilla’s Community of Interest: “A Community of interest is a community of people who share a common interest or passion. These people exchange ideas and thoughts about the given passion, but may know (or care) little about each other outside of this area.”

User Community

An ever larger circle is the set of people who use our products. Some of these people are also in earlier concentric circles. But a number are not. They use Firefox because it’s a great product that meets their needs. Maybe do not know that Firefox is created as a public benefit asset; many know little to nothing about the way Mozilla operates or the goals that motivate the Communities of Practice, Action and Interest. I’m calling this our User Community. This is not a Wikipedia term; I’ve added it because it’s important to us. This group of people gives our efforts weight and effect, helping us move the Internet towards greater openness.

All of Mozilla exists within broader contexts, such as the open source world or the Internet space, etc. That’s a lot to say there. But for now I’d like to get some shared terms for the Mozilla communities. This will help us figure out what parts of the Mozilla community we’re talking about or trying to address in different circumstances.

I’m very interested in whether these circles and the labels is useful in thinking about the Mozilla community. Any form of feedback welcome — here, email, talkback, twitter, you name it. [Less]