An interesting piece by the PLUG mailing list’s resident Linux .NET winner. Congratulations! This email was taken from the PLUG mailing after a discussion on the Ateneo’s winning of the Microsoft .NET challenge. Sacha was one of the winning team’s members. This email was in response to a posting made that concluded “Microsoft is more user friendly than Linux.”
User friendly? by Sacha Chua
Let’s see. This is the .NET contest, right? .NET was beta when we were working on our project. Documentation was patchy and had placeholders all over the place. Our systems would lock up every so often. Oh, and let’s not forget the huge hardware and software requirements that the development environment had… We’d get Heisenbugs, too – bugs that seemed completely random.
Big deal. I’ve worked with patchy open source projects before – barely documented things that need a lot of work before they’re ready to get off the ground. I’ve changed languages several times. I was working with a very good team. We managed.
Yet even after being wowed by .NET’s drag-and-drop database-backed websites (it’s seriously cool), I find myself going back to my Emacs and my PHP and my Perl. Why?
Because these are the tools that work for me. Because I love being able to download and run anything just to experiment with it and learn how it works. Because I love being able to hack on something in order to make it work even more effectively. Because I love being able to learn from anything I run across. Because I love belonging to a community that freely shares knowledge. For me, it’s not just about the technology – it’s about the people, the culture, the openness.
Microsoft does have a developer community, sure. There are nice tutorials, sample apps, things like that. There are newsgroups and sites, and of course there’s MSDN. MSDN is pretty nice. Still – will I be able to get the source code of anything at all that strikes my fancy? Take, for example, my recent explorations of Emacs. I don’t think I’d be able to get the source code of the Microsoft IDEs and try to see how _they_ do stuff!
And try to find a way to fit a complete dev environment onto my 300 MMX laptop with 64 MB RAM… =)
That’s why I don’t see myself getting into Microsoft stuff any time soon. The culture practically discourages hobbyists. High hardware and software requirements present a barrier to entry. Closed source means I can’t learn from stuff that’s already out there. When there’s no good documentation yet – for example, when I’m working with new or obscure technology – I find the source incredibly helpful. I don’t get that with Microsoft, but I get that with Linux and the open source tools I use.
This is why I find Linux to be much more _me_-friendly right now. I don’t need some company telling me what I, as the user, should find “user-friendly.” Microsoft is _fantastic_ as long as you’re behaving like a ‘typical’ user, but once you try to do something they didn’t think of, Microsoft can get rather difficult. (Again a hasty generalization, but it really does seem that way, yes? They’re doing a pretty good job of predicting what typical users want, though.)
Don’t get me wrong – Microsoft is nice. I like some of the things that Microsoft has worked on. For example, I think task-based user interfaces are a good thing – much better than cluttered icons and whatnot. I think they’ve achieved a lot of success in making their office suite friendly enough so that non-technical people don’t need that much handholding. That’s a good thing.
But their idea of “user friendly” doesn’t include what I find to be user friendly. I certainly don’t think that proprietary formats are “user friendly” to people on other OSes, but I guess Microsoft can be excused – after all, I’m not one of their customers. Why should they have to make it easy for people to communicate with people who are not using Microsoft software?
I feel that Microsoft believes that everyone should be using Microsoft software – and not just any Microsoft software, but the latest and greatest. I find their practice of constant upgrading and planned obsolescence quite user _un_friendly. At least under Linux, I have a choice. =)
Those are some of the reasons why I still prefer Linux over Microsoft. I believe that whatever’s missing in Linux can be filled in, and the freedom of Linux allows me to help push it past anything some company dreamed of. A hasty conclusion, perhaps, but one that can be reconsidered when new thoughts come up.
Microsoft has its place in the world, undoubtedly. But maybe we should stop identifying ourselves by the operating systems we use. We’re _people_, not “MS users” or “Linux users”. We have different tastes, different interests, different inclinations. I identify myself with Linux and Emacs and other things now as a statement of fact – that’s what I use, after all. But I am above all committed to computer science and to helping people through computers, and this transcends operating systems, programming languages and paradigms. =)
I am not a “Linux gal” or an “Emacs gal”. I am a _person_ first and foremost. And if, having tried out .NET (although admittedly not as deeply as I might have), I still choose Linux and Java – what does that say about my choices?
Nothing. It says nothing about the inherent superiority of one operating system or language over another. It says, however, that I find Linux and Java more suited to _my_ needs for now. =) If you believe that your needs are similar to mine, you are free to use that as a recommendation. But it is not a universal truth. I do not hold that Microsoft is inferior to Linux in every way possible, nor that everyone should shift over to Linux right now.
Does that prevent me from advocating Linux? After all, how can I advocate Linux if I don’t think it’s better than Windows? =)
I think most people don’t know they have a choice, or they don’t know that the alternatives are less intimidating than they think. That’s why I love sharing stories about what works for me – maybe other people will recognize a bit of themselves and try out this strange alternative based on that recommendation. I like helping people who are getting into it. It’s not a rabid Linux vs Microsoft thing – it’s discovering ways to work more effectively.