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."
*SLAP!*
Don't set your standards low just because the competition does. Set 'em high because you can and should.
(I've just been in the mood to slap someone lately. Nothing personal.)
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
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.
Funny how people always bitch about products when they dont have X feature, etc.. But when they include all of those nice features everyone wants they bitch about how bloated it has become..
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
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!
Well it makes sense, people want the products they use to only have the features THEY want. This is why plugins/extensions are nice. I don't believe that Firefox is bloated.
They have to be defended against violations in order to avoid becoming generic and therefore invalid, but that doesn't mean you can't license them to the general public for a variety of uses that you approve of. The trademark on "Linux" is perfectly fine, despite all of the Linux variants calling themselves "Linux", because Linus licensed it for that purpose. That doesn't mean that Sun could call their next Solaris version "Linux" with impunity, if it didn't have a Linux kernel.
Mozilla is trying to establish a trustworthy brand and identity, as you say; however, having an identity excludes potential participants, who are being identified as not part of the project. And their fear that other people's versions would reflect badly on them excludes those other people from feeling welcome.
One of the key strengths of the Linux brand is that people you trust for other reasons have a stake in it. Sure, there are people out there who release terrible versions of Linux, but you don't get it from them. There are also people out there who release versions of Linux with special features for just your problem, and that's part of what Linux is about (e.g., Intrinsyc ships a Linux version with special support for the hardware on their embedded devices; the Linux Audio Development project has a version which avoids skips when recording audio; these projects couldn't call themselves Linux if Linus managed the trademark the way Mozilla manages theirs, and it would reduce the recognition of Linux as something that can solve any problem you happen to have).
This is a real concern. The whole process of programming 'should' be egoless. The person who writes and maintains the code often feels to much ownership and instead of taking the the change in good grace and thankfulness they often approach the whole thing defensively. "The code was never intended to do that".
This is NOT a problem with Open Source development but with programmers as a whole, myself included but I try and suppress it. You have to 'give up' code that you have too much ownership in.
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.
The reason you see it in OSS more often than, say, the commercial world, is that people who piss off clients usually get fired. That sort of accountability to the consumer--mostly because consumers eventually affect the bottom-line--doesn't exist in the OSS world. We have to rely on trust and goodwill, and often people don't feel the need to follow any social rules because they're not being employed by anyone.
Like any development model, OSS has its good points and its bad points, and that is certainly a bad one.
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
I feel your pain, but I disagree with that it's acting out anger -- instead, from my experiences I feel that it's not anger but a lack of ability or experience with dealing with someone who says, either directly or indirectly, that something you made is "wrong".
One thing the FOSS paradigm has done is made it possible that people with no experience in the social aspects of software development to write code that is potentially used by millions of people. It can open up a "cowboy culture" where everyone is at odds with everyone else and where, if I may borrow a line from a certain movie, "we're all our own countries with temporary allies and enemies".
I say this with the benefit of hindsight, to be sure: I was a once a pimply, antisocial code-contributor and inlooking back on my own exchanges I see that I was as bad as it gets: if someone found a bug in what I did, instead of fixing it I would spend all my energy in combating the person who reported it because surely this person was out to get me. It wasn't until a few years later when I got a "professional" job that my boss pulled me asside one day and gave me a half-hour verbal bitch-slap that I realized that a bug report is usually someone who _wants_to_help_me_. Basically, I was too arrogant to see that, and now that I'm "old and wise" I see that same thing on others.
Of course, I'm not saying you should let them off the hook because thay don't know any better.. in fact, I'd hazard the sentement that more bitch-slapping needs to be done in the open-source world!
I don't know were I'm going with this, but that's my two cents.
Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
What features does IE have over Firefox?
RSS? PNG support? Popup blocker without a service pack? Proper CSS support? Integrated Sherlock? Tabbed browsing?
Oh wait, those are all features Firefox has that IE doesn't. About the only thing IE has that Firefox doesn't is ActiveX support, and the only good thing that has come from that is keeping me in business (people pay me to clean their computers of spyware/malware).
- 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)
Maybe they aren't doing the project "for free and open source software" but for users who want a decent browser on any platform? Mozilla aren't fighting any war for the desktop, because they make browsers, not desktops.
That seems to be their goal, so quite obviously windows is included, and the Mac. I notice you don't comment on the Mac, but that is also a closed source OS, even if it has Darwin underneath.
Your right that offering FireFox for Windows isn't going to get people to move off Windows. I've seen some people make the argument, but never seen it as being listed as a goal of the Moz and FF people. You can't call it failure if it wasn't their goal.
In fact, you seem to be against cross platform development altogether. It is hardly the only OSS software to do this (Open Office anyone?), and it is usually touted
Open source isn't some huge, unified movement dedicated to destroying Microsoft (although some individuals are). There isn't a "true open source" community, maybe you mean the free software community, which is based on the ideals of free software, rather than the more pragmatic open source community? (not that the two are mutually exclusive). Even then I'd think the point of open source is freedom, and that includes the freedom to delevop in MS Windows. The GPL and other licenses don't say you can't develop on a closed source OS.
Like freedom of speech lets people say things you don't like, including ideas that are against freedom of speech. Freedom to code lets you code for closed source systems, even if the people that came up with the idea don't like what you are coding for.
It isn't any half way measure, they are doing exactly what they want to do (and other major OSS projects do), and they are doing very well. It just isn't what you want, but you are free to go make a *nix only fork if you think it will get more support by loosing all the Windows people.
The problem is, we're talking about a browser here, not an operating system like Linux - it's far easier to persuade people to download a web-browser rather than an operating system (Linux). Maybe that will change, but right now the Mozilla/Firefox people have to worry about security and all the unscrupulous free-loaders who would attempt to use their name.
A lot of spyware vendors for example would be tempted to ship their own special 'enhanced' version of Firefox with the same branding and call it Firefox+ or something, with built in weather, clock, terrorist headcount, free desktop pictures, plus of course key logging, pop-ups and god knows what else. Just enough fluff to make it seem useful to a non-expert user, and just enough spyware to keep them happy. Then when it all comes out that it is spyware, Firefox will be tarred with the same brush.
That kind of thing is one good reason not to allow just anyone to use the brand.
Whilst I agree wholeheartedly with your comment (I'm an Opera user myself, under Linux and windows) and I was quite surprised you weren't modded into obliviion by some of the seemingly anti-Opera /. members, remember that Opera makes most of their money from the embedded market, especially mobile phones and PDA's. Hence there's an awful lot of incentive to get the browser to be as lightweight as possible. Similarly, alot of Opera's innovations have been related to making a browser useful with limited screen size (tabs, small screen rendering) and navigation tools (gestures, incredibly extensive shortcuts).
Conversely, FF's main aim was to develop a leaner browser than the Moz suite whilst still maintaining a Moz/Opera-like level of functionality. Now that the browser is more-or-less set in stone, expect to see alot of work being done in the smaller/faster areas. Especially with the up-and-coming Gecko-powered embedded browser that's being worked on.
Moderation Total: -1 Troll, +3 Goat
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.