Tag Archives: beginner

Thinking about Linux

When people talk about computers they usually label themselves a Windows or Mac person. I’m a Linux guy. I’ve run Linux on my computers for about 15 years. My family runs Linux on their computers. No, we’re not a super-cyber-family who hacks all the time. My daughter is 12 and mostly interested in her music. My wife works with Girl Scout events and is not deep into technology. In that time we’ve not had a single virus infection on our computers and we’ve been able to get things done. Maybe Linux is a good answer for you too.

Screenshot of Chris's laptop. He's running Ubuntu Linux with the Cairo desktop, giving him a Mac-like feel for some functions.
Screenshot of Chris’s laptop. He’s running Ubuntu Linux with the Cairo desktop, giving him a Mac-like feel for some functions.

I’m going to spend a few posts talking about Linux and why I use it. A few of my friends, after seeing how I get things done have also decided to move to Linux. Ultimately, I’m not trying to convince you to make a change. My goal here is to help you understand that you have choices and help you decide if Linux might benefit you.

What is Linux?

Tux the penguin
“Tux” the penquin has long been a symbol for Linux. You’ll see a lot of variations whenever Linux is around.

Linux is an operating system, the core software that runs your computer when you first turn it on. The operating system is the layer between the programs that you run—word processors, music players, Internet browsers, etc.—and your hardware—disk drives, keyboards, pointing devices, monitors, etc. They’ve always been around in one form or another and many have passed into obscurity that you’ve never heard of.

photo of Linus Torvalds
The father of Linux, Linus Torvalds

For personal computers the most popular systems are Microsoft Windows and Apple Mac OS. You’re likely already familiar with them, so I won’t go into more detail. In 1992, a developer named Linus Torvalds began a personal project to develop a new operating system. He based it on a long-standing system called UNIX, which had been running for decades on complex back-office computers. UNIX was designed to multi-task, or perform many different functions at once. A personal version of this seemed ideal for the way that computer usage was going.

Fast forward to today and his variation, called Linux (See what he did there?) has become very successful. Much of the Internet runs on Linux machines. Your high-end televisions and many other Internet-connected devices use it as well. I even saw a bar-top video game that ran on Linux. (I found out because I was curious what a button did. It turns out that it rebooted the machine. Curiosity is going to get me into a lot of trouble some day.)

While it’s true that Linux can run on very big, complex computers, it also runs well on laptops and desktop machine. If you have an Android device you are already running something that is based on Linux.

Linux is open-source software. That means that the code behind Linux is available for anyone to see. It is licensed with the GNU Public License (GPL), which means that it is specifically intended to be freely available. You can get the source code, compile it and use it without any cost. Obviously you would need to be a little nerdy to do that (and I’m afraid I have). However, there are pre-built installations of Linux with guided installations that are as easy to set up as Windows.

These distributions are easy to download from the Internet. In many cases you can test drive them or run them off of a CD, DVD, or USB disk without having to install anything on your system.

What this means for you is that if you want to you can get Linux for free, install it on your system, and use it for free. Modern installations have a graphical interface and all kinds of software included, everything from office suites to media software.

Photo of Lego-style blocks
Because Linux is free it’s easy for people to get creative and remix it in different ways.

A really interesting site to browse and learn about different Linux distributions is DistroWatch. There you will see all of the different installations that people have designed. It’s actually a little overwhelming because people treat Linux like Legos® and are always building new stuff with it. However, don’t be nervous. In my next entry I’ll break things down into a few distributions that I think are most useful to start with.

 

Q: How do I get involved in Open Source?

Congratulations on discovering the importance and opportunity in Open Source software. The first step, in my opinion, is to start using Open Source yourself, wherever possible. You have probably already started on this path. The easy steps are using Firefox for browsing, and programs like OpenOffice.org and Thunderbird for productivity. (If you’re nervous about the whole Oracle thing with OpenOffice.org, fear not, there are forks that have occurred which will keep it open.) For development, you should look at the Eclipse project as well as the many other interesting development tools that are out there. There is a vast (and incomplete) list of interesting Open Source applications available in Wikipedia. You can also find a rather complete repository of Open Source projects (including the good, the bad and the really ugly) at the grand-daddy of all Open Source sites, sourceforge.net, a free repository for project owners to organize and share their project.

Of course, you should also consider taking the Open Source plunge and running Linux. (That link is not the official Linux kernel site, but a good starting place.)

Like I said, you are probably already using Open Source software to some degree, but the more you use the more you become aware of how the Open Source world works, how the community drives development and support and what you think is missing from the equation that you can contribute.

To get involved on the development end, you have a few options. One is to take a project that you use and identify something within your skill set that needs help. You don’t really have to ask permission to offer a solution, but you should follow the protocol for the project. Every project will have information about how to contribute. If they don’t, then write to the key players of the project and let them know that you have something to contribute. They will likely be very pleased. If they’re not, then go find someone else to help!

Another interesting thing to do is to look at the list of projects at sourceforge.net. They actually have a list of “help wanted” projects that you can dive into. If you dig around, you may even find projects that have lost their maintainer (which happens for a variety of reasons). Picking up that work could be a great project and a valuable service to the community.

Don’t forget that there are open projects that need more than just coding. There are needs for testing, documentation, translation and just about anything that you can imagine in the business of software development. Simply writing excellent tutorials with good manuals and video demos could turn a project around… and this is typically the sort of work that the deep developers don’t find very interesting. There are even other opportunities, like the proofreading help needed by Project Gutenberg. Unusual projects like the Open Prosthetics Project, which try to accomplish goals for the general good.

It’s not hard to get involved in projects. It takes time and a little discipline to stick with it, even though you don’t have a manager demanding that you produce. However, I think that you gain the same satisfaction from this work as you do from any sort of good volunteer work that you might do, and you actually get to benefit from the work yourself by having greater functionality and improved skills.

Comments and pointers to opportunities are certainly welcome!