Get the Facts - I Mean, Get Them
If you enjoy Microsoft PR material, you may find this “Get the facts” page somewhat interesting. For those of us who really deal with MS and Open Source stuff day by day, please just don’t laugh too loud.
My CV says I’m a “.NET blah blah blah”, and I’ve spent most of my professional life using and deploying MS technology. But you know what? I’ve had too many headaches with it. There’s always a gotcha; you cannot rely in their technology to do things more complicated that what the “getting started” demos say at first glance. Their APIs are often not completely implemented, and you cannot modify them if needed. You have to find workarounds to do things that you need, because their support website says that they won’t fix that problem until the next service pack, or worse, until the next version. And so on.
For example, in .NET 2.0 you can serialize DataTable instances into XML natively; nice. You can then use them (even if it’s not the best practice) as the result of a web service call. Cool. But did you know that the WSDL.EXE utility included in .NET 2.0 does not handle DataTable as return type for a web service? This is not documented either (at least I haven’t found it), so that the proxy generated by WSDL.EXE is completely flawed and you don’t know why your application does not work… until you Google on it. And since you cannot change it nor fix it, you are stuck to find another alternative.
They have a great contradiction between their approach to first-time users and hardcore development. There’s a mismatch; it just does not work the way they say it should.
So at that point, their comparison of Linux and Windows Server 2003 just does not make it any more. I do not buy it. I do not doubt that Windows Server 2003 might be a great product, as well as .NET, BizTalk Server or even SQL Server 2005, but the thing is, that none of the companies I’ve worked so far fully understood the licencing terms, and often just used the software without licence at all. And this makes everyone nervous.
It’s just a pain; remember MSDE (Microsoft Data Engine), the free version of SQL Server 2000? Well for example you just could not deploy it for your own applications BUT following a specific set of licence rules, one of which was the fact of “not using it in replacement of Microsoft Access”; that is, if Access could be used in the same context (how come?) then MSDE could not be used. The result was a good deal of applications and websites using Access for data storage instead of MSDE (!). I know a few.
Result: lock-down, imposibility to migrate data to other systems (well, yes, there’s a couple of SourceForge projects allowing you to migrate but… why aren’t these native features?) and overall unhappyness of developers and maintainers.
I know that there’s not only the problem of ease of use or licencing; what about performance? What about ease of setup? MS was the first, it’s true, to offer real drag-n-drop installation of compiled web applications; but now they are not the only ones, and their solution seems older and more complex compared to others. The Open Source world is growing today at incredible speeds, and innovation and new developments are happening before in the Open Source space rather than in the proprietary one.
So what? Are we gonna stick to ASP.NET just because there’s a whole bunch of project managers out there that think that it’s the only way to do things? Just because they do not know (and sometimes they do not want to know) that there’s a life out there? It’s like pretending that SAP might be the answer for everything.
Those who say, today, that using open-source technology is hard, is just because they haven’t used any of it. At all. And poor them, they just do not know what they are missing.. For a complete roadmap of technologies, just check this article of mine; it might help to find your way. And grab an old PC and download and install Ubuntu. You might as well be surprised. And drop that copy of MS Office altogether; OpenOffice.org is just plain great stuff.
There’s a fight going on. If you don’t believe me just read this article.