Posted
by
CmdrTacoon Sunday April 18, 1999 @02:52PM
from the stuff-to-hack-on dept.

Chris Nelson writes "A new Mozilla project is underway. Codenamed 'Necko', its aim is a complete overhaul of the current NetLib code, with special attention paid towards footprint, maintainability, and performance.
From the Necko page: '...the netlib kernel serves ... to act as an efficient data pipe between multiple physical transports (ie. file system, network, etc.) and a standardized stream abstraction which protocol handlers consume.'
The new design will allow for customizability, platform specific substitutions for best performance, and quantitative analysis of performance.
They're looking for contributors to aid in testing, optimization and platform-specific work. "

The thing I like about mnemonic over mozilla is that it is highly modular, even more so than mozilla, but the source code is clear and readable C++ ( yeah, I know some people don't like C++, but I like it, when it's done right, like mnemonic), as opposed to mozilla's convoluted and obscure C++

I haven't contributed in any way to mnemonic (yet), but it does seem to me to be a clearer open source browser, and is a ground-up Open Source project.

but hey - there's always GRAIL. That is incredibly easy to hack, but also entirely in Python...with all the disadvantages ( and advantages) of an interpreted OOP language. And it's Yet Another Licence, whereas Mnemonic is GPL !!!

I don't care how long it takes. I want the best and only the best for gecko, and if that includes necko then that's fine for me. Navigator is working damned well thus far and I don't anticipate it breaking suddenly. Far more gains will be made if Gecko is nearly perfect, and thus easy to extend and understand, than if it's rushed just to get a "usable product."

It's non DFSG [debian.org]-free and it isn't free software according to the FSF [fsf.org]. That means, at least to me, that it isn't free software. Remember, the Open Source Definition is more or less the same as the DFSG, so at least technically, there is no difference between free and open-source software.

Yep. It sould appear that the network interfaces are fairly well defined to the upper layers( html parser, mail&news, etc).

One thing I like (a lot) about their design is how quick it looks to get the core API in place with a basic protocol library(http: ftp: and file:) with minimal optimisation.... Later on we can put together much much more optimised Linux, win32, Mac specific transport layer to take advantage of any platform specific stuff. Cool.

The IE guys spent a long time doing network profiling with IE5 which (AFAICS) seems to make a fair bit of difference.

If anyone is looking for decent justification for working on Mozilla... Fixing the Mozilla netlib will affect more of the operation of the net that almost anything else.....

Is the upcoming release going to be predicated on the completion of Necko? The switch to Gecko caused a pretty big delay and hopefully the switch to Necko can be phased in when it's ready rather than pushing back the release again. Microsoft has unfortunately gained some user mindshare by releasing IE5 before Mozilla and it's important to stop the momentum before it's too late. I'd say tough it out with the current code for the upcoming release unless the switch to Necko would be quick and painless.

[... ] its aim is a complete overhaul of the current NetLib code, with special attention paid towards footprint, maintainability, and performance.

When I saw this, my heart jumped with joy!

Netlib [netlib.org], one of the original free code repositories is in dire need of being re-written/cleaned up. I once tried to translate lsode.f [netlib.org] into C. At first, I tried to translate it without using goto's. Then, I tried to translate it even with goto's. Then I used some code from Numerical Recipies in C.

Oh great, the invasion of the Stroustrop battle force is complete. All hail Bjarne! Now other than the javascript code, there is no significant C code left, unless you count the open source libraries they use like zlib and dbm.

Not to pick on the netlib guys, but I think this is a good example of why mozilla hasn't lived up to expectations so far. In your usual open source project, people tend to pick the path of least resistance to a working product. Throwing away working code in an already unstable environment doesn't help things. Maybe the netlib guys are just bored though.

I doubt it. We really _needed_ gecko for the standards support developers wanted. This is just an example of thinking ahead for mozilla. Javascript 2.0 is also in the works. btw, IE4 came a few months after NS4 too. Also, we have (hehehe) AOL

the war didn't start yet. After all, linux is growing and I doubt we'll ever see IE for it. There are many other reasons of course but to make my point more concise-we're just beginning to truly understand what computers can do for us, especially since most people don't even have computers in the first place

We are getting contributions-it's just that it's coming from the commercial non-linux side. For example you have the active-x control which allows mozilla to be embedded in many apps. There's doczilla, neoplanet, Allaire wants gecko in homesite, etc

Well, mozilla will be included in HotDog, Homesite, Neoplanet, doczilla and quite a few other applications. That proves mozilla is very modular. On the other hand, I don't think we'll see mnemonic is any commercial web-based app. If mnemonic is the only alternative to IE then people will prefer MS' license over the GPL

This is a valuable project, and I wish them well. However, I hope they're putting real effort into getting a usable product out the door soon.

I for one will be much more motivated to contribute to Mozilla once I'm using it. I think development will happen much faster after it's released, so they should first focus on getting a working package out.

AOL - with its staggering mountains of cash - can go hire its own programmers and tech writers. I think the legitimacy of the entire Mozilla project evaporated as soon as it came (ostensibly) under the stewardship of AOL.

Correct me if I'm wrong, but a lot of the widget stuff in Mozilla 5.0 was dependent on the renderer. This is why the switch to NGLayout/Raptor/Gecko completely affected the project, it changed everything.

I don't think making a new network library will be THAT big of a problem for the development cycle. If they keep the function names & parameters pretty much the same, it should just be a matter of swapping a few units.

Of course, that is an ideal outlook. But I guarantee you that it won't cause as big a mess as replacing the rendering engine did.

On the Necko web page, they have the quote "It's wafer thin" at the top. I remember a Monty Python sketch in The Meaning of Life where John Cleese (?) is a waiter for an extremely fat man who eats a whole tablefull of food. Cleese convinces him to eat an after-dinner mint, saying "it's wafer thin". The man eats the mint, and promptly explodes. I'm worried that the Mozilla team is stretched far enough as it with everything else they're doing. On one hand, maybe this effort will bring in more outside contributors who like writing networking code. On the other hand, maybe the five Netscape developers assigned to this project should focus on getting the rest of Mozilla in shape and doing this for a later release. There will always be enhancements to make to Mozilla, so we shouldn't be ashamed to release a version with the old networking code.

No hurry, let the project take its time. If the developers start to consentrate on release dates instead of good, clean code, we will end up with a slow, unstable browser. You know - like all other browsers to date.

If you are in a hurry, you can allways buy Winblows and install MSIE5...

Cleaning up netlib would be bad. Already, too many young whippersnappers wouldn't know a FORTRAN compiler if it came up and bit them. And don't get me started about their wanton use of structs and pointers. No sir, if I had my way, all those "universities" teaching C++ and Java would be turning out FORTRAN-IV programmers. And no FORTRAN 77; that's already heading down the road to ruin.

More seriously, I think a lot of the stuff in netlib is actually pretty good. I wish more of it used reverse-call interfaces, but the numerics seem generally more solid than what you find in Numerical Recipes, and the community has definitely gotten a lot of reuse out of it. My current project has 25K lines of FORTRAN (none of which I wrote) and 3K lines of C++.

As for translation problems: extern "C" dgetrf_(...);

Still waiting for a Linux distribution which includes a nice optimized BLAS library...

Of course, "quality is job one" but at this rate, Mozilla will never ship. Mozilla is a glowing example of Fred Brooks' Second System Effect. Given the chance to "do Netscape the Right Way", the Mozilla skunkworks will never release anything. If you want to ship a product, the last thing you want to do is add new features late in the game.

Netscape had been working on Netscape 5.0 before Mozilla was open sourced. Their schedule slips. Then they add Gecko to the schedule. It slips again. Then they want to redo the Mail reader. The schedule slips again. Now they want to add Necko and overhaul the network code. Will Mozilla ship anytime soon?

Software will never be perfect. Mozilla is having a difficult time because they are straddling the chasm between the "worse is better" marketplace demands and coders' gold-plated cool features. All software ships with bugs. Dumping tons of new code into Mozilla is not the best way to stablize the system..

Why don't people just get the stupid browser OUT THE DOOR? It's been over a year, and we're still stuck with 4.5 while Microsoft has released a new browser that is _better_ in many people's opinion. Has anyone else noticed that many people say the browser war is over, and Microsoft has won? What does it say about the Open Source community that we can't put out a web browser? Instead of doing something _well_, just do it. Because Mozilla is modular, we can plug the net stuff in later.

And the most common target for gcc is x86. Maybe he should design an optimized x86 implementation to go with it!

*sigh*

I, too, am tired of hearing "boy, isn't it a shame nobody stepped up to the plate" about Mozilla. Here's this partially-formed, highly monolithic slab of nearly incomprehensible code ostensibly written by some of the better talent in the commercial world, and golly, it's a shame Joe Sixpack hasn't contributed a single line towards it!

And the most common target for gcc is x86. Maybe he should design an optimized x86 implementation to go with it!

*sigh*

I, too, am tired of hearing "boy, isn't it a shame nobody stepped up to the plate" about Mozilla. Here's this partially-formed, highly monolithic slab of nearly incomprehensible code ostensibly written by some of the better talent in the commercial world, and golly, it's a shame Joe Sixpack hasn't contributed a single line towards it!

Like every other Open Source project, you work according to your needs. If you don't need an Open Source, standards compliant browser for your OS of choice, then don't help.

Mozilla doesn't need a full volunteer corps of programmers. It needs people to fill in the gaps. AOL *is* funding the effort. But they're also allowing you complete access to their work. They're giving you code. You think you could be grateful.

If you don't want to "work for AOL", that's fine. However, confining Open Source to only "completely volunteer" efforts is silly.

Well, mozilla will be included in HotDog,Homesite, Neoplanet, doczilla and quite a few other applications. That proves mozilla is very modular.

I don't see how this is so. In all my playing around with and reading about Mozilla I'm inclined to conclude that it aims to be yet another monolith that includes far too much functionality beyond what I want from my browser.

Those applications will simply be bigger monoliths that are a superset of mozilla.

On the other hand, I don't think we'll see mnemonic is any commercial web-based app.

Mnemonic is Free Software. When it releases, you may include it in a commercial application under the terms of the GPL. It's not aiming to be a commercial browser. In light of this, I'm afraid I don't quite understand your point.

If mnemonic is the only alternative to IE then people will prefer MS' license over the GPL

As well as being unfair (you're placing the fate of the GPL on the shoulders of the Mnemonic Project?) this comment shows a lack of understanding on your part of what Mnemonic is about.

Mnemonic is not in competition with any commercial or free software project. Our singular aim is to build an extensible technology that will allow us (as users of it) to do what *we* want with our browser (or ftp client or whatever) *when* we want it. That keeps the browser small, fast and completely under the user's control.

I mean no disrespect to the hardworking people on the mozilla project. I hope it succeeds almost as much as I hope Mnemonic succeeds.

It's a very big world out there, with plenty of room for any number of browsers and for freedom of choice for the end user to select the one which is best for them (MSIE included)