I'm going to write this editorial as a developer, not as a CEO. Not specifically a Java developer, but a generic, abstract developer - someone that is involved with shaping tomorrow's software. I'm a very worried man. If I were to be a TV character, I would be "the Biscuit" from Ally McBeal, deep in thought, with a concerned look on my face. Let me explain.
Have you noticed how big Microsoft Office has become? It's shipping on a suite of CDs now, as opposed to a handful of floppies. Why? Are we really demanding that much functionality? Or is the coding getting sloppy? Is it as efficient as it could be? Is there a lot of dead, redundant or even useless code in there? Not being a Microsoft fellow, I couldn't possibly begin to address these questions. But I think somebody should.
But it's not just Microsoft. All the big boys are at it. Have you downloaded Oracle 8 lately? 160 MB. I ask you - it's a database, it's supposed to optimize the storage of data, and it ships as 160 MB! The same questions I posed for Microsoft are equally applicable to Oracle. Does it really need to be that size? I want to understand why software has suddenly ballooned in size.
Stop. Let me rephrase that last point: "Why commercial software?" That's better. You could become very cynical about the software world if this was your only experience. But thankfully, there is a breed of developer that's not only upholding the traditions, but setting new standards, breaking all the rules. But who are these people?
They are the open-source brigades, of course. A hardened bunch of developers that code not for money, but for the professional and personal gratification. This breed of developer knows that the code they produce has to be fast, efficient, lean and mean; otherwise their peers knock them down in flames. This driving force produces much more efficient code than any commercial team sitting within the ranks of Microsoft or Oracle, to name just a couple of the corporate software houses.
Have you experienced Linux lately? A Linux box can knock spots of any NT server, with NT's hardware requirements getting more and more demanding as each week rolls on. Microsoft has done more for the sale of memory than any other company on the planet. Apache versus Netscape? No contest. MySQL versus Oracle? Don't make me laugh. At the last download MySQL was not only 3 MB, but it also outperformed Oracle by a factor of 14. Yes, you read right. MySQL was 14 times faster than Oracle.
What's the difference between the software comparisons? The first one in each comparison is free, leaner and, more important, faster. But how can this be? These developers aren't being paid. They don't sit on fat salaries. They don't have endless in-house procedures to follow. How can this bunch of - dare I say? - "hackers" beat what we perceive as the industry's finest?
It's simple. Remove the need to meet deadlines, give a free rein, allow them to sit endless hours on the net in newsgroups and discussion forums listening to what people want as opposed to what management thinks people want. Only then do you begin to understand the ethos behind this underground army.
Remember the old saying, "You get what you pay for"? I'm not too sure this still applies. It would appear, if you pay for it, you get bloatware that requires more hard disk space, larger memory and faster processors to get any sort of performance out of it.
You get the feeling that somewhere in Microsoft a piece of code is running too slowly. So instead of the team sitting down and optimizing and rethinking it, they amend their documentation ever so slightly and add an extra digit to the end of the minimum hardware requirements. Oops--- another processor upgrade, if you please, Intel.
The big boys are scared, and so they should be. Linux has reset all the requirements. Dig out those dusty P90 machines - still life in the old dogs yet. IBM has openly embraced this attitude and has begun releasing their source code. Netscape has gone the same way. Oracle is porting to Linux and Microsoft still has no plans.
I bet if NT's source code was released publicly, somebody somewhere would pick it up and before too long you would see versions that would run 10 times faster on the hardware.
So to those developer masses, I salute you. Keep up the good work, and on behalf of the industry, thank you.