Slashdot Log In
Mozilla Dev Team On Firefox's Success
Posted by
kdawson
on Sun May 25, 2008 09:38 PM
from the include-and-reveal dept.
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."
Related Stories
Submission: Mozilla's dev team shares Firefox secrets by Anonymous Coward
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
Loading... please wait.
The prefect blueprint? (Score:5, Informative)
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.
Re:The prefect blueprint? (Score:5, Insightful)
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.
Parent
Re:The prefect blueprint? (Score:5, Insightful)
The Netscape code was a perfect example of how to mismanage a rewrite operation.
Parent
Re:The prefect blueprint? (Score:5, Informative)
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.
Parent
Re: (Score:3, Insightful)
Re:The prefect blueprint? (Score:5, Interesting)
Parent
Re:The prefect blueprint? (Score:5, Insightful)
Parent
Re:The prefect blueprint? (Score:5, Insightful)
Parent
Re: (Score:3, Insightful)
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)
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
Re:The prefect blueprint? (Score:4, Informative)
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.)
Parent
Re: (Score:3, Insightful)
"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
Re:The prefect blueprint? (Score:5, Insightful)
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.
Parent
Re: (Score:3, Insightful)
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
Re:The prefect blueprint? (Score:5, Insightful)
Parent
Re:The prefect blueprint? (Score:4, Insightful)
Parent
Re:The prefect blueprint? (Score:5, Insightful)
Parent
Of course, it's so simple! (Score:5, Insightful)
Though getting millions and millions of dollars from Google probably helps. You know. A bit.
Re:Of course, it's so simple! (Score:5, Informative)
Parent
Re:Of course, it's so simple! (Score:5, Funny)
Parent
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
http://www.microsoft.com/resources/sharedsource/Licensing/default.mspx [microsoft.com]
You can also have BSD in a closed source, commercial OS/Software. That is why BSD is the choice for companies like Apple or originally Microsoft.
MS is a evil company, not like they can't code a TCP/IP stack. They didn't see TCP/IP and
Not our experience (Score:5, Interesting)
"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.
Re:Not our experience (Score:5, Insightful)
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.
Parent
Re:Not our experience (Score:5, Insightful)
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.
Parent
Re: (Score:3, Interesting)
....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
Re:Not our experience (Score:4, Insightful)
Not sayin' you're wrong, just addin' my thoughts
Parent
Re:Not our experience (Score:5, Informative)
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.
Parent
Re: (Score:3, Interesting)
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
Re:Not our experience (Score:5, Interesting)
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
Parent
Re:Not our experience (Score:5, Insightful)
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?
Parent
Re: (Score:3, Informative)
Re:Not our experience (Score:5, Informative)
They make a pretty good browser, but man those developers are a buncha dicks.
Parent
Re:Not our experience (Score:5, Informative)
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.
Parent
Re:Not our experience (Score:4, Insightful)
Parent
Re:Not our experience (Score:4, Interesting)
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.
Parent
Regarding Standards Compliance (Score:3, Informative)
slaps head (Score:5, Insightful)
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)
I would probably go crazy if there was no way to change default Windows theme to Classic.
Re:Yea right. (Score:4, Insightful)
Parent
Re: (Score:3, Insightful)
Re:Yea right. (Score:4, Informative)
Parent
Re: (Score:3, Interesting)
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!
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
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
Re: (Score:3, Informative)
Now there's a fubared set of "standards" for you. I just laugh my arse off that everytime firefox gets updated (for those non-existant security holes) that their application breaks.
Kind of like all those websites to broke when IE 7 came out?
http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx [msdn.com]
http://www.456bereastreet.com/archive/200611/three_reasons_sites_break_in_internet_explorer_7/ [456bereastreet.com]
http://blog.wired.com/monkeybites/2006/10/why_internet_ex.html [wired.com]
Re: (Score:3, Informative)