Firefox Developer on Recruitment Policy
wikinerd writes "A Firefox developer talks about the project's controversial invitation-only developer recruitment policy and explains why Firefox will never grow up."
← Back to Stories (view on slashdot.org)
mirrordot copy of the Blake Ross blog entry
As much as I agree on granting commit access to anyone worthy of it .. I absolutely do not like the XFree86 way of "We take only patches" kind of elite bastards (Linus comes close to pissing me off, but he manages to show the other side as well on a few good days).
:)
Hopefully firefox will not go into that Elitist arena which blocks out young developers...
All that said, I had to work for 3 months almost full time to get commit access on what I work on . But we've had a guy who would steam roll the patch database with useless patches and report all kinds of pedantic bugs to pester us into giving commit access (and for his notice, that doesn't get you anywhere).
A single strategy doesn't work for all types
Quidquid latine dictum sit, altum videtur
They say loudly that they are only willing to accept developers to the project that they have vetted themselves, no one need apply. And with this attitude in front of them, they drive away people who want to help but are unsure of their abilities.
Then they say that they want people to submit patches and pitch in to help develop the product. But how is anyone supposed to do that without being a member? Well, obviously you don't have to be on the team to work for the team. But who wants to work for someone that isn't going to treat them as part of the same team?
At this point, the Firefox team is pretty well entrenched and the product itself is doing fairly well (still can't parse Slash code for shit, but that's just a hurdle to be overcome soon). So for this particular project, a thorny attitude towards newbs is not going to hurt them very much.
However, the spirit of OSS (at least on the BSD side of the world) is one of openness and acceptance. Turning people away or accepting a new member only through invitation smacks of elitism. Unfortunately when you deal with human beings, you will inevitably end up dealing with some who think themselves elite and worthy of looking down upon others from the heights of their snoots.
Sure, don't invite me... FighterFax, my own personal fork, will be ready on thursday. :)
"Your superior intellect is no match for our puny weapons!"
These anecdotes are funny, but what I wonder is... Are they different from any other development project?
Every development project I worked on, the developpers included some form of easter eggs or witty comments in the code. It's human nature to have fun, and it happens in OSS and at Microsoft.
I think perhaps the only differences are 1) FireFox code gets seen by the world, whereas non-OSS comments are hidden for the most part; and 2) Quality Control usually catches stuff like the 'cookie description' in time for public consumption.
Hey, it's great that FireFox was born in a fun environment, but I think it's just human nature to make 'work' as pleasant as possible. It's great in the case of FireFox that the 'community' gets to share in the fun.
is that ANYONE can contribute to a project.
Only if the developers think you're good enough of course.
I'm a perfectionist but I'm trying to cut back.
A Firefox developer --> actually, Blake Ross (yes, we've heard of him before, and writer of the Firefox guide book)
... developer recruitment philosophy" line is.
why Firefox will never grow up --> from the article, "Firefox is growing and maturing--there's no question about it. But as long as we're around, it'll never fully grow up. So sit back, relax, and await the delicious delicacies that The Ocho will have to offer."
Website has gone down, so not sure how inflamatory the "controversial
When Firefox developers won't fix important issues that would improve browser acceptance in areas like internet cafes, kiosks etc, you have to wonder. What company wants a browser that you can't lock down?
London's finest organic fairtrade coffee
People sometimes ask why we work on Firefox for free. It gets hard to keep a straight face at "work."
Give me another project that touches the lives of millions of people worldwide and still has public codenames like "The Ocho" which get published in the media. ("The Ocho" is the name of the fictitious ESPN 8 station in Dodgeball; kudos to Ben for the flash of v1.5 naming brilliance). The best part of Firefox is that even as it's skyrocketed to the top, it's never really grown out of its humble roots as a skunkworks project that was by and large coordinated on caffeine highs at Denny's. It has, in short, never quite grown up.
Of course, it never quite dawned on us in the beginning that everything we were doing would someday be so scrutinized by the public eye. When I added "Cookies are delicious delicacies" as the tongue-in-cheek description of site cookies in our Options window, I did so because describing something so complicated in such a small space was quite frankly the last thing I wanted to worry about after rewriting the cookie manager. I didn't realize it would be archived for posterity in online encyclopedias, computer science lectures, privacy policies (for Virgin no less), magazine articles, developer documents, and even in print in an O'Reilly book called Google: The Missing Manual. I didn't realize I had singlehandedly created a cult legend that others would scramble to recreate as soon as we finally removed it right before shipping 1.0. And most of all, I never realized that one day it would inspire someone to give birth to hemp cookies. Because I assure you that had I realized any of this, I would have tried to actually create something funny. And maybe even signed my name.
This is, of course, but one case study in a project that has never taken itself seriously. What most people seemed to miss about Asa's original Firefox (then called Phoenix) roadmap was that the seemingly arbitrary milestone chart was actually a roadmap. (It does say "the trip" at top, y'know.) And if you superimposed it on top of a real map--say, around the West coast--you found that it made for a pretty clean trip from Mountain View, California to "Phoenix," Arizona. It just so happened that Netscape was based in Mountain View. It just so happened that we called it "Phoenix" because it was reborn from the ashes of a certain product. It just so happened that that product was...well, you get the picture.
Certain entrepreneurs have even tried to capitalize on Firefox's energetic demeanor. People bothered by constantly broken builds had one of two recourses depending on who broke it: violence if was me or complete public embarrassment if it was hyatt. For the young Mozilla contributor, MozillaZine offers the stylish Mozilla bib, and for his prostitute mother (or father), the thong.
Speaking of families, certain buttons began to crop up around the web urging people to download Firefox (or Firebird, as it was called then) as part of the effort to save Seth's kids. More recently, little Timmy and Jimmy Spitzer were spotted as donators to our New York Times Ad campaign. And yet, Seth claims he has no kids! Why, Seth? Why are you so ashamed?
It would be nice to claim that the silliness ends where the work begins. But it infects every part of the project, right down to our bug tracking database. Mixed among those little showstopper things like "Firefox crashes on startup" or "Firefox emailed my addressbook and attached my hard drive" are the real important issues, like Vending machine prices raised by $0.05 (as Sebastian astutely points out, that's actually not a regression but inflation), or the fact that our drag and drop code is British, or that (perhaps most famously) our core UI technology kills babies and should therefore be removed. Then there are the "oops" moments that plague every major software project: our "RSS" button looks like it says "ASS", our download manager seems to be flipping our users off, and naturally, our alternate stylesheet icon looks like the all-too-common soybean sp
This is in some ways similar to how Apache Software Foundation projects work:
l #meritocracy
http://www.apache.org/foundation/how-it-works.htm
I think it's a pretty sensible way of doing things.
Compare this with the rather more beaurocratic Debian procedure for adding new maintainers:
http://www.debian.org/devel/join/newmaint
All three are certainly different projects, that require different kinds of talent and abilities, so it's likely that what works for one may not work for the others, but I think it's instructive to compare and contrast.
As far as openness, the 'meritocracy' system works fairly well if those on the inside are inclined to add others. Nothing prevents J Random Hacker from making patches or writing code. Do that successfully for a time, and you will be invited to participate.
http://www.welton.it/davidw/
Not sure if plugins are included in this apparently elitist policy - I can't RTFA because it's slashdotted naturally.
Oh OK, thanks. See, that's why I come to Slashdot, for the educational porn.
I understand your point, being that the developers should incorporate that into the original design, but there are more than one extensions that allow the program to be able to do this. I believe this is, in part, because they are trying to keep the basic/core of the brower small and minimized, and then allowing users to select, download, and install only the extra extensions and options that they want. Why include a dozen different options like different RSS readers, stock tickers, built-in weather conditions, GMail notifier, etc. which only a minority of people will use when it will just complicate things and make the download size larger.
Keeping the file size down will not only attract those who still use dial-up, but also those who use dial-up, in most cases, have slower computers who do not have the extra RAM to spare for the extra features they don't want.
The Extensions Mirror (at http://extensionsmirror.nl/) has over 400 extensions for Firefox 1.0 compared to the 184 that Mozilla Update hosts, as well as themes and also extensions for Thunderbird.
Every extension you could probably desire for Firefox are out there; you just need to know where to look.
With the (what seems to be) ease of creating, and the popularity of extensions for Firefox, is it really the developer's responsibility to create and implement all of the features and extras that are desired, or wouldn't it be more pertinent to have the main developers focusing on the core of the browser, its security, or other related aspects and leave the rest to the enthusiastic aspiring coders out there?
Firefox is open source, so anyone can contribute. And the open-source is fully of great talents, right?
Why then, after 5 (almost 6) years, is the outline property in CSS not supported? Why is there no one able to fully implement this? Yes, I know about -moz-outline, but it's -moz-outline because they don't trust their own code enough after 5 years.
https://bugzilla.mozilla.org/show_bug.cgi?id=6647
My pet peeve is how the developers won't fix autocomplete so it does not remember credit card numbers.
It's bug 188285. Have a look if you're interested.
Given that similar policies have gone(hint: "trusted friends" is really an euphemism for something else related to where Orkut came from) on in other places in that area of the States, why is this surprising? At least somebody accurately hits the nail on the head on this kind of issue - where else do you get such arrogance that results in good code being sacrificed for California style political games, where you win by excluding the most people while presenting the best facade to the public of what you do.
Sure, there is more than a shred of validity of checking code, but when you use politics instead of quality to determine what goes in, it's not a meritocracy anymore, it's not even about the code. At that point, things like the Xorg/XFree86 split and the various BSD splits happen. Not minor code forks, but major splits.
To preempt you nuts who think nothing can be forced, fine. You just mindlessly confuse theory and practice as being the same in any situation regardless of politics, especially if it deals with places too exclusionary for their own good.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
here
If growing up means becoming bloated, taking over the operating system, and opening itself up to every h@x0r known to netdom then I hope Firefox stays young and naive.
I can't be bothered to read all this pious waffle of the article past the first few sentences but I don't need to.
Firefox's biggest problem is it's attitude which is a hand-me-down from Mozilla. It's kind of well...puke enducing and silly and not neccessary. The article starts off full of vanity and nonsense like all of the FF blogs do.
It's largely thanks to the pious chip on the shoulder and lets kill M$ atmosphere that FF whips up that makes sure it is a browser I don't much use. Ok I am a Mac guy so IE vs FF doesn't mean fa to me, and FF is pretty crap on the Mac anyway but still I honestly think FF/Mozilla should just lay off the rhetoric and offer the goods if they want to but just shut up. And stop please stop trying to force it down people's throats. I can't speak for my Windows or Linux friends but FF on a Mac is an almost meaningless product and a poor 2nd browser.
I'm sure a lot of hard work goes into Mozilla and Firefox and all that stuff but whats happened over the last year or 2 that hard work and pride in one's work has turned into a ridiculous ego trip and vanity spree for the developers and that just undermines a lot of what they think they are trying to do.
There's two basic reasons why volunteering sucks, and unfortunately, volunteering for firefox is just as bad as regular volunteering.
1. You don't get paid, that's why its called volunteering.
2. Nobody respects you. This is the worst problem, it's simple really. If an organization doesn't value your help, working for them will be much harder than if you were getting paid.
Case in point: Try to fix phone lines for a local nonprofit. I end up standing around for 30 minutes to talk to a decision maker, only to be passed by someone with no apparent contribution. If I was on the clock, they would have respected my time if not only to avoid high fees.
"And we have seen and do testify that the Father sent the Son to be the Savior of the World"
1 John 4:14
Why does the link to his blog redirect to Wikipedia?
Oh I see. The Mozilla developers are supposed to learn lessons on openness from BSD? What kind of troll are you?
..Net? Open? could not get along with Theo De Raadt. These are the same BSD's that pride themselves on its elitist policy of only accepting patches from the core group.
Did you miss the OpenBSD forking because the rest of the previous BSD team
http://www.netbsd.org/People/core.html
I humbly submit that no one needs to learn anything from the BSD process. Next time, don't make such clueless statements. On Slashdot, people who know the history of Unix are a dime a dozen.
In fact, if you knew anything about the BSD approach, you would realize that the Firefox group seems to be approaching the exact same level of arrogance. I only hope we don't end up with three pointless forks..Open Firefox anyone? The pointless infighting and forking of BSD was the reason they were hasbeens instead of competition to Linux.
Unforuntunately for social junkies, there's more to the Firefox/Mozilla story than we will ever hear. I do not by any means represent the whole mozilla community, but I know my words represent some people (or at least one person). My description of events are biased, and may be very ill-informed at some points, but I know I'm a bit more informed than the general public, so I thought I'd share.[/disclaimer]
From day one, Firefox was l33t. For many, the developers that went off on their own were impatient and unwilling to follow the rules. During the time just before (and during) the breakup, there were many questionable checkins that did not go through proper channels. At mozilla, decisions are made by the community, or at least the part of the community that has seniority in that area of the code. When a bunch of people in a code area all have relatively the same seniority, drastic changes are often met with negativity. This was especially the case with UI and the related XUL stuff. Perhaps it also has something to do with Netscape, who used to have a stranglehold on the UI, but I'm rather unclear on that aspect.
When the Firefox people split off on their own, I personally was a bit relieved to get rid of the "too good for rules" people. It certainly created a divide in the community. The lean, l33t Firefox developers were on a power orgie, doing all the changes they, for so long, wanted to do. Most of them were awesome ideas, as everyone can see by what Firefox is today. Some of the stuff has even creeped back into mozilla, after it was matured enough in Firefox, that is.
Which brings us to another issue that divided the two sides -- the Firefox team, at least at the beggining, was more of a "Do a half job, commit it to CVS, then fix it up in stages" team. I do not know what they do present day. The mozilla team is a "make sure the patch does a specific task, is correct and complete before commiting", which requires a lot more time, a lot more reviews, and a much bigger delay before the public sees your 'kewl new change/fix'. There are many projects that follow either type of philosophy. Neither is incorrect (both philosophies can and do work), but a project obviously can't follow both philosophies.
As many slashdotters love to say, the great thing about open source is that if you don't like what the developers are doing, or you don't like the developers, or you don't like the atmosphere, etc, you can take the source and make your own branch. This is exactly what Firefox did, and good for them. The difference between them and a normal 'branch-and-do-your-own-thing' is that the l33t developers were also high up mozilla developers/PR/etc. This created a unique situation where the two projects had to stick together. Even to this day, the relationship between Mozilla and Firefox is an issue to avoid discussing in public with developers (because, out of politeness, they won't talk about it).
Ever since Firefox has become popular, I hear people occasionally say, "is this the last release of mozilla?" The answer is _NO_. Mozilla is the heart of Firefox. The people who are developing for mozilla are dedicated and have no plans of leaving. For some, bitterness about the invite-only and l33t feel of Firefox only invigorates them to do more for mozilla.
Also, I see a lot of posts on this thread saying "Maybe if Firefox wasn't soo l33t with its developers, blahblah bug would be fixed, or blahblah would be supported!" You couldn't be more wrong. 99% of the time, the proper place to add/fix 'blahblah' is in Mozilla, not Firefox. If anything, you should be blaming the bureaucracy of mozilla, not the l33t Firefox developers.
If you want to call the Firefox developers 'rebels', that might be a good term too. I think of them more as 'l33t immature, arrogant developers who got tired of the bureaucracy of mozilla'. We can all be immature and arrogant on occasion, so I try not to hold it against them.
I encourage any other Firefox/Mozilla developers to clarify and/or correct what I've said.
I did.
--CmdrTaco
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
That kind of policy can ultimately, in the long run, only be a bad thing, and those who talk about the merits of a meritocracy should keep in mind that this is none. Quite the opposite: if it was a meritocracy, someone who'd contribute good code and prove to be interested in helping out and implementing/fixing things that matter to them would become a developer without any big deal being made.
In fact, I'd go so far as to say that if it really a meritocracy (or a project which really understood what free software is about), there wouldn't be such a clear distinction between developers and users, anyway. All that really can be observed HERE is a kind of "ivory tower" elitist attitude that will ultimately hinder rather than help; people seem to be afraid to actually have an open development process as soon as projects grow larger or get a larger (and, in particular, a larger non-geek) userbase, but I think Linus' success with Linux' development model shows that this is not a reasonable thing.
Ever wondered why Linux actually *is* more successful than the various BSDs, and why (for that matter) hundreds of Linux distros coexist in peace while the *BSD developers generally seem to be unable to even talk to each other? It's not just because the majority of people are more inclined to contribute to a project that not only is free but *stays* free; it's also because with Linux, when you scratch your itch, you have a good chance of it actually being picked up, used and included into their trees by others, ultimately even Linus, as long as you're willing to demonstrate you're actually willing to maintain your code for longer than a few weeks.
The Xfree86 vs. X.org schism is another good example: people used Xfree86 because there was no real alternative, but they weren't happy with it and with the fact that the developers cared so little for the users and instead chose to form an elitist club of their own, so when an alternative popped up, they started using that. Can you name a major Linux distro that still uses Xfree86 instead of X.org? There may be a few left, particularly those that are more conservative about these things (like Debian, although I haven't checked which implementation they use), but I think it's safe to say that the majority has already switched, and that this trend will only continue in the future unless the Xfree86 developers radically rethink their attitude.
As for Firefox (or Mozilla in general) again, I can't say I'm too surprised, though. They have had this attitude forever (if you ever reported a bug, you'll know what I mean; if you don't, check out bug 18574, for example), and I think it's reasonably safe to say that people are using Mozilla mostly because there's no real alternative (IE decidedly is not one, and it's windows-only, anyway; Opera is not free and has banner ads unless you pay for it, and Konqueror is integrated too much with KDE for some people's taste, not to mention that not running on windows means a good share of Mozilla users can't use it, anyway). As soon as a new, better browser project gains ground, Mozilla will find itself in the same situation that Xfree86 is in today. It may be less serious, since it's more easy to include two browsers with your distro than two X servers, but ultimately, it's adapt or die, and I think some Mozilla people (asa comes to mind, as do some others) will have to learn that the hard way.
quidquid latine dictum sit altum videtur.
Maybe it is about having fun...
If you limit the developers to people who actually like working together, and have simular ideas of how to behave and talk to other people, more can often be done than if you also invite all the socially dysfunct coders, who cannot take a rejection of patch as anything but a personal insult (or, for the true nutcase, some political game).
There are more than a couple of great coders out there with zero people skill. They can damage a project because, even though their own contributions are great, they lower the fun level and therefore productivity of everybody else.
Some of them make great solo projects...
Why exactly is this controversial? Gentoo does exactly this. Just because you have an invitation-only developer recruitment policy doesn't mean that you won't accept patches from others. With Gentoo, we receive patches all the time that make it into the distribution. That doesn't make the patch submitter a developer, but at the same time we don't deny patches simply because the person is not a developer. After the person has shown their worth, they are recruited by a more senior developer on the project and trained in proper Gentoo development policy. Why would it be controversial at all to only allow people whom have shown compitence to have write access to your CVS tree? As I've said, we receive patches from people all the time. Some of them are even first time Linux users who know little to nothing about development, but if the patch is correct, we accept it without passing judgement on the person submitting the patch. I'm not sure where the idea comes from that only accepting good patches is elitist, but how would doing anything contrary make the slightest bit of sense.
I do not think we rejected Norm Walsh because of bureaucracy. Nor we rejected RMS due to bureaucracy for that matter if you want to dig deep into Debian history.
I think it was a technical reason not completing NM process which requires rigourous packaging skill demonstration. Neither had time or interests to do that kind of technical work. (I am sure they had more interesting works for them. Many aspects of the packaging may not be interesting for upstream author. But we need to have some consistency here.)
I think we still have packages with NW and RMS as the upstream and they are helping us a lot.
I was sad to hear Norm Walsh decided not to join Debian but please do not twist the story and spread *untruth*.
NM process is the best compromise we found now. With diverse members across the world, it is not easy to make quck decision on the membership for whom we give full root access to everyone's box through packaging tools.
ciao.
I hereby move that the word "bureaucratic" be struck from /. usage because nobody can fscking spell it. Same for "ridiculous".
Hail Eris, full of mischief...
E pluribus sanguinem
EVERYONE, including the project lead, pulls source from CVS, creates patches, uploads them to Bugzilla, has them reviewed by another (trusted) team member, and then approved by the person responsible for a branch. At that point, someone with CVS access is permitted to commit them to CVS.
If you do not have CVS commit access yourself, you follow the exact same procedure as someone who does right up to the point of doing the commit itself. After having done a few of these, you just have to have someone in the project vouch for you AND SIGN AN AGREEMENT and you can get CVS commit access.
This is not a barrier at all.
"We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris."
-- LarryWall, ProgrammingPerl (1st edition), O'Reilly & Associates
In the second edition of the book (which sports not only LarryWall as author, but also Tom Christiansen and Randal L. Schwartz as co-authors), there is a glossary which has pithy definitions for each of these terms:
Laziness
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer, Also hence, this book. See also impatience and hubris. (p.609)
Impatience
The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (p.608)
Hubris
Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (p.607)
11*43+456^2
Created due to licensing, but heavily adopted due to people being fed up with XFree86.
The Cygwin folks already had to fork XFree because of the orgainization's refusal to accept patches. And Cygwin was far from being the only ones annoyed with XFree. It was just easier for distros to stick with XFree instead of maintaining their own, and causing a political mess.
The license change was merely the last straw, and was very indicative of how XFree operated. By unilaterally changing the license, then refusing to work with the people who ship their product on fixing it, they showed an even higher level of elitism than before. By this time there was a large enough group X11 developers that were doing great work, but not part of XFree (mainly Keith Packard), that the distros had somewhere else to turn.
So it was more than a simple license change I'm afraid. They kept some of the best developers doing the most innovative work outside of the group, and alienated the very people who distributed their product. Their own elitism made them completely irrelivant in the development of X11, which was supposed to be the entire purpose for XFree's existance.
It is not impossible that this could happen to Firefox too, but right now they are the main drivers in the browser market, and generally are keeping their use base happy. No reason to worry quite yet.