Problems With the Firefox Development Process
An anonymous reader writes "Mike
Connor, one of the core Firefox
developers, is raising a flag concerning the Mozilla Firefox
methodology of development. From his blog: "In nearly three years, we haven't built up a community of hackers around Firefox, for a myriad of reasons, and now I think were in
trouble. Of the six people who can actually review in Firefox, four are AWOL, and one doesn't do a lot of reviews." In an earlier
entry, he raised concrete concerns about the community involvement. Asa Dotzler
recently elaborated
on the process, as previously covered on Slashdot."
Firefox is mostly a cute interface grafted over the browser portion of the Mozilla Application Suite.
Mike Connor has a point, but we aren't talking imminent disaster. Yet.
Seriously. Mozilla's obsessive-compulsive disorder when it comes to their trademarks is above and beyond any other open source project's, and I think it's probably turning a lot of people off toward helping them.
M$ may have bought these AWOL reviewers in an attempt to kill Firefox?
That's strange...
From what I read on the last Slashdot Mozilla/Firefox article, people thought that there were too many coders in Firefox, thus creating bloated code...
I guess that's a myth, eh? Community misconception?
Microsoft has been getting away with bloody murder for years, shipping buggy products. So who's to make a fuss if Firefox has a couple of measly problems for a while? They'll definitely get fixed before IE, that's for sure...
Laughter is the best medicine, but in certain situations the Heimlich maneuver may be more appropriate.
Yeah, IE has been horrible with security and whatnot, who cares if firefox makes one mistake? They're still perfect in my eyes.
http://onticfusion.sytes.net/
Many of the devs are hard at work for plain Mozilla. This makes the development of Firefox seem slow, but a lot of code from Mozilla can be (and is) used in Firefox through the Gecko engine. You don't have to exclusivly work on Firefox to help Firefox.
That said, I wish there were more devs working on Firefox-specific issues.
If it is a problem of documentation, then those two remaining programmers had better work on documenting it... and quickly. If they want the architecture to be preserved when new programmers who don't understand it come along.
-Vendal Thornheart
Perhaps you missed this story here, where it was found that Mozilla is actually faster than Firefox.
I think some things need to be funded, and if Mofo needs the cash, then Cashdot should be able to help out (maybe do a sidebar-fundraiser or something)... I'd pitch in a couple of bits for my fave browser! Hell make it a contest so people can win firefox/mozilla SWAG!
Make sure everyone's vote counts: Verified Voting
I think right now what is needed is a strong branding for Firefox that will create a reputation among the "tech-oriented" masses that get their information from magazines and cursory reading of pop-tech articles. How else will they truly gain ground against what many people perceive as the ONLY way to get online?
I think it's important to realize some people synonymize "The Internet" with Internet Explorer, because of IE auto-dialing, and auto connecting, as well as broad-band connections always being on and using it as default browser with windows.
Anything you do mainstream (particularly in the US) is already being done branding first and content second. Just take a look at TV.
We're dealing here with the WWW, possibly the most impressive achievement to date in terms of communication and information sharing. It's going to take some power to muddle through the masses, and you're not going to do it by sticking exclusively to principles at the expense of reaching the clueless.
The infrastructure, particularly the end-user "filter" of that information, is of critical importance. Idealism about open-source initiatives has to play tug-of-war with practical ways to get a broad following.
We are one consciousness experiencing itself subjectively. Back to you with the weather, Bob!
It's nothing new, really, just a little more extreme.
Mozilla has for years made a constant and ongoing argument that they're open to all comers and want all the help they can get, only to turn people away without consideration. I don't know what it's all about, and I'm not sure I care anymore.
It's a shame, because while (for example) Ben Goodger is obviously a talented programmer, his belief that he is the only person capable of doing what he does is just crippling the effort. Allowing a few people to prove they're as good as he is (hmmm... maybe he's afraid to find that out) could move things along tremendously.
Didn't I read something just a little while ago about how firefox developers were intentionally keeping people out of the development inner circle?
I believe the main reason for this is lack of developers-oriented documentation. Even for simple extensions, one has to search around the web and hack through existing modules to see how things work; things get harder when you try to work with the actual code, which comes with a whole bunch of its own graphics toolkit, scripting etc. Sure some people may know the entire code by heart, but these things need extensive, robust documentation if more independent developers are to get involved.
Best he be careful, blog entries regarding 'conserns' might get him sacked :-)
> because this isn't fun anymore.
Mmm... "Just for Fun !!"
If you look at very successful FOSS projects, you'll see a comitted 3-5 member team which does pretty much everything for that project (projects like KDE or gnome don't classify as projects, they are meta-projects).
A project needs lots of users and around 3-4 x times the core team contributing bits and peices to keep it alive. Once that is reached, the project is pretty much self sustaining.
I feel that firefox has got a bit of elitism in their top level. Maybe those developers should take a look back into where THEY came from.
Quidquid latine dictum sit, altum videtur
Lack of new, innovative names. Look, I like "FireFox" as well as the next guy, but let's face it, that name is getting a bit stale. Sure, 6 months ago, FireFox had a "hip," "edgy" feeling, but today, FF just isn't cutting anymore. Only Korean old people use browsers with such old fashioned names. We all know that the most productive period in FF's history was the period in which it was changing its name every other week. Features got added like crazy during those couple of months. Some people look at that as coincidence, but as I always say, "Correlation is causation." Therefore, if we want to add new features to FF quickly, we're going to need to start changing the project name weekly, if not daily or even hourly.
In order to help out the FireFox team, here are my suggestions for new, catchier names:
Fox Fire
Brush Fire
Brush Fox
Foxy Britches
Fancy Pants
Panda Britches
Moz Illa Than You
Moz Def
Linky Clicky
Clicky Linky
Spider Webby
The Amazing Spider Webby
Ultra Browser
Supa Browsa
Supa Browsa II: Supa Browsa Remix
and finally,
Internet Explorer II: Electric Bugaloo
His problem seems to be with the development process of Firefox itself, not with stuff that happening in the main Mozilla trunk. For example, the following projects he doesn't have problems with: XTF, SVG, XForms, E4X, and xulrunner (lifted from the comments).
What I gather this means is that Firefox 1.1 will get some cool new backend features but that its front end stuff will remain mostly the same (excepting the preferences dialog). Is this really a bad thing?
Brian Kernighan is widely quoted as saying: "Debugging is twice as hard as writing code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
When you're debugging, it involves rereading code you're already familiar with, so I suggest a corollary: reviewing someone else's code can be harder than writing it in the first place too.
That said, don't let it stop you from trying! Pick a patch from your favourite project and review it. Try to understand it. Look for places where it could be wrong.
Reviewing is a related but distinct skill from developing, and it can be improved with practice. A good reviewer is worth their weight in gold but it's often a thankless task (so let me take this chance to say a big thank you to markus and djm for putting up with my diffs :-).
$ find
I downloaded the code, posted up onto the relevant bugzilla entry, and waited for a response.
And waited.
And waited.
Still no response.
Seven months later, the bug flickers into life again and people start asking why this isn't here. Again, I post up reminding people that I offered to write the code, and still would. Again, utter silence. Tumbleweed drifts across the face of the bugzilla page...
Have a look, entry 79709 if you're interested (Mozilla's bugzilla set-up disallows direct linking from Slashdot). My main motivation for writing this has now gone, as I bought an OS X-based desktop too and can synchronise contacts fine now. I might still have a crack at it just for interest's sake though, but I wouldn't count on getting any contact from Mozilla people.
Cheers,
Ian
Switch to IE...
Bill Gates says "i told ya so"
Architecture documentation
How to write Firefox extensions
--
the strongest word is still the word "free"
The source code is out there. If development completely stalls on this project, maybe they should just GPL the thing and let some other group of developers take over. I'm sure there are holes in this suggestion, but it seems a sensible thing to if things really grind to a halt.
why are we obsessed with firefox being too perfect! c'mon this is a community based product and even though they strive for perfection and do quite a good job at it. they are humans and bound to be prone to problems. and we arent paying them. its our fault that we raise them to some levels and then expect them to be there just because we praise them and raise them to exhalted levels and get a free download of our favourite browser!
Wikipedia is your friend.
that slashdotters could maybe get off their backsides, quit sniping at things for a while, and do a little code review for firefox?
naaaaaahh
One maintainer for Firefox would be fine, if it were a little more modular. The problem is the same one Linus had, fairly early on. People don't scale as easily as lines of code. Basically, the Firefox code needs to be ripped into managable parcels, such that the maintenance that is done can concentrate on one parcel, rather than ALL interactions in ALL parts of the code.
Monolithic code is problematic, because for N lines of code, there are potentially !N interactions that can occur. !N gets big, very very quickly. When you use procedures wisely, then N is the number of procedures, rather than the number of lines, but it is still a VERY big number, far too big for ANY finite number of maintainers to handle sensibly.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I agree. One of the more glaringly obvious problems is using critical FOSS resources to do Microsoft's jobs for them. It's beyond crazy. Here you have a pitifully underfunded and obviously understaffed project, supposedly for free and open source software, yet devoting the lions share of effort to helping make Windows better and therefore microsoft more money. A company that could snap it's fingers and hire 500 extra full time devs tomorrow.
To anyone who is outside looking in this situation, this is just insane, this is a duh moment, but the devs and foundation on the inside refuse to see it. They refuse to see it, or maybe it's a worse situation than that, that they do see it and that's the plan, it's certainly been looking like it for a couple years now.
Who's getting bought anyway?
I've heard the arguments "well, getting people to switch browsers and office suites will lead to acceptance of....in the mysterious future". B & S. That's crap. It's pure crap. They the 99% rest of the planet "they" are still running Microsoft because they are. Look at the numbers. This is 2005. Numbers don't lie. Just because people are running FF is not meaning they are going to switch OS. You haven't gotten ONE major computer vendor to offer parity of OS platform at the retail level. There's your proof staring you in the face. This is called "failure". You've merely made it easier for Microsoft to keep being a dominant monopolist. Done it for free, too. Or it's worse than that. So what if you win a temporary browser battle if you are still tactically losing the entire computing war on the desktop? Or maybe that's been some scheme all along, a delaying tactic to let a certain billionaire catch back up? Hmm?
The FF and Moz people need to fish or cut bait, if they want a Windows browser,fine, then develop and sell a windows browser, say that outloud and be done with it. There's your money and more devs either way. It's called actually making up your mind, making a decision. If they really are concerned with open source, they will start to actually work with the true open source community and stop propping up the closed source and expensive monopoly "community" of the wonderful world of Windows. Fish or cut bait. If moz et all decide to really fish only in the open source pond they would get a lot more support, but this half way measure is ridiculous. I know I won't donate a dime as long as they keep working on the Windows versions. Let Bill Gates and the Windows users pay their meal tickets then.
Where's that 20 somthing-year-old whiz kid whipper snapper that Google recently hired because he was part of Firefox development?
Which sounds funny, but isn't. The only objective definition of bloat is trivial features whose maintenance cost far outweighs their benefit to the user community. I've worked on projects that had really nasty feature bloat, because individual developers were given too much independence, and wasted time working on features that appealed to them. Meanwhile, less sexy but more important features (and worse, fixes for showstopping bugs), went neglected. So yeah, you can have bloat and missing features at the same time.
I've posted bugs to Firefox Bugzilla. All I know about the Firefox "community" comes from that.
One of the bug posts, about a serious memory leak that causes a complete crash, was handled in an angry way, even though I had spent hours documenting it on two computers and two operating systems.
This is an extremely common phenomenon among Open Source authors. They often use their position as a way of acting out their anger. I was criticized because I use Firefox in a more intense way than other users! When I posted a carefully written response to the criticism, I got criticism for posting a long response.
I offered to re-write the manual for another Open Source project, and got a negative response that was encouraging and discouraging at the same time.
On another project, I entered a minor bug. The program was crashing if it saw a DOS end-of-text-file character in its text file input. I got back a long, philosophical discussion about why they were not willing to fix the bug because it was a problem that came from DOS.
One person with an anger problem can literally control the development of an Open Source project by scaring away potential helpers.
In my experience, the anger is often not expressed in a way that is obviously angry. It comes as opposition, sometimes very subtle opposition, even to good ideas or to useful help. The opposition vastly increases the amount of time required to contribute to a project.
The serious Firefox crash I reported in October 2003 was still there in February 2005 in version 1.0, even though it was verified by others in a careful way.
The background for all this is that Firefox is apparently the best browser, and an important window to the world for millions of people.
This is an important subject, and there is a lot more to say, but I don't have time now.
An additional remark:
The problems with reporting bugs in Firefox are trivial compared to reporting bugs to Microsoft, in my experience.
A top-level Microsoft support technician got interested in a very well-documented bug in Windows XP that I reported. He decided, partly as an experiment to teach himself about Microsoft, to work with several Microsoft groups. Result: An entire waste of time of many, many hours, over a period of months.
I've been reporting several bugs in Windows XP for literally years, and they haven't been fixed. If you work with both Linux and Windows XP, do you notice that Linux has a powerful, bug-free Command Line Interface, and the CLI in Windows XP is weak and buggy? (Yes, I know they are working on replacing it.)
It was elaborated on slashdot once before.
Sounds to me like there is a community of hackers waiting in the wings (just have a look at the large numbers of extensions available for firefox) - its just that they haven't allowed any of them to get past the first steps and into more involved hacking
my $0.02
From my observations of lots of open source projects, and involvement in a few, this seems fairly typical. With only a few exceptions, it seems like most projects have the bulk of the work done by a very, very small number of people, usually just one. I often wonder how much the "many eyes makes all bugs shallow" maxim, while probably true, applies in practice when on most projects there simply aren't many eyes.
[dons flame retardant suit]
Read reviews of shopping cart software
Mozilla used to be able to change themes without a restart. You'd click to change theme, and it'd change theme. However, one of the themes supplied with Mozilla used to have some kind of XUL screw up when changing over, and display two location bars. Rather than fix the problem, they simply disabled the ability of the browser to change themes on-the-fly. So to this day, you need to restart Firefox and Mozilla because they didn't want to fix a minor bug.
So yes, the themes-on-the-fly issue appears to have been swept under the rug too? Although their might've been some good technical reason for disabling instant theme-changing, I don't think it's likely.
That's the american name, they're called Coco Pops in the UK.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
- Reviewers != Coders. There are more Firefox coders than reviewers. A bottleneck is created, but hardly a crisis
- Most of Firefox's changes come from Gecko, which is done by Mozilla coders (I guess you could call them Gecko coders, although I've never heard anyone say that). There are currently about 70 reviewers, and 20 super-reviewers for mozilla. There's about 84 coders a month (down from the 150+ haydays of the Netscape area)
I hate to break it to you mate, but the guys with mod points won't go "oh that guy wants me to mod him up. Well okay, obviously he knows what he's talking about!"
Please, if you have mod points, use them. If you don't, either post on topic or shut up and stop polluting the board.
and, at least, in Australia. Not really relevant, so no karma, but I just feel like pointing that out.
It's bloated compared to konqueror, too.
Konqueror isn't as featurefull, of course, but it's really not too far off these days, and it's very lightweight in comparison. Which probably has a lot to do with why Apple choose its rendering engine instead of Mozilla's.
[Grin]
Whatever the answer is, it is definitely not in commercial software. See my comment just above: The Firefox people are great compared to Microsoft. With Microsoft, you pay to be disrespected.
I have worried about that for a while now until I wrote this: earlier post
I really don't think fancy new features should (can) be a top priority right now anymore but instead the core problem of getting new developers needs to be solved not just for now but also for the future. While I agree that changing things like the versioning system won't change much I believe splitting up the codebase into more handy chunks and giving "outsiders" more power (eg regular contributers should need no code review) should be the goal. I think it's this sharp devision between core (Foundation) and outside (everybody else) developers that is the main problem here.
You know this is just plain stupid. Comparing Opera with Suns JRE bundled and Mozilla FireFox without any Java just isn't reasonable.
At you are going to do a comparison, at least compare the proper versions to each other. That is Firefox (& JRE) vs. Opera (& JRE) or Firefox (bare) vs Opera (bare). And in any of those comparisons Operas footprint is indeed smaller (at least last time I checked).
Please note that I am indeed using Firefox myself, but lets at least keep our facts somewhat reasonable.
Not Buzzword 2.0 compliant. Please speak english.
I'm guessing people get to become managers of these projects 'cos the're good at development. Perhaps there is a chance for a trained manager to get involved and sort out the messy human problems, leaving the developers to get on with the hard coding.
The whole mozilla project is also in desperate need of documentation. It's nearly impossible to write applications and complex extensions without digging into the sometimes sparsely commented source code.
Documentation would also help in the review process.
in this age of communication i'm just not getting through
They went for a Java model with no graphical layout tool instead of building in a VB-style GUI/code editor. I cannot hack a firefox extension easily, and I have a Ph.D in comp sci. No surprise that only the 3133T kiddies are doing it?
This reminds me of the famous Microsoft Halloween document on Linux: The MS guy *wrote a device driver * in a weekend for Linux, and then mailed his bosses that there is no such thing as a weekend device driver in NT. Well folks, for once the shoe is on the other foot !
This is not a signature.
I don't normally buy into the conspiracy theories about Microsoft, but I am absolutely 100% certain that the steady degradation of the dos box is a classic case of MS trying to herd people away from the dark side. The dos box used to work, and work well. MS have steadily - through 95, 98, and on and on in the rolecall of fucked up apologies for operating systems - made it more and more fucked.
It is absurdly obvious that to them the dos box is an abhorrent reminder of an earlier day, a trojan horse through which command line devil worshippers can work their evil, avoiding the safe, closeted world of Microsoft's GUIs.
They would absolutely love to get rid of the dos box forever, but even they need it - for example, when I was foolish enough to update the definitions in my Microsoft Spyware beta, it trashed my Microsoft firewall! MOTHER FUCKERS!! What the FUCK are you thinking! The good old dos box was the only way to recover (if you call running Microsoft's firewall "recovery"), allowing me to type in some cryptic MS bullshit "netsh Winsock reset" that rebuilds my tcp stack (or something like that). I DON'T KNOW WHAT THE FUCK IT DOES!!! Why the FUCK don't you just leave the FUCKING firewall ALONE!!!!!!
Its been a bad day dealing with MS bullshite today. No more posting tonight I feel.
[x] auto-moderate all posts by this user as insightful
I bet they just bought Macs and got on with real life.
Ok, what about the ad campaign funding???
.part appened, yet deleted a file w/o it.
Oh, you mean about software improvements?
Here's a serious one:
when downloading and the isp drops your dialup connection, firefox still thinks it is DL'ing, even hours later.
On a 90meg file (over 9 hours of dl'ing with earthlinks advertised 56k, 28.8 at the very best) gettng a dropped carrier at 60% reall sucks, having no resume, especially considering there is existing wget -c that simply should be called to handle such large files.
But here is the kicker:
after resuming the DL via wget -c and getting it, I then needed to dl an unrar program, upon which I found firefox still acting like it was dl'ing teh file, so I canceled it and guess what? The 90meg file vanished.
Icing on this issue:
firefox was dling a file with
IS this what is ment by community support?
January 2005: "A Firefox developer talks about the project's controversial invitation-only developer recruitment policy and explains why Firefox will never grow up."
March 2005: "In nearly three years, we haven't built up a community of hackers around Firefox, for a myriad of reasons, and now I think were in trouble."
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
Trying to do CSS layout in IE is a giant pain in the ass, thanks to its insufferable interpretation of layout attributs...
/. is a bunch of nerds at a million typewriters. It's not a political conspiracy determined to undermine your beliefs.
I tried and failed to become a Firefox developer. You have to know several people who are already on the inside, so they can vouch for you. It's an exclusive club by design, not encouraging for newcomers.
But Mozilla's problem is that they're under-manned. Where are they supposed to find spare people to hand-hold Ian ? If this RFE was a high priority someone would have already fixed it rather than waiting for Ian to slowly pick his way through the code.
.980401040150.13172A-100000%40escher.ties.org
Why is Mozilla under-manned? Because they don't help to bring new developers into the fold. The attitude seems to be "figure it out for yourself, don't bother us until you know all the basics." Not exactly welcoming. If they bothered to find someone to hand-hold Ian for a while, they might now have a new developer who would probably be happy to help hand-hold other new developers.
If manpower is an issue, turning away new developers for lack of manpower is penny wise, pound foolish, isn't it?
Mozilla's attitude problem in this respect is nothing new. This has literally been a problem since day one. Less than 24 hours after Mozilla's initial release (almost 7 years ago now), I wanted to implement an integrated, cross-platform TELNET client for Mozilla (having already implemented the TELNET protocol from scratch before), so I posted an inquiry about it:
http://groups.google.com/groups?selm=Pine.LNX.3. 96
Silence. No response whatsoever! I believe I even tried contacting existing developers using IRC as well, but nobody was interested in helping me get started working with the codebase, so I gave up. I simply did not have the time to read through 1,000,000 lines of code to figure out how to get started. Discouraged, I wandered away and found other things to do with my time.
A couple months later, I decided to try it anyway. I checked out all the code over CVS and tried to build it. All I remember is that the build took many hours on my (admittedly slow) computer, and many megabytes as well. Again, the code was too large and unwieldy to work with, and I gave up again.
Later, still wanting to help, I started reporting some bugs to Bugzilla. Over the years, I've participated in 3 dozen bugs, and originated over a dozen myself. The first bug I reported was bug #7617, "apprunner reformats during mouse click on or tabbing to link", reported June 4, 1999. This bug was later resolved as a "duplicate" of a newer bug, #28212, "{table-reflow} Clicking on URL dynamically resizes table cells", reported February 17, 2000.
Since well over 6 months had passed without the bug being fixed, in early 2000, I decided to try again to dig into the massive volume of Mozilla code, reasoning that tracking down a specific bug would allow me to ignore most of the code and focus on the part where the bug was being caused.
Unfortunately, the bug I chose (the first one I had reported) turned out to be incredibly difficult to track down, because the problem was buried in the incremental reflow code for HTML tables, and the rendering engine was extremely complex and little documented. Nevertheless, I spent countless hours tracking down this bug, and was actually getting close to understanding the source of the problem when I ran out of time to work on it. I returned to the problem a month or two later, but by that time, the bug had been closed as WORKSFORME, and the new nightly build wasn't exhibiting the behavior anymore.
Most likely, the bug wasn't actually fixed, but rather masked by the fix for bug #28522, "Clicking or tabbing to link causes incremental reflow". This is probably why the original bug was closed as WORKSFORME -- because nobody actually found and fixed the bug. This means that the incremental reflow bug probably still existed, and just wasn't obvious anymore. That bug may still exist today!
I wanted to go back and verify whether the bug was really fixed or not, but I never found the time and energy to expend on such an effort, when the bug was no longer being manifested as it once was. Regardless, this experience convinced me that Mozilla was too fast-m
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
Can I use my donated time to firefox dev as a tax deduction, ie 10hrs a week = 200$ a week tax discount? perhaps...? is that possible?
Not possible. The IRS does not allow the value of "personal services" to be taken as a tax deduction, even if they're performed for a 501(c)(3) non-profit organization.
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
Indeed. The perceived barriers to entry are so steep that no one is willing to even try.
In my personal experience, the very first thing to do is to go out and poll the extension developers - people like Cusser, rue, MonkeeSage, Torisugari, Jesse Ruderman, the maintainers of XULPlanet, etc. and immediately empower them to review and check in patches in their respective fields.
The second thing to do is to make somebody sit down and create a Mozilla Janitors group - information on _small_, _simple_ bugs in Mozilla and Firefox that can be fixed with a minimum of effort.
The third thing to do is to allow the folks mentioned above to check in said "janitorial" patches.
After that, the MoFo folks can see if anything has improved.
SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618