Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Mozilla Dev Team On Firefox's Success

Posted by kdawson on Sun May 25, 2008 09:38 PM
from the include-and-reveal dept.
Titus Germanicus writes "If you're thinking about open sourcing a project in the near future, Mozilla might be the perfect blueprint to follow. At last week's Mesh 2008 conference in Canada, Mike Shaver, chief technology evangelist and founding member at Mozilla, and John Resig, a JavaScript evangelist at Mozilla — two of the key figures behind the success of Mozilla's Firefox Web browser — listed inclusivity and transparency as two of the top cornerstones of any community-built project. Shaver said in this interview that because the Web is intended for everybody, the level same openness should be shared with Firefox's open source contributors."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Tacvek (948259) on Sunday May 25 2008, @09:44PM (#23540363) Journal

    The original Netscape code was abandoned in favor of a complete rewrite. Eventually the main product was considered so bloated that a lightweight version was needed. Eventually the main product was dropped in favor of the lightweight system, which had to have not one but two name changes, and is now fairly widely considered bloated, despite its original goal.

    I'd say that while Mozilla has done quite well overall, it could hardly be considered a good blueprint to follow.

    • It's a great blueprint to follow. The original scrapping of the Netscape code was a necessary first step in clearing out years of cruft, allowing the developers a clean slate to work from as they developed a great competing browser platform. They kept a lot of the good ideas from the Netscape era, with a focus on standards and community feedback.

      A lot of products go through this cycle. The big deal isn't "oh my God, we have to do a rewrite"; this is expected every now and again and needs and technologies change. The important part is the process; how things like a major rewrite are managed. People make the difference, not code.
      • by Merusdraconis (730732) on Sunday May 25 2008, @11:20PM (#23540833) Homepage
        I fail to see how scrapping bugfixes and a perfectly functional framework is considered 'cruft'. Sure, they got a lot of bugs, in the same sort of way that a nuclear explosion is bound to kill a few bad guys somewhere. They also killed a lot of stuff that was perfectly salvageable and they'd have to rewrite, and the only reason Firefox 'caught up' is because IE simply didn't going anywhere for five years.

        The Netscape code was a perfect example of how to mismanage a rewrite operation.
        • Not to mention that they seem to be taking credit for what was originally a fork. FF wasn't even a Mozilla project. the use of the name Phoenix was implying that Mozilla was dead and there was a new browser rising from the ashes. For those of you that don't remember, Phoenix -> Firebird -> Firefox.

          I agree that Mozilla's branding of FF and promotional deals were great for them, and that everyone is copying that, but let's not pretend it was all planned from the beginning.
        • Re: (Score:3, Insightful)

          This article [joelonsoftware.com] is usually referenced whenever the subject turns to complete rewrites. I agree - they're over-rated and done too often. As Joel in the article points out, it's easier and more fun to write code than to read it.
        • by hdparm (575302) on Monday May 26 2008, @12:25AM (#23541199) Homepage
          If shitty IE is the only reason, then why for instance Opera did not catch-up and replaced both, as you and some others imply, crap browsers?
          • by Merusdraconis (730732) on Monday May 26 2008, @12:37AM (#23541269) Homepage
            Probably because for most of its life it was not free. Opera dropped the pricetag when Firefox came along.
            • by hdparm (575302) on Monday May 26 2008, @12:52AM (#23541357) Homepage
              But isn't this whole story about that - ALL the things that make any project successful?
            • Re: (Score:3, Insightful)

              Missed which boat?

              http://www.opera.com/b2b/ [opera.com]

              Try to accomplish same thing with thousands of amateurs not caring about real life implementing thousands of lines a day.

              Opera is _the standard_ on mobile devices. You know the trend everything moving to non personal computers? Where is Mozilla Symbian S60 version? Where is mini Mozilla runs on a server serving potentially to near billion J2ME powered handsets? Where is Mozilla Win CE? Why Nokia spares millions to their number 1 competitors HTML rendering Webkit? H
        • Re: (Score:3, Informative)

          You probably don't know Netscape's history.
          Netscape's engine couldn't scale -- it was such a horrific mess that probably very few things could be salvaged.

          Netscape 3 was great for its days. Then Netscape 4 came and it was simply a pile of shit in terms of stability and bugs (I'm not even mentioning standards compliance - remember the layer and ilayer tags?). There were so many rendering bugs it woulld make IE6 seem immaculate. It's been 10 years since I've had the displeasure of developing for it, but I sti
        • by Blakey Rat (99501) on Monday May 26 2008, @12:45AM (#23541315)
          It's kind of a weird feedback loop. The only reason Firefox is competitive now is because IE didn't get worked on for several years; the reason IE didn't get worked on is that it had no competitive browsers.

          BTW, I'm not sure you're aware of this, but Joel Spolsky wrote an article about rewriting software from scratch, titled "Things You Should Never Do": http://www.joelonsoftware.com/articles/fog0000000069.html [joelonsoftware.com] Personally, I'm with you, I agree with every word he says.

          (He also writes a later article, I can't find it at the moment, where he describes Netscape release schedule:
          * Release whatever you have with no cleanup or testing, call it version x.0
          * Whenever there's a bug severe enough to get covered in the New York Times, bump the version number up a point
          Sadly, far too many open source projects use that same release philosophy.)
        • Re: (Score:3, Insightful)

          Your comment makes me wonder if you're a professional software developer. Maybe you're a manager?

          "Cruft" generally means shit code that is somewhere between incomprehensible and don't-touch-it-I-don't-know-what-the-hell-it-does. Code like this is always frail and impossible to maintain, so it tends to hold back any potential new feature that would rely on it. Normally, the author has long since moved on, so it makes sense in the LONG RUN to throw it out (the open source mentality).

          Obviously, manager types c
      • by AaronLawrence (600990) * on Monday May 26 2008, @12:56AM (#23541377)
        The original scrapping of the Netscape code was a big part of killing Netscape and allowing IE to take the whole market away. Most likely a strong refactoring would have produced results quicker; of course all the egos... I mean programmers involved wouldn't have been able to indulge their "this code is crap lets throw it away" attitude.

        Firefox succeeded DESPITE throwing a huge set of functioning code away, not because of it.

        All inexperienced developers think that it will be a "necessary first step in clearing out years of cruft", until they actually try it. Then they realise that the "years of cruft" often had good reasons for being there and solving the problems the "cruft" solved is actually extremely hard and not always elegant.

        This is especially true if the people doing the rewrite are not the same people who wrote it the first time. In Netscapes case some of the originals were around but the majority seems to have been new.
        • Re: (Score:3, Insightful)

          All inexperienced developers think that it will be a "necessary first step in clearing out years of cruft", until they actually try it. Then they realise that the "years of cruft" often had good reasons for being there and solving the problems the "cruft" solved is actually extremely hard and not always elegant.

          I don't think you can discuss the issue so abstractly. Ultimately, refactoring is rewriting. It's just incremental. The line between refactoring and rewriting is fuzzy; if I had to draw it somewh

        • Re: (Score:3, Insightful)

          All inexperienced developers think that it will be a "necessary first step in clearing out years of cruft", until they actually try it. Then they realise that the "years of cruft" often had good reasons for being there and solving the problems the "cruft" solved is actually extremely hard and not always elegant.

          And how much code qualifies for this? I have rewritten several old libraries with modern C++, and gained a lot. Not because it has shiny new language toys, but because the old stuff was extremely hard to debug, maintain, let alone extend. (Also, they partly relied on stuff that gcc4 no longer ignores, and internally used global variables, making it useless for multithreading.)

          It is true that a rewrite is usually not worth the effort, but not because the code is so clever. This "cleverness" often turns out

    • by Tubal-Cain (1289912) on Sunday May 25 2008, @09:52PM (#23540405) Journal
      This is less about the code and more about properly handling the project.
    • by man_of_mr_e (217855) on Sunday May 25 2008, @10:13PM (#23540515)
      Not to mention, Losing half your workforce in the process, taking > 5 years before they even shipped a 1.0 version, changing organizational structures half a dozen times and moving around to different non-profits, and oh yeah.. convince everyone around you that you're "standards compliant" when you're not even close. You're just better than the bigger guy.
  • by Jacques Chester (151652) on Sunday May 25 2008, @10:01PM (#23540445)
    Good community projects need inclusivity and transparency, there's no doubt.

    Though getting millions and millions of dollars from Google probably helps. You know. A bit.
  • Not our experience (Score:5, Interesting)

    by wombatmobile (623057) on Sunday May 25 2008, @10:05PM (#23540465)

    "two of the key figures behind the success of Mozilla's Firefox Web browser â" listed inclusivity and transparency as two of the top cornerstones of any community-built project."

    That sure wasn't our experience with contributing to FireFox. My company contributed several person months of code to FireFox 3 to build out a text placement capability. Our patches were never accepted; However, they took 80% of the code and reused it to fix half a dozen incidental issues that we had had to fix in order to implement the character placement issue that we were addressing.

    All of which is OK, except that our authors were not given any acknowledgement or attribution.

    But then they turned around and said we'd have to rework our original patch because now "80% of the code is redundant".

    We are not contributing to FireFox any more. I thought about point out our experiences to Brendan Eich and asking him if he's OK with his people's behaviour. But it was easier just to walk away. We've now changed our focus to WebKit.

    • by zappepcs (820751) on Sunday May 25 2008, @10:10PM (#23540495) Journal
      I feel for you in the lack of acknowledgment, but I have to say that in 20+ years of managing technical projects, these two simple things help make ANY project work better: inclusivity and transparency.

      I've done projects almost picture perfect only to later see someone attempt same or similar that fails miserably because of the lack of one or both of these.

      Openness: It's not just for F/OSS

      Treat everybody like mushrooms and dank musty smelling product is what you end up with.
        • by zappepcs (820751) on Sunday May 25 2008, @11:50PM (#23540983) Journal
          Actually, part of the reason that you pay a project manager big bucks is that s/he will avoid such scope creep, and use big hammers to ensure that there is none.

          When you invite such creatures as you describe, limiting their input to a choice of two limited options is one way to keep them in check. There are others, but you NEVER let anyone have that much control, ever. Once you do, you are no longer managing the project, just taking orders.

          I am very quick to throw the yellow or red cards in meetings when scope creep is showing. I've been known to repurpose meetings entirely on the spot to deal with the fact that there are one or two who think the project goals and schedule are not suitable to 'their' needs. If done right, this clearly defines not only what is supposed to be happening, but who is actually in charge. It's definitely a game of socio-political chess, but to get things done it is necessary. A good PM never ever loses sight of project goals and scope, and keeps the project reigned into those parameters. period. or fail results.

          Not just anyone with PMP is going to be able to do that though. It takes skills developed over years of working projects, and the ability to efficiently use positional authority, as well as the ability to simply walk away and wish them luck on their project when they don't want to listen.
            • Re: (Score:3, Interesting)

              That was in reference to the other poster's comment:

              ....means inviting idiots who don't know anything about software engineering to come change the direction of your project the month before you hit important milestones....

              When the project scope is being redirected, or attempts to do so, in such fashion, then those people did not participate as they should have at the beginning, and the PM did not do their job right to start with. With transparency and inclusivity, the project should already have accounted for their needs. Any derivation from the agreed goals/schedules etc. requires that everything be reviewed, and any change in scope be either shut down asap or the projec

    • by phantomfive (622387) on Sunday May 25 2008, @10:43PM (#23540671) Homepage Journal
      It's not clear exactly what you did here, but it sounds like what you did is just start coding, then come to Mozilla a few months later and say, "hey! we have code for you!" IF that is what you did, then next time you should probably get in contact with the developers and discuss the feature you want to add and how it should be done. It's hard to be coordinated when everyone is just giving stuff, and more importantly, it can be hard to change the way you were planning on organizing things suddenly, even if the new way is better.

      Not sayin' you're wrong, just addin' my thoughts
      • by wombatmobile (623057) on Monday May 26 2008, @02:48AM (#23541955)

        It's not clear exactly what you did here, but it sounds like what you did is just start coding, then come to Mozilla a few months later and say, "hey! we have code for you!"

        No that isn't what we did.

        We consulted with the module owner first before contributing any code. And then we participated in half a dozen reviews after we submitted code, each time adjusting minor stylistic coding practices to match the reviewers arbitrary directives.

        And then the reviewer guy lifted 6 other bug fixes from our code body, submitted them in his name without acknlowedging our coders.

        And then the reviewer said we have to rewrite our patch to get it considered since it now contains redundant code.

        • Re: (Score:3, Interesting)

          Pull copyright on their ass. Get your lawyers to insist that the code is removed or they pay you compensation (that you can obviously donate to whatever other OSS project you like).

          Unless you explicitly gave away your code, it belongs to you. The mozilla licence doesn't apply until your code is accepted by them - I'm sure you have a case to say that your code was never submitted under any OSS licence until it became part of the FF project, and even if it was then you must get credited for the work.

          It sounds
    • by Anonymous Coward on Sunday May 25 2008, @10:47PM (#23540683)
      AC so I don't lose what little "street cred" I have.

      I had this exact same experience with Pidgin back in the Gaim days. Patches submitted, never accepted, code used to fix bugs, and contributions never acknowledged. It became obvious that I just wasn't in the clique of core contributors; and I just took my expertise elsewhere.

      So, how often is this happening to other people contributing to "open" source projects

      • by mrbluze (1034940) on Sunday May 25 2008, @11:37PM (#23540909) Journal

        Patches submitted, never accepted, code used to fix bugs, and contributions never acknowledged.

        It's sad but true. Open Source is kind of like a religion some how. People think it means the guys involved are good and fair and nice. But they are no different from anyone else. Most people are petty, selfish, poor managers (of themselves and others).

        A good Open Source project requires a good manager who can coordinate and delegate and so forth. The problem is that programming is a creative activity and you can't just tell people what to do and expect them to slavishly obey. Especially if you're not paying them money. It's like herding cats.

        Big projects like Mozilla's Firefox are not really a good example of anything except how big companies have seen fit to fund something 'free' in the hope that some financial gain comes to them in the end.

        Your example of Pidgin (Gaim) is much closer to the real problem where, without money, human nature can be very disappointing.

        The big question we should be asking is how should we organize projects to make sure good code doesn't get rejected?

      • Re: (Score:3, Informative)

        I don't know about the Pidgin guys. I think empathy [gnome.org] is going to be stealing the place of pidgin in many linux users desktops if they aren't careful. It already has a form of video/voice chat built in and has been proposed for inclusion in Gnome [arstechnica.com].
    • by Merusdraconis (730732) on Sunday May 25 2008, @11:24PM (#23540853) Homepage
      I'm reminded of that infamous bug amongst webcomic creators where alt text on images wouldn't go to a new line when it needed to. It was identified in something like 0.8, and finally got fixed in 3.0, with Firefox developers mocking those stupid webcomic people the entire time and continually refusing to allow someone else to fix the bug.

      They make a pretty good browser, but man those developers are a buncha dicks.
    • by roca (43122) on Sunday May 25 2008, @11:50PM (#23540977) Homepage
      What was this? Bug 388547?

      If so:
      -- I'm sorry.
      -- Looks like Robert Longson slipped up by not copying over contributor information. But I don't see any complaints from your people about that in the bugs. (Note, he's a volunteer, not paid by Mozilla or anyone else.) Would be easy to fix.
      -- Tim Rowley got taken off Firefox SVG work by IBM which partly explains why the patch never got final review.
      -- Looks like "25% no longer required", not 80%.
      -- I don't see any sign of your displeasure anywhere in these bugs. People are busy, timely hurry-up gripes usually help prioritize things.
        • by xant (99438) on Monday May 26 2008, @01:14AM (#23541507) Homepage

          You're missing the point. The fact that it would be "easy to fix" means nothing. The fact that it wasn't done does. If a volunteer sucks at it--somebody should be being paid to do it. Mozilla's hugely profitable. They have no excuse.
          Good god, do you have any idea how much code is in Firefox? How many people contributing? The entire point of open source is that lots of people can do more work than a single proprietary organization. The downside, of course, is there's too much for a single organization to oversee. Shit happens. You get things fixed by asking for them to get fixed, that includes accidental omissions of credit. It should have been done, but the fact that it wasn't is not a failing of the Mozilla organization.

          [..] People are busy, timely hurry-up gripes usually help prioritize things.
          This is irrelevant, and should be unnecessary.
          Yet, isn't. In the real world, people do not magically know what they have to do. They do things when asked to do them.
    • by xant (99438) on Monday May 26 2008, @01:18AM (#23541537) Homepage
      IME, it's perfectly normal to ask patch contributors to re-submit patches, frequently, until they're right. The patch contributor is the one benefiting most directly from the patch, and is the one with the most knowledge about the patch, and is the one with the most motivation to fix the patch. That makes the contributor the only party who can be asked to fix the patch.

      So they used some code from it, and then asked you to resubmit it built against the new codebase. This is perfectly normal and reasonable. They can't use the patch as-is when it has been mangled to death; and in the final analysis they don't really care whether it gets used, even though they did care about selected parts of it. You care whether it gets used. So you are the one who should remake the patch.
  • by Anik315 (585913) <anik@alphaco r . n et> on Sunday May 25 2008, @10:41PM (#23540665)
    I don't know whether Mozilla is more standards compliant than other browsers in the technical sense, but from a web developers standpoint it has lots of little things that other browsers don't have and some big things as well, such as XPCOM. It's web developers web browser, and I expect that with Firefox 4 release which will introduce JavaScript 2, it will be conclusively be the best browser out there and will perhaps regain a majority market share [w3schools.com]
  • slaps head (Score:5, Insightful)

    by nguy (1207026) on Sunday May 25 2008, @11:38PM (#23540919)
    How could I have been so stupid? I just forgot about enabling the "get multi-million dollar revenue stream for my open source project" option on Sourceforge.

    Don't get me wrong, I use the Mozilla and Firefox products, but given the amount of money that has gone into Mozilla (and Apache), I think the results are actually not all that great.
  • "Awesome" Bar (Score:5, Insightful)

    by sulfur (1008327) on Monday May 26 2008, @01:01AM (#23541417)
    It looks like Mozilla developers are going Pidgin's way by ignoring their users. Many of us don't like new "smart" address bar that uses some arcane algorithm to sort suggested results. Unfortunately, there is no way to change address bar behavior to Firefox 2 style (when I type sl in the address bar, I want to see slashdot.org as my first result instead of some combination of my bookmarks and random pages). The worst thing about it is that there is no way to disable this "feature". I don't really mind when they bloat Firefox with some features that might appeal to some users, but I *do* mind when they make no option to turn them off.

    I would probably go crazy if there was no way to change default Windows theme to Classic.
    • Re:Yea right. (Score:4, Insightful)

      by Slashdot Suxxors (1207082) on Sunday May 25 2008, @10:27PM (#23540585)
      Say what you want but Firefox is still light years ahead of IE. If there's only one thing it has over IE, it's that it follows web standards much, much better.
      • Re: (Score:3, Insightful)

        I agree too, but it's hardly reason to ignore the fact that Firefox does have it's own problems. Look at FF's memory footprint and where Firefox came from and you'll see it's simply a very oversimplified and blunt statement about the ugliest bits that no one likes to focus on.
        • Re:Yea right. (Score:4, Informative)

          by linuxci (3530) on Sunday May 25 2008, @10:38PM (#23540651)

          I agree too, but it's hardly reason to ignore the fact that Firefox does have it's own problems. Look at FF's memory footprint and where Firefox came from and you'll see it's simply a very oversimplified and blunt statement about the ugliest bits that no one likes to focus on.
          A lot of the memory issues have been fixed in Firefox 3 as well as improving JavaScript performance.
          • Re: (Score:3, Interesting)

            >A lot of the memory issues have been fixed in Firefox 3 as well as improving JavaScript performance.

            Great! Now they just have to fix their threading issues (one 'frozen' tab shouldn't be able to freeze the whole browser), their stability issue (as much as possible a crash of a plugin shouldn't be able to crash the browser) and it could be considered as a solid browser..

            Until then it *isn't* an example to follow!
        • I'm on an old Gateway VTX400 laptop. It's got a 2.2GHz processor with 256 megs of ram. I've got four FF tabs open and it's using ~75MB of memory. I've also got uTorrent open and Windows Media Player and it runs fine for the most part. It stutters every now and then, but it's never crashed because of Firefox. (or any other reason now that I think of it.) Basically what I'm trying to say is that the foot might be wearing a bigger shoe these days but honestly is that a problem? In the day and age of 2/4/8 GB R
        • Re: (Score:3, Informative)

          AFAICT, pretty much all the FF2 memory issues have been fixed up in FF3, though i'm staying with 2 until google makes their toolbar work on 3.
    • Re: (Score:3, Informative)

      This is fixed in Firefox 3. Not that any browsers on Mac actually use the built-in widgets; they use the OS theming engine to draw bitmaps that look like the built-in widgets.