Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Mozilla The Internet

Mozilla Dev Team On Firefox's Success 184

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."
This discussion has been archived. No new comments can be posted.

Mozilla Dev Team On Firefox's Success

Comments Filter:
  • 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 Tubal-Cain ( 1289912 ) on Sunday May 25, 2008 @10:52PM (#23540405) Journal
    This is less about the code and more about properly handling the project.
  • by Jacques Chester ( 151652 ) on Sunday May 25, 2008 @11: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.
  • by zappepcs ( 820751 ) on Sunday May 25, 2008 @11: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 man_of_mr_e ( 217855 ) on Sunday May 25, 2008 @11: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.
  • Re:Yea right. (Score:4, Insightful)

    by Slashdot Suxxors ( 1207082 ) on Sunday May 25, 2008 @11: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:Yea right. (Score:3, Insightful)

    by SiegeTank ( 582725 ) on Sunday May 25, 2008 @11:32PM (#23540617)
    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.
  • by phantomfive ( 622387 ) on Sunday May 25, 2008 @11:43PM (#23540671) 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 urcreepyneighbor ( 1171755 ) on Sunday May 25, 2008 @11:51PM (#23540693)
    *cough*OLPC*cough*
  • Re:Yea right. (Score:3, Insightful)

    by Slashdot Suxxors ( 1207082 ) on Sunday May 25, 2008 @11:51PM (#23540695)

    Certainly not in stability, or even being able to properly work with 100% of the websites out there.
    Moot point since there's not a browser out there that will display _everything_ correctly 100% of the time. At least Firefox tries to follow the standards, versus IE which seems to purposely ignore the standards that they supposedly "adhere" to. IE has broken more of the stylesheets I've been working on than I care to count. I shouldn't have to have two or three different stylesheets because MS doesn't like standards.
  • by mixmatch ( 957776 ) on Sunday May 25, 2008 @11:54PM (#23540713) Homepage
    You know this because you have the source code. Right?
  • by asa ( 33102 ) <asa@mozilla.com> on Monday May 26, 2008 @12:09AM (#23540785) Homepage
    Windows is not an open source consumer product, no matter if it contains bits of open source code or not.
  • Re:Yea right. (Score:2, Insightful)

    by Slashdot Suxxors ( 1207082 ) on Monday May 26, 2008 @12:14AM (#23540809)
    Opera is great as well, but it lacks the customization of Firefox that I've grown to love. I used to use Opera all the time, but then I started using Firefox and these little things called add-ons kept me coming back.
  • by Merusdraconis ( 730732 ) on Monday May 26, 2008 @12:20AM (#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.
  • by mrbluze ( 1034940 ) on Monday May 26, 2008 @12:37AM (#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?

  • slaps head (Score:5, Insightful)

    by nguy ( 1207026 ) on Monday May 26, 2008 @12:38AM (#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.
  • Too much success? (Score:1, Insightful)

    by Waccoon ( 1186667 ) on Monday May 26, 2008 @12:41AM (#23540939)

    It's nice when a project gets recognition for doing something well, but when Firefox started getting more popular, largely due to the loud self-congratulation of the open source community, it started getting slower and buggier. I've been toggling between Firefox and Opera within the last year, largely due to the horribly sluggish performance when using multiple windows. If it weren't for the excellent Web Developer extension, I'd use Opera all the time.

    The plug-ins are nice, but most of the ones I use are not for clever hacks, like stripping out ads, but for getting functionality that really should be in the browser in the first place, like the ability to easily edit cookies. How come I can't switch between quirks mode and strict mode on the fly? Why can't I resume stopped downloads, instead of having to re-download them from the beginning? How can a browser get so bloated when blocking web sites from setting cookies requires you to type in the URLs, instead of just clicking a button that says "block"? I still like Firefox more than IE, but I can't say the design of the browser really stacks up well against other browsers unless you add a lot of 3rd-party software. Can you really praise the browser in that case?

    Don't even get me started about stability. Update Firefox, and the browser might refuse to start. I have to dig around in my profile folder to delete plug-ins one at a time to get the browser just to get a window open. Just re-installing the browser doesn't fix plug-in issues. Doesn't Firefox keep a log, so it knows when it tries to start and a plug-in doesn't work? That's a must when you depend on 3rd-party software so heavily.

    I'm almost hoping that Opera doesn't get too popular. That will keep it fast, lightweight, and low on bugs.

    Yes, I know I sound angry given that I get the software for free, but Firefox gets just a bit too much praise. Firefox is what got Microsoft in line and fixing some longstanding problems with IE, but it's easy to hate Microsoft. I'd hate to see Firefox continue getting praise because 3rd-party developers have the ability to patch the browser's design issues.

  • by zappepcs ( 820751 ) on Monday May 26, 2008 @12:50AM (#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.
  • by afabbro ( 33948 ) on Monday May 26, 2008 @01:05AM (#23541089) Homepage
    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 Merusdraconis ( 730732 ) on Monday May 26, 2008 @01:37AM (#23541269) Homepage
    Probably because for most of its life it was not free. Opera dropped the pricetag when Firefox came along.
  • by Anonymous Coward on Monday May 26, 2008 @01:41AM (#23541299)
    Because Opera quite simply missed the boat. It's certainly not because of a lack of features or because it is closed source. They had a golden opportunity but failed to act and did such a piss poor job of marketing the browser that they just haven't had the uptake despite the feature set and innovations they have had.
  • by hdparm ( 575302 ) on Monday May 26, 2008 @01:52AM (#23541357) Homepage
    But isn't this whole story about that - ALL the things that make any project successful?
  • by AaronLawrence ( 600990 ) * on Monday May 26, 2008 @01: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.
  • "Awesome" Bar (Score:5, Insightful)

    by sulfur ( 1008327 ) on Monday May 26, 2008 @02: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.
  • by chamont ( 25273 ) * <monty@fullm[ ]y.org ['ont' in gap]> on Monday May 26, 2008 @02:04AM (#23541437) Homepage
    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 can't see much past this quarter, so they saddle people with this garbage, and people eventually quit over such trivial things. Sometimes you just have to realize what you did wrong, press delete, and bang out something that you hope will last 3 years or so.
  • by xant ( 99438 ) on Monday May 26, 2008 @02: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.
  • Re:"Awesome" Bar (Score:2, Insightful)

    by SlashJoel ( 1145871 ) on Monday May 26, 2008 @03:16AM (#23541805)
    I happen to love the new address bar. Well, except for the fact that it assumes I'm blind and takes up 80% of the screen displaying the results. But that's why I use the 'oldbar' plugin. If there really are 'many of us' that prefer a different algorithm, one of you can write a plugin to display porn first or whatever suits your fancy. There is "no way" to disable the feature? Just like there's "no way" to block ads and "no way" to view Flash? But you're right, it's more fun to complain about how Mozilla is ignoring you, just like Pidgin. Maybe you should write a fork or perhaps you should just shut the fork up.
  • by Ilgaz ( 86384 ) * on Monday May 26, 2008 @05:58AM (#23542609) Homepage
    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? How can Opera sell 2 years old code to Symbian S60 users? How can people bug them 24/7 about the upcoming 9.5 near begging "Give us an Alpha, we will pay for it"

    Gnome, KDE, the actual Qt (trolltech) are moving to webkit. Why? Ask them.

    Remember Mozilla could fit to a single 1.44 floppy? Who missed the boat I really wonder.
  • by nywles ( 1132947 ) on Monday May 26, 2008 @06:38AM (#23542783) Homepage
    Joel makes some good points but also some very bad ones. I'll give him that a big project takes long to rewrite and gives the competition a chance to leap ahead. You'll have to find a way to deal with that. I'll also give him that many programmers tend to suffer from the NIH [wikipedia.org] syndrome (what he calls "code is harder to read than to write" which is only true if the code really is a big mess that does needs a rewrite or if the developer trying to read it is really inexperienced). I'll also give him old code has been tested and the standing bugs are known (no, they are not fixed because that cannot be done in the old codebase unless you're willing to throw a lot of time/money at it). But that is in no way reason to dismiss a rewrite.

    He claims the "hairs are bugfixes". In my experience, they're not. A lot of bugfixes tend to only remove code and leave a cleaner total behind. The "hairs" are features for users that were necessary to implement in order to remain competitive but weren't in the design when programming began. Those features are usually loved the most by users and tend to grow with additions, leaving a big mess. This can only be solved by changing the design fundamentally to enable the features in the core which usually require a rewrite of most components.

    He claims code doesn't rust. Well, it does. The features i mentioned above are one way in which code rusts. Another is the platform the code runs on evolves. OS API calls used by the project may become deprecated if a new version of the OS is released. I'll admit that it takes a while before the changes are really pushed through so the rewrite becomes necessary.

    Then (i promise i'll stop after this one) he claims "there is absolutely no reason to believe you are going to do a better job than you did the first time". He says there is not "more experience" because the team of programmers changed. Well, maybe the team did change, but all the bug reports from the last version are neatly integrated in the Test Plan. We're talking about a big commercial software project, right?

    I'm not saying you should "just" do a rewrite from scratch, the pros and cons should be well considered. But totally dismissing it like Joel does, saying the programmers are wrong and the code is fine, is not considering it very well in my opinion.
  • by hey! ( 33014 ) on Monday May 26, 2008 @08:50AM (#23543511) Homepage Journal

    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 somewhere, it would be around being able to do a functional build more or less any time you want to. If you can do a nightly build, you're definitely "refactoring"; if you go six months without being able build anything, you are definitely "rewriting".

    I think the real issue is understanding. The problem isn't programmers wanting to write new code, the problem is programmers not wanting to understand existing code. Once you understand the existing code, then you can make an informed decision about how you want to handle it.
  • by ardor ( 673957 ) on Monday May 26, 2008 @09:25AM (#23543791)

    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 to be one endless heap of ugly hacks. Its the sheer volume of the rewrite that makes it prohibitive; add to it the efforts for testing, and you often have a net loss, not to mention even crappier code, because that rewrite was late already, so everybody rushes it, and the developers only partly understand the old code etc.

    So, in short: usually you have to live with old crappy code because there are is no net gain in rewriting it. Living with it usually is the lesser pain. But old code being excellent is a rare reason.

UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. -- Doug Gwyn

Working...