5 ms·
They don't all fail. In the spring of 1998, Netscape launched Open Source with the Mozilla project. Six months later, under pressure from Web standards advocat
by asadotzler 3y ago
They don't all fail.
In the spring of 1998, Netscape launched Open Source with the Mozilla project. Six months later, under pressure from Web standards advocates and others, Netscape and Mozilla tossed the Netscape Communicator 5.x beta code base and started over, a re-write based on a nascent engine that would come to be called Gecko.
That re-write did indeed take much longer than expected as Netscape wasn't able to release Netscape 6 for about two full years which was an awful long time to be without a web browser release.
And Netscape 6 wasn't terribly successful except that a few of us took that code in 2002 and turned it into Firefox which shipped in 2004 and quickly grew to hundreds of millions of users and a half a billion dollar a year business that's maintained at those levels of revenue for more than a decade.
So, re-writes can work, just not necessarily the way one might expect them to work.
- swader999 3y agoNetscape didn't really have the data to deal with and more importantly state. If you mess that up you are done. The articles example of a billing system is a lot more difficult to manage.
- sebastos 3y agoIs it the case that "rewrites fail" only applies when you have an active available system with state though? I don't know that I've ever seen this disclaimer before. I'm very curious if this is the biggest reason behind why people advocate for Joel Spolsky-style "never re-write it" approach. Because I would very much like to do a start from scratch on my own codebase, and it doesn't have any of those availability limitations. But I still haven't been able to make space to do it without stopping the world because we have customers who are currently using the code who expect new features and support. Are we saying that the balance only tips towards "don't rewrite it" when your code runs an always available service though? If your code is merely a product that works on a release schedule, is it now ok to splinter off a Project Phoenix team to make the new hotness? Very curious what people's experience is.
- swader999 3y agoIt's just a lot more difficult when you have state and a World to preserve. You need to build the migration from the old to the new from early on. Hard to say if it is the largest factor to consider. It's very rare to see a company do a reason other than they are being forced to do it.
- xnx 3y agoRewriting Netscape was one of the all-time greatest mistakes in the history of the web. Probably the decision most responsible for Netscape losing the browser wars. https://en.wikipedia.org/wiki/Browser_wars#/media/File:Layout_engine_usage_share-2009-01-07.svg https://en.wikipedia.org/wiki/Browser_wars#/media/File:Layou...
- isaacremuant 3y agoI don't see how that's true. Firefox was gaining a lot of ground over IE but didn't lose to where it is now due to "being there late". It did because Chrome had an uncompetitive advantage over it and Chrome is now doing similar things that IE did then, which is pretending it's the only browser and pushing their "chrome only" ways.
- withinboredom 3y agoI remember when there hadn’t been an update to Netscape in a long time (years? Maybe). People were taking advantage of vulnerabilities left and right. You would use literally any other browser if given the chance. They “lost” the browser wars because they stopped updating the browser that got them there in the first place. Firefox didn’t come along for quite awhile…
- isaacremuant 3y agoIn typical HN fashion of late. This doesn't address my points. I also am downvoted. It's Reddit 0.5 and has been for quite a while, which is quite funny, when you think about reddit's current path.
- withinboredom 3y ago> This doesn't address my points. You didn't make any points and what you said didn't make any sense. Firefox and Chrome didn't come out anywhere near the same time. Firefox came out almost half a decade before Chrome. Chrome won because it was a breath of fresh air after dealing with Netscape, then Firefox. The dev-tooling was amazing (even in the early versions, IIRC) while firefox required installing a separate extension (which your customers almost never had installed). IE 'won' because Netscape wasn't updated. It was the defacto browser that was still being updated. So a lot of Chrome's success was us devs telling customers "go install Chrome and tell me what the error is in the console," instead of "go install this extension and navigate all these screens/tabs ... no, not that one." Then there was the heavy advertisement on Google.com (but that was a little later IIRC).
- fswd 3y agoit was called the phoenix browser.
- sedatk 3y agoThe lightweight fork was called "Firebird", and when they learned that the name was taken by, I believe, an RDBMS, they switched to Firefox.
- midasuni 3y agoIt was called Phoenix. It was renamed to firebird later.
- mkl 3y ago...because the goal was for it to rise from the ashes of the failed Netscape rewrite.
- amackera 3y agoI'm failing to see how the rewrite you mentioned delivered any value _to Netscape_.
- theshrike79 3y agoJoel Spolsky wrote about this 23 years ago (fuck I'm old) > It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time. First of all, you probably don’t even have the same programming team that worked on version one, so you don’t actually have “more experience”. You’re just going to make most of the old mistakes again, and introduce some new problems that weren’t in the original version. https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...