Recently a colleague of mine contacted me, saying that an associate of  his (yep friend of a friend) was trying to learn Linux, what was the best way to go about it? Because I get asked this question so often, I decided it needed an entry on my site.

So why is the article so far about Linux when the title says open source. Well, because it’s rather pointless to talk about one without the other. The open source community is different then the closed source community., and moving from Windows or Mac to Linux can be interesting if you don’t keep that in mind.

I know Linux pretty well from both the server and desktop perspective. All non-.Net code that I produce runs on Linux servers. From the desktop perspective, I only use Linux. When needed I use VirtualBox to get into a windows environment to look at web pages or develop .Net code, but other then that I’m 100% Linux. I have taught several people to use Linux and regularly provide support for clients, friends, and colleagues. Here is what I recommend for anyone trying to learn Linux.

What is open source?

Don’t worry, I’m not going to go into the fine points here. There are several articles on the net already about the differences and different flavors of open source technology. Basically open source software is software that you can freely download the source code for and make modifications to. It’s not perfect for everything but 98% of the time the software produced in this manor is superior to similar software in the closed source community (that was an opinion by the way). Most of the software that most of my clients build their sites on is open source. Rails, Java, Apache, PHP, Linux, and MySQL are all open source in one form or another.


Which distro?

Well I was asked Ubuntu v.s. Fedora. I chose to recommend Ubuntu. (Again opinion here) I find Ubuntu easier to maintain and use. Any Debian based system should be just about as easy, but Ubuntu has a huge community and that helps out a lot.  In server land Redhat Enterprise Linux is pretty common, but I prefer Ubuntu Server most of the time as well, unless your buying support. At the end of the day it’s 100% preference. But I do find Ubuntu really easy to use. Personally I run Kubuntu, the KDE version of Ubuntu on my  boxen and Ubuntu server on most of my web servers. In some cases RedHat Enterprise Linux, but it’s rare.

Ok, so how do I learn?

The best method I can recommend is to use it. Take all your computers and put Linux on them as the primary OS. Put windows on as a virtual machine using VirtualBox. This ensures that you will spend most of your time in Linux doing your common tasks there and only do the stuff you don’t know how to do, or that you really don’t have time to learn to do in windows. (if your a graphic artist, you might want to use VirtualBox for Photoshop in the beginning). In two weeks you will know how to do 80% of  your basic computing tasks in Linux. The other 20% will be slower to learn because it will likely be something you only do once or twice ever (i.e. setting up wireless, configuring a printer).

Um, open source?

Yeah, I’m getting to that. OK so now you have a Linux box and your sending emails and browsing the web, but you still have to use windows and VirtualBox for a lot of things. Well here’s what you do. First, make a list of all the software you had to buy. Next, add to the list any software you have to go into VirtualBox to use. Now that you have a good list, take the first item on the list and find an open source alternative. For instance if you  bought office, try OpenOffice. Install OpenOffice in Linux, and start using it. Use it for two weeks so you can get a feel for it and decide if you like it. Try this with a new piece of software every week. You shouldn’t be using more then two new pieces of software from your list at any one time. If it takes you more then two weeks to learn a piece of software then don’t start on a new one. Try to keep learning two at a time. It will keep you from becoming flustered at learning new things because you will have a week of experience on the oldest app and be in a “oh that’s cool” state  with that app. Keep in mind that the first open source alternative you try might not work for you. If your trying to replace Outlook, and try Kontact but don’t like it, try Evolution.  After a short time you will be using open source software for almost everything you do.

Keep in mind that not everything will have a working open source counterpart. Many graphic artists are trained in Photoshop and won’t find Gimp to be a suitable replacement. I still use Visual Studio 2000/5/8., and many people are so used to Quicken/Quickbooks that they won’t like moving to GnuCash. Just keep a list of the apps that there are no acceptable open source alternatives for. Look around on the web every once-in-a-while and see if someone has created one yet.

I also recommend getting involved in the community. Take some time and browse the help forums and help others out where you can. Teaching is by far the best way to learn.

I need help!

Ok, first, breath. You made a big leap. There’s (usually) no tech support number to call, if there is one there probably just going to tell you they don’t know what Linux is, or that they don’t support opening their documents in OpenOffice. That’s the bad news. The good news. Well there is a whole Internet full of information out there just waiting for you to use it.  Try Google Linux and the Ubuntu Forums to get you started. There’s help channels on If you want commercial support, check the website of the application your using. Most offer commercial support via email or phone.

Is there a book or something?

Yep, there are several “O’Reilly books” available on Linux and open source software. Several other publishers too. Personally I don’t like them because they don’t stay current (it can be current when you buy it but 6 months later it could be out dated). But check out and give it a try if your more comfortable. Programming LLC. is about one thing. Getting your project done the way you like it. Using Agile development and management techniques, we are able to get even the most complex projects done in a short time frame and on a modest budget.

Feel free to contact me via any of the methods below. My normal hours are 10am to 10pm Eastern Standard Time. In case of emergency I am available 24/7.

Phone: (813) 421-4338
Skype: coteyr
Guru: Profile