I’ve been wanting to move to using Linux as my primary operating system for years. Currently, I use a dell notebook provided by my employer, a great machine, as my machine. It’s running Vista. I finally think I might be able to make the transition.
My day job is as a developer of Windows application software. I’d like to move to non-windows stuff, mostly for ideological reasons (free the software now!). Now, you can write free software on and for Windows (and I do), but it’s not a free environment, and the culture generally unfree. The windows-using corporate environment doesn’t generally grok free software, seeing it as stuff written by weirdos that you can just take for free (which of course you can). The attractors are all on the closed source side in the windows world; it takes effort to stay free, it’s difficult to make stuff that is free that people feel they can use.
Whereas, if you *really* want to participate in the free software culture, it’s Unix, and more specifically Linux all the way. There, the attractors are on the free side of the chasm, and closed source is the stuff that is hard to sustain, hard to make work. That’s where I want to be.
To be in that, you need to be a Linux native. While I’ve used it here and there, used it at uni, and have commercially worked with unix in the past, I don’t feel native. Really there’s only one way, which is via immersion. My primary machine needs to run Linux, and I need to learn to live it.
I would have done it before this, but I (as many people) have some things I use my notebook for which I felt needed windows. They are:
1 – Close-to-the-machine windows software development.
99% of my software development for Windows is done on virtual machines (I use VMWare Workstation, my notebook has plenty of memory, and I use fast external drives). I do this because inevitably different development work has conflicting requirements of the development environment, so totally separate development environments solve a lot of problems. Also, I tend to use Windows Server 2003 as a dev environment, mostly for the unfettered access to IIS, but that’s not something I want as the host OS on a notebook (might work, but I suspect I’d have dramas). And I feel that day to day pc use is very different from development use, requiring different setups, and it’s nice to keep the two usages separate.
Which is great, because developing on VMs means moving to Linux is just a case of getting VMWare for Linux. Except, of course, if I need to develop graphics or sound or something else hardware intensive, for which VMWare wont cut it. Which increasingly it seems is the case. All my great plans out the window 😦
I could dual boot to solve this. I don’t like dual booting because inevitably you end up only using one of the environments, so the other is just useless complexity. What I think I’ll do instead is have a bootable XP environment on an external drive, purely for close-to-the-machine coding (which I need only rarely), and I can plug that in as necessary.
2 – Games
Games! Probably Windows’ last best hope for staying indispensible. Nowhere do we see the network effect at work moreso than here. Particularly for me, I play World of Warcraft. An OS that doesn’t support it is a non starter.
It looks like Wine will actually bridge the gap here. I need to test this, see how WoW works under Linux+Wine. But from my initial surveys, it looks promising.
I don’t tend to play really intensive games, so if WoW works, everything else should.
So, I have a plan! Change to Linux, use Wine for games, and an external drive with XP for hardcore windows coding.
I’ve used Ubuntu before, it’s cool. I’ll start there. I need to test that this is going to be ok before jumping in, so my plan is to install Ubuntu onto an external drive that I can boot of, then try getting games going in there. If that succeeds, then it’s all go!
Wish me luck!