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."
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.
Re:The prefect blueprint? (Score:5, Insightful)
The Netscape code was a perfect example of how to mismanage a rewrite operation.
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.
Re: (Score:3, Insightful)
Re:The prefect blueprint? (Score:5, Interesting)
Re:The prefect blueprint? (Score:5, Insightful)
Re: (Score:2)
2) Opera, historically, has had crappy usability. It's better now, but it still has a much worse interface than both IE and Firefox, and is generally more annoying to use. Back during the era we're talking about, Opera's interface was crap.
Re: (Score:2)
I can't use middle click scrolling with pixel accuracy in the others as I can with Opera.
I can't switch tabs holding the right mouse button and moving the wheel in the others as I can with Opera.
I can't use mouse gestures to reload a page, or duplicate a tab (with full back and forward history), or going to the parent directory of a URL, or minimize or open or close tabs in the other browsers
Re: (Score:3, Interesting)
Oh, I dunno about that. On both my linux and OSX machines, I keep stumbling across a common situation where I've discovered that the simple solution is to copy the URL to opera and continue from there. The situation? There are a lot of web sites that like to use buttons rather than text links to navigate. Within a single site, I often wan
Re:The prefect blueprint? (Score:5, Insightful)
Re: (Score:2)
Mozilla Dev Team On Firefox's Success
No.
I'm starting to see the "What about Opera?" comments as a new meme, akin to "But does it run Linux?" If you're happy using Opera, great. Have fun. But Opera missed the boat and no one else cares.
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:2)
I agree that Opera is the standard for low end mobile devices such as GSM phones with GPRS connection. Considering that KDE is built on QT (made by Trolltech) and QT is now owned by Nokia, it isn't that big a surprise that Nokia is also spending money on Webkit which is based on KHTML which is built o
Re: (Score:2)
Webkit is nice but it doesn't have Small Screen Rendering and Nokia can't put $600 pseudo smart things as only option to market with insane DPI displays. I think webkit is a mistake, at least they should promote Opera browser via
Re: (Score:2)
I think the causality flows in the opposite direction. Nokia released a Gecko-based browser years before the TrollTech deal was on the table. Nokia don't prefer WebKit because they have a deal with TrollTech, they have a deal with TrollTech because they prefer WebKit.
Re: (Score:2)
It won't surprise me if they become the first vendor to implement actual desktop Java to devices. I was expecting such revolutionary moves from Apple but you have seen what they did.
I was giving Webkit example for a simple reason. AOL spent millions to Mozilla primarily the
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.)
Re: (Score:2, Insightful)
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: (Score:2)
The first recourse for a professional developer is to salvage what he can from the existing code, preferably refactoring to make it less of a maintenance pain - ie get rid of the old hacks that are no longer needed, convert some individualistic areas to use a comm
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.
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)
Re:The prefect blueprint? (Score:4, Insightful)
Re:The prefect blueprint? (Score:5, Insightful)
Re: (Score:2)
What's bugging me more about Firefox isn't the level of "bloat", it's the responsiveness. It shouldn't take over 5 seconds for the download window to display, it doesn't matter how long my download history i
Re: (Score:2, Interesting)
Obviously, you're not a web developer, because "performs better" and IE really don't fit together, especially when it comes to rendering web pages in a standards-compliant manner. I suppose IE7 performs better at providing possible exploits [secunia.com] for malicious pages to attack, though. By that metric, IE is the best browser ever. If you write web-driven malware, or engage in phishing.
I've not seen Firefox behave as badly as you describe; are you using Vista with less than 2GB of RAM? ;)
I do really recommend
Re: (Score:2)
Here is my non web developer, non developer benchmark. Safari for Windows (current) is the fastest, IE 7 is the next , Firefox current stable is the slowest. I know I will get into trouble because of saying it.
If people didn't go into panic when I installed Opera, I would make them a favour but... anyway.
As a long time Apple user, I never buy those 5x 10x faster crap Apple says in every product but they somehow managed to make a very fast, r
Re: (Score:2)
For instance, the property name "innerText" makes a hell of a lot more sense than "innerHTML."
Supposed to read:
For instance, the property name "innerText" makes a hell of a lot more sense than "textContent."
Re: (Score:2)
Re: (Score:2)
As we speak about 2000s, I wonder what would happen if they (AOL) listened to CmdrTaco of this site right time before Netscape actually failed.
If you didn't know, there is a good surprise there (1998):
http://web.archive.org/web/19980113192359/slashdot.org/slashdot.cgi?mode=article&artnum=425 [archive.org]
CmdrTaco is the guy who said GPL and open it. Imag
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)
Re:Of course, it's so simple! (Score:5, Funny)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2)
Mozilla/Firefox has never existed as a purely non-commercial, grassroots effort. It has always had massive funding and resourcing from companies.
Whodda thunk? Massive funding and resourcing can produce a successful product?
Re: (Score:2)
It is not like mozilla.org site opened up and people all over the planet started to code for free.
Google is another deal. Pay $ millions and new version of browser defaults to ON for "Anti phishing", sending every URL to Google Inc. Imagine if AOL did such thing.
Re: (Score:2)
With some honesty, we could truly say: Thanks, AOL, for helping to save the internet!
Re: (Score:2)
Except that Firefox doesn't send anything to Google. It checks your urls against a locally stored blacklist, which it periodically updates from Google's servers.
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.
Re: (Score:2)
Re: (Score:2)
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.
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: (Score:2)
Re:Not our experience (Score:4, Insightful)
Not sayin' you're wrong, just addin' my thoughts
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.
Re: (Score:2)
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
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?
Re: (Score:3, Informative)
Re: (Score:2)
yum info empathy
Loaded plugins: refresh-packagekit
Available Packages
Name : empathy
Arch : i386
Version : 0.22.1
Release : 1.fc9
Size : 500 k
Repo : fedora
Summary : GNOME Instant Messaging Client
URL : http://live.gnome.org/Empathy
License : GPLv2+
Description: Empathy provides a powerful multiple protocol i
Re: (Score:2)
Re: (Score:2)
"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.
There is intelligence that walks amongst Us.
Re:Not our experience (Score:5, Informative)
They make a pretty good browser, but man those developers are a buncha dicks.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Informative)
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.
FYI, that bug affected the title text (which is supposed to be displayed in addition to the element it's attached to), not the alt text (which is meant to be displayed instead of the element it's attached to). xkcd [xkcd.com] is frequently cited as a good example of this bug in action, you can examine the page source to see where the title and alt attributes are used.
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.
Re: (Score:2)
-- 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.
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.
-- Tim Rowley got taken off Firefox SVG work by IBM which partly explains why the patch never got final review.
An explanation is nice, but it doesn't solve the problem of it not getting done.
-- I don't see any sign of your displeasure anywhere in these bugs. People are busy, timely hurry-up gripes usually help prioritize things.
This is irrelevant, and should be unnecessary.
The Firefox project wants to be treated like a big boy, it needs to act like one.
Re:Not our experience (Score:4, Insightful)
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.
Re: (Score:2, Interesting)
Regarding Standards Compliance (Score:3, Informative)
First rule of project management (Score:2)
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.
Re: (Score:2)
No; as opposed to projects with no or little revenue streams.
In fact, above some threshold, software quality seems to be inversely proportional to the amount of money available for developing the software.
Go the "Evangelists"?! (Score:2)
"Awesome" Bar (Score:5, Insightful)
I would probably go crazy if there was no way to change default Windows theme to Classic.
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:2, Informative)
It's just a different setting now!
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2, Redundant)
Fix the GUI (Score:2)
Re: (Score:3, Informative)
Re:Yea right. (Score:4, Insightful)
Re: (Score:3, Insightful)
Re:Yea right. (Score:4, Informative)
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:2)
Re: (Score:2)
I'm laughing because these developers so loved their precious Firefox that they wrote a gui that won't work with anything else, and breaks if it's not on the exact firefox version and chrome version they wrote it for. They get pissed when I point out that version has known security holes and they have to at least upgrade to the latest version (breaking their code). The exact same complaint people had with IE. Yes IE7 broke a bunch of webpages, but it still worked with more webpages than firefox.
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2)
Their model is closed source, strictly professionally coded, strictly platform neutral, just the needed features implemented on a web type language. E.g. IRC and mail is actually couple of DHTML/CSS pages. The core html renderer is insanely portable. People doesn't believe the Opera Mobile (not Mini) is using the exact same engine