Now, I’m not an expert here, but I’m going to make a few guesses about the future of computing (specifically, server side computing). Feel free to strongly disagree. 🙂
First, Linux is going to really start taking off hardcore into the server world. The current popularity of Linux is based on commodity PC hardware, which is a good thing (unless you’re Sun, of course), but I think the major leap that Linux is going to make over the next couple of years is somewhere Microsoft can’t follow: mainframes.
There’s a lot of talk about putting Linux onto big iron mainframes, and getting uptime that normal humans only dream about (five 9s, six 9s… mmm, wish I had one). I think you’re going to find companies (especially those with mainframes already in place) start to move to high reliability, high availability mainframes, running Linux. The reasoning seems sound to me: the maintenance costs are arguably lower on a mainframe than a whole bunch of PCs, even though the cost of entry is much higher. You can imagine replacing whole data-centers filled with PCs running Linux and/or Windows NT/2000, with one or two mainframes running tens or hundreds of virtual copies of Linux.
And that’s why I think Mono is really critical for those of us who are fans of .NET. Not because we can run our software on those commodity PC-based Linux boxes (which is admittedly a plus if you’re using Linux on your desktop), but because we can write very reliable server software for these mainframe systems. The question is going to be whether J2EE or .NET is better suited for that environment. I put my money on .NET, personally, but since Mono is an individual effort outside of Microsoft, it’s going to take some community effort to make it happen.
Just my 2 cents. 🙂