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.
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
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
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.
oh come on.
I know what point you are making but all that ends up being is a pissing contest and nothing real will get done.
if a developer is such a prick that refuses to submit a bugfix or patch to one of the top people of a project that have that access then his attitude and code really needs to go elsewhere.
Come on, is writing a Open source app a community development effort or is it a "you will not give me god access??? fine I'll go and fork the project!"
90% of all forks die without anyone knowing they existed, look on sourceforge, for every app that exists there are at least 60 forks that either never made it past their initial CVS commit or NEVER even had a CVS commit.
There is a reason to fork, Xfree86 was a reason to fork. But just because someone will not be granted CVS commit access is certianly not a reason.
Also, what is wrong with putting your patches on your own pages??
I use kernel patches that are not part of the main kernel tree, hell Linus would not accept the pretty boot screen for the linux kernel for years so many of us used one of the several projects that had their own patches.
Look what happened, a superior way of making the boot screen not horibly-scary to 90% of the world was born and accepted into the kernel.
People that control a project, espically a HUGE project need to say NO automatically to everything first. Because for every talented and good patch submitted, there are 30-50 piles of crap, blatent trojan attempts, and a couple of outright wrong submissions sent.
I understand your point, and I agree with you. But most fporks are not for a real reason, that is why they die without a whimper except for the pissing contest on the origional mailing list.
Do not look at laser with remaining good eye.
The only time I've ever been embarrased professional is when I was making a pitch to a long-time consulting client about using some fairly standard FOSS packages in their previously pristine Windows and SunOS environment.
:(" or some such nonsense. Great. Even better.
Presentation is going well. Price points get a big eyebrow raise. Lead-in time is great. Non-proprietary is great. All good things.
Question and answer period goes all to shit. Made the mistake of referencing "GNU/Linux". My bad. What does the G-N-U stand for? GNU is Not Unix. What's that now? Huh? Ohh.. I see. What's this other acronym? KDE? Is that like CDE, which we use now? Ohh yes, but much better. Sure, let's take a look. Client clicks around on the laptop for a few seconds.. boom boom boom.. hits a panel that reports "Not finished yet. I'm too lazy
What a disaster. I was mortified. He picked apart all kinds of the typical Linux stuff.
In the end he went to another consultant and stuck straight to Windows. It was very embarrasing.
The bottom line is that in the real world, no one cares about having the source available. The investment is very small. If Firefox dies, what, are they going to hire a programmer to keep it alive so they dont have to switch? Lets get real. Trying to pitch anything but a polished product is, well, just asking for a beating.
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.
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.