Migrating to open source software: Linux
Going Open Source: An Overview of Open Source Software and Linux Migration
If you have thought about moving away from Microsoft or Apple products to an alternative, reading this document is a good place to start. In what is to come I provide an overview of what open source is all about. I explain that moving to open source computer operating systems and software is much easier than you might expect. I also list some things to think about before moving to open source, and give an overview of some basic software you will likely find useful and want to install once you have migrated.
Moving to open source computing primarily means you will use a Linux operating system. While you may have heard frightening stories about unusual new features, or the need to occasionally type commands into a text based terminal, Linux has become very user friendly and instances of having to use the terminal are few and far between. Even when you do have to use the terminal you will likely only have to copy and paste commands from someone else's instructions. You can look at the instructions for setting up Netflix below if you want to see an example.
If you are thinking of going open source, have no fear, this is a gentle guide that will help you plan to make the transition. Remember that you are not alone. There are entire communities on the internet dedicated to supporting each other with occasional problems that might arise. This is not a step-by-step guide to installing Linux, but a practical guide to planning before you do an install.
Why Go Open Source?
If you have been a computer user for any length of time you will likely recall despairing at how expensive software can be. Perhaps you also noticed that the more features you want or need, the higher the price tag gets. You may also identify with the notion that the big corporations producing much of the computer hardware and software these days are wealthy enough, and don't have your interests in mind when they design their products. There are many examples.
If you have ever bought a new computer you will be familiar with the nuisances of bloat-ware, unnecessary software installed on your computer that clutters your desktop when you first boot up. Most of this software is harmless other than the fact that its purpose is to incite you to spend your hard earned money, clutters your workspace, and slows your computer. If you want your computer to come to you without all of the bloat-ware pre-installed, you have to pay additional fees.
If you purchased an Apple computer, that bloat-ware might not be an issue, but you will soon discover that their hardware is set up to encourage you to purchase more of their hardware—dongles. Dongles are little attachments that allow you to add a feature to your computer, like hook it up to your HD television, and are the most notorious example of how Apple tries to get you to spend more of your money on their products. Why did Apple not simply build that feature into your computer in the first place? They wanted you to buy the dongle. You will also quickly find that once you purchase software, music, or other media through iTunes that software has been designed not only to get you to buy more, but to become dependent on it for syncing such content between your devices, again, to get you to buy more stuff.
More frequently technology companies develop their products in ways that limit your control, ownership rights, and actively force control of your devices (and the data they contain) from your hands, into theirs. More frequently you do not actually own the device or software that you buy, you are only licensed to use it in very specific ways. Often enough, these devices and software also do things in the background that we do not know about. Some examples include collecting information about our habits on the Internet, our physical location, and who we have been talking to. This information is then used for a variety of other purposes, the most common is probably that it is sold to other companies for marketing purposes.
If you have had any of these experiences, and are sick and tired of them, it may be time to say goodbye to the big-business world of high priced software, and go open source.
What is open source?
Open source is a broad category that defines products developed largely by volunteer communities to be shared widely with others. Rather than holding private patents and working through a for-profit business model, the open source communities do their work under open licenses that make the products free for use and allow others to re-program, tinker with, or otherwise adapt the products to their personal needs and for further sharing. While volunteers often fund projects out of pocket, donations provide support for much work in the open-source world. Open source products would not exist without the generosity of time, spirit, creativity, and money of people who believe that they can contribute to a collective good through such giving.
Open Source Politics
While you may not be looking to get involved in any sort of political movement, and that is okay, it is important to at least be aware that for many people open source also involves living a particular sort of lifestyle or politics. Migrating to open source, or working as part of an open source community, allows you to contribute to a collective effort to promote access to information and technology, and the freedom to use them however you wish.
While for-profit businesses may produce useful and innovative products, they are often unfordable for many people and designed to limit what you can do with them. Without access to information and technology we are all limited in our ability to participate in democracy, partake in formal and informal education, learn skills that are marketable to employers, and communicate or share with friends, family, and distant others.
While you may not take on a commitment to open source politics, you should be aware of the work to provide you with freely available technology and information. If it were not for such politics, you would not have the option of migrating to free software systems. To read more about this aspect of open source, Richard Stallman provides some good discussion on the topic.
Given the politics of open source, if you do end up migrating, then seriously consider making a donation to the projects that you take advantage of, any amount helps. While volunteers create open source products for free, there are often many costs that they pay out of pocket, your donation will help offset those costs and ensure that the community will be able to continue its good work. If you can't afford to make a donation, that's okay, perhaps someday you will, but you can also contribute by telling others about the open source products you use.
One of the reasons I decided to go open source was because I wanted to learn something new. Entering into the open source world is a great learning opportunity because this world includes dedicated communities with interest in sharing information and teaching others. Of course, you are free to learn as much or as little as you like, and trying to become an advanced user will often mean exposing yourself to all sorts of technical complications that most people prefer to avoid.
In the context of computing, going open source means migrating away from Microsoft products such as Windows operating system, and Apple's Macintosh OS operating system and likely toward one of the many flavours of Linux. Moving from one style of operating system to another is called “migrating”.
Migrating to Linux – Have no Fear
Perhaps this is not the first time you wanted to move away from Microsoft and Apple products, you may have read about a world of free customizable software, rushed to install a Linux distribution and then discovered that the operating system seemed too unfamiliar and complex to learn, or once the install was complete you found that video or audio controls on your computer system disappeared, or the software you typically use would not work.
Migrating to open source software is not the troublesome process it once was. Newer distributions (read “versions”) of Linux closely resemble a Windows or Mac layout, and emphasize ease of use. There are many flavours of Linux that build off of each other and fix problems with each release. Many of the common applications you are used to working with are now available in open source versions. In the past several years, these programs have made great strides in user-friendliness and compatibility. Gone are the days of hunting on message boards for solutions to what should be a simple solution for a basic problem (e.g., playing a video or music). While you may find an occasional hiccup in trying to accomplish a particular task (e.g., setup an older multi-function printer), such complications are become rarer with each new version of Linux that is released.
If you are the sort of person who likes to dip their toes into a pool to test the water, rather than diving right in for a swim, you might find it best to install Linux on an older computer that you thought was too slow, regard as long dead, or were thinking of giving away. You will likely be surprised at how fast the computer will run once you have installed Linux, and may not need to get a new machine. Another alternative is to download a Linux version as a live CD, and burn it to a cd. The live cd will let you play around with Linux and see what it is like without having to install the software, though it will not run as smoothly and quickly as it would if it were fully installed.
No matter what your approach to Linux migration, you will want to be prepared, and just as when you shop for any product, do your research about what version of Linux best suits your needs.
Deciding on a Linux distribution
Linux comes in many flavours, versions, or distributions (“distros” for short). You can read more about different distributions at distro watch (http://distrowatch.com/). If you are migrating from Windows or Mac you will probably find that Ubuntu or Linux Mint are the distributions for you. Ubuntu is the most commonly used flavour of Linux and is developed by a group called Cannonical, a UK based business that works actively to promote free to use and user friendly software. Linux Mint builds off of each new release of Ubuntu and is developed by an open source community, it has become the fourth most commonly used OS after Windows, Macintosh, and Ubuntu, and new versions are released every six months. While you may want to explore other types of Linux, you will most likely find it beneficial to begin with one of these distributions in order to gain familiarity with Linux.
Deciding on a Desktop Environment
When you turn on your computer and login, the space you commonly refer to as your “desktop” can be conceived more accurately as a desktop environment. One of the benefits of Linux is that you can choose what your desktop looks like, how it functions, and the degree to which you can customize its features. You will want to read up a little on which desktop environment is best for you. Some are bare-bones and require more advanced knowledge and experience to be adapted to, while others will look and feel just like your familiar Windows or Mac OS desktops. Ubuntu's default desktop environment is called Unity, and will be easy for the first-time Linux user to learn. Mint, on the other hand, provides a number of bundled desktop environments including MATE, Cinnamon, Xfce, and KDE. The first versions of Mint to be released with each update are typically Mate and Cinnamon, the other desktop environments are usually released at later dates. If you are particularly comfortable with Windows, Cinnamon may be a good choice, whereas Mac users may find Ubuntu's Unity desktop to feel most familiar.
Beyond user-friendliness each desktop environment has other advantages and disadvantages. Some use more memory or require more work from your processor to keep running. Some allow you to customize menus and panels or dashboards. I tend to prefer MATE because it is a relatively low-resource intensive environment that also allows me the freedom to customize the look and feel by moving panels to different positions, and adding shortcuts to them in ways that I prefer. You will want to search online for reviews of the different desktop environments that are available before coming to a decision. A review that I found helpful is available at renewablepcs.
Don't worry if you make a choice and don't like it, you can install multiple desktop environments at once, and choose to switch between them at the login screen when you startup your computer. I will discuss this more in depth below in “Software to Think About Installing”.
Be Prepared
So you have done all of the research you need on Linux distributions and desktop environments, now it's time for the migration. I cannot stress enough that you must be prepared by backing up all of your documents, pictures, videos, music, and other precious files to an external hard drive, usb key, the cloud, or other device. The worst possible outcome is that you erase your computer's hard drive and then discover that you lost a paper you were working on for school, a document your boss wants for a meeting on Tuesday, or picture of your child's first steps. Backup everything you do not want to lose and be sure to put it all in a safe place.
You may have software that you downloaded and installed on your Windows or Mac system (if you have an iPod read about gtkpod and see if it will meet your needs), you may also want to back these up as many programs can be used within Linux, or by installing a virtual machine once you have migrated. A virtual machine is an application that acts like a computer within your computer and allows you to install Windows, Mac OS, or a different Linux flavour in order to run those on your actual computer's desktop. By using a virtual machine, you will still be able to use the programs you paid for even if they don't work with Linux.
Do you have hardware that will work well with your chosen Linux distribution, or will there be problems? Will your printer work out of the box, or will you have to do some work to install it? Do a search on the website of your chosen distribution to find any issues with compatibility and to find solutions. Email yourself or print the solutions so that you have them handy when the time comes to deal with them.
Will you have UEFI problems? Unified Extensible Firmware Interface (UEFI) is something we need not discuss in depth here, but it can put a wrench in your plans to migrate to Linux. Essentially, it is a way for companies like Microsoft to prevent you from installing non-Mircrosoft operating systems on your computer. Read the Wikipedia page on UEFI Criticisms and do an Internet search to be sure your computer is not being controlled by the corporations you are aiming to escape. This is typically only a problem if you are using a laptop, as you can easily build customized desktop computers to suit your needs. If you do not currently have a computer, or are planning on buying a new computer, there are also companies that build systems that are Linux-friendly and do not prevent you from installing whatever operating system you prefer. I recently bought a new laptop from System76.com and was very pleased. System76 pre-installs Ubuntu for you and the computer will do most everything you want right out of the box.
Most Linux communities will provide a step by step guide on how to install their distribution onto your computer. Find the guide for the distribution you chose and print it out. If you have a second computer, it can be useful to have it online and read the instructions on that system, if any problems arise you can then search for possible solutions.
Occasionally once your install is complete you will find that there are some problems with hardware. For example, a friend installed Mint on his laptop and discovered the mouse/trackpad and screen brightness controls would not work. Don't worry, you are likely not the first person to have that problem, doing a simple Internet search will likely yield some simple step-by-step instructions on how to fix the issues you are facing. When you do your search, it is often a good idea to include your hardware type or brand in order to get specific results.
Installing your Linux distribution
So far I have assumed you are ridding yourself of Microsoft and Apple products altogether, but installing Linux alongside Windows or Mac OS so that your computer starts and gives you the option of using either operating system is an option. You will have to search for a specific tutorial on dual booting if that is your preference.
To install Linux follow the step-by-step guide you acquired from your Linux community. If you have any issues, and it is not that likely you will, search for the solutions online using another computer.
The first time you install Linux it will likely take some time to get it installed, copy all of your documents from your backup drives, and install additional software. Now that I have done it a number of times, it only takes me about an hour. If you do not use a wide variety of software, good for you- the migration process will be even easier for you.
To save you some time, I have included links to some installation guides below. However, there is one common first step I want to highlight for you. You will need to acquire a copy of your chosen version of Linux. You can download a copy of Mint or Ubuntu for free, but this will mean you have to burn the ISO (file extension for a CD image) to CD or a usb memory stick. If you don't know how to do that, and don't care to read about how, then you can order a CD.
Instructions on how to get Linux (should work for Mint or Ubuntu).
How to burn an iso to cd. (Windows PC)
How to make a bootable usb drive. (Windows PC)
How to burn an iso to cd. (Mac OS)
How to make a bootable usb drive. (Mac OS)
Installing Linux on your PC
Step-by-step guide to install Mint as dual boot with Windows.
Step-by-step guide to install Mint as primary OS.
Step-by-step guide to install Ubuntu as dual boot with Windows.
Step-by-step guide to install Ubuntu as primary OS.
Installing Linux on your Apple
I have not tried to install Linux on an Apple computer, but my brief reading of it is that it is more complicated, and perhaps, dangerous than doing so on a PC.
Step-by-step guide to install Ubuntu as dual boot with Mac OS.
Step-by-step guide to install Ubuntu as primary OS.
Upgrading to a New Version of Linux
You do not have to do anything to upgrade most features of your Linux distro; updates are automatically detected and you will be asked to install them once they appear. Some of the newest features, or updates to your desktop environment may mean you will want to do a full install with the new version (or at least install the new environment, which I outline below), but now that you have done an install once, it will only get easier: you have been here before.
Installing Software
Linux communities use “repositories” in order to share software and keep their systems up to date. These are essentially folders of programs (called packages) that are held in the distant reaches of the internet. Ubuntu and Mint each come with a software or package manager that allows you to easily search repositories for almost any type of software you can imagine. Each distro also typically comes with all of the basic software you will want or need, an office suite, video players, music players, and anything else you would expect. Ubuntu's Software Centre provides an interface that allows you to search for applications by category or type in a description of what you are looking for, it provides free as well as paid software options. Linux Mint comes with software manager and works similarly. You will also likely want to search for and install “synaptic package manager” if your newly installed distribution does not already include it, as not all software managers use the same repositories and you may find it easier to use a different manager than to install repositories separately.
Below I provide a list of programs that I routinely install to accomplish my work as a graduate student, researcher, consultant, and would-be nerd.
Software to Think About Installing
The software list below is ordered according to a non-dogmatic notion of which application is most important to think about, but also according to category of application (.e.g, web browser, office software).
Desktop Environments
As I mentioned earlier there are a number of desktop environments for Linux which include: MATE, KDE, Plasma, and xfce. Do an internet search on desktop environments to find the one that's right for you. You can usually install as many desktop environments as you want using synaptic package manager and then explore each of them at your leisure. To change desktop environments find the menu on your login screen that allows you to “change session”. Then select the desktop environment of your choice and explore to your hearts content. If the desktop environment doesn't work, just reboot the system and try a different flavour.
Virtualbox
Allows you to install as many virtual machines as your heart desires. It is free and relatively easy to use. You can usually find and install it through your preferred package manager. You will likely also want to install the virtualbox extension pack in order to have better integration, such as ability to copy and paste from a document in the virtual pc to the real pc, with your host pc (the virtual pc is called a client). (https://www.virtualbox.org/wiki/Downloads)
Firefox
A web browser that comes with Ubuntu and Mint, highly customizable by searching for plugins/addons. It is also free and open source.
Chromium
You may be familiar with Google Chrome web browser, Chromium is the open source browser that Chrome is based on. I decided to get away from Google as much as possible when I migrated, this is an option if you make that choice as well.
Thunderbird
While many people rely on webmail like Gmail or yahoo mail, I have a number of email addresses that I have been able to integrate by using the Thunderbird email client. You can integrate a calendar called Lightning and sync your mail, calendar, and tasks, with your Google account or other accounts you may have at work or elsewhere. Integration may take some work searching the internet for tutorials and the like, but if one of the reasons you migrated was to learn more about how computers and applications work, this will be a good way to gain more experience.
Libre Office/Open Office
The open source world's answer to Microsoft Office and similar office suites. It is free and comes with most Linux distros. Recent versions are more or less compatible with Microsoft Office documents. One of the potential ongoing frustrations you will experience after migration is dealing with .docx, .pptx and similar “x” file formats. The file types (e.g., .docx) many of us have become accustomed to using and seeing are not industry standards, they are proprietary, created by companies like Microsoft to control the market. The Open Document Format (ODF) is a universal alternative, and in the spirit of open source, is about sharing files and allowing people access, rather than restricting and controlling people's ability to share in order to generate profit.
The ODF format files appear with “.odt” “.odf” and other “o” extensions. Libre Office has not yet been able to support full .docx (or any “x” file) compatibility. As such, if you open a document with the “x” extension there may be errors, formatting issues, or it may appear blank. This is only a problem if people are sending you “x” files, ask them to “save as” and choose Libre/Open Office formats or older Microsoft formats with no “x”, such as “.doc”. While this may occasionally become a problem, once you start saving files as “.odt” or “.doc” and sharing them with other people they will start using those formats simply because they don't pay attention to the fact that you sent them a file in ODF. Migrating to open source may also involve activism to make your life easier, but promoting ODF is a way to further the open source project. While “x” file compatibility may be a problem, with each new version of Libre/Open Office there are fewer compatibility issues and as of Linux Mint 16 and Libre Office 4.1 I have not noted any serious problems in my own work.
Okular
If you frequently read pdf documents and like to keep notes, highlight, and annotate them, this application is a must. It will not allow you to delete or add pages, but there is another application for that.
Pdfsam
A graphic user interface program that allows you to merge or split pdf files. This is a very straightfoward program and allows you to remove specific pages from a long pdf document, or combine individual pdf files into one file.
PdfTK4ALL
Based on pdftk, a terminal based pdf editing program, pdftk4all will allow you to add and subtract pdf pages from documents. You may not be able to find this in your software manager, but will find it along with instructions for install if you do a simple Internet search.
Gtkpod
Remember when I said that Apple finds ways to make you dependent on all of their devices and software? The iPod and iTunes are prime examples. If you have an iPod you are now dependent on iTunes to add and remove apps, music, and other content from the pod. Lucky for you gtkpod will allow you to do most of that stuff on your Linux system. Read up on gtkpod to be sure it will do everything you need it to.
Netflix
Netflix does not support Linux systems, luckily that doesn't hold back the committed open source community from finding solutions. Nixie Pixel has posted a video tutorial on how to install Netflix on your Linux system. She will also give you a basic lesson on how to use terminal.
Alternatively, you can open your terminal (click on the linux menu, search for terminal, open it) and copy and paste or type the following commands, one at a time.
Note that you should not copy the # or $ sign that people place in front of commands, they are used to indicate a new line of code:
#sudo apt-add-repository ppa:ehoover/compholio
#sudo apt-get update
#sudo apt-get install netflix-desktop
Now go to your menu and search for Netflix, or navigate to the “sound/video” menu and you should see its icon. Enjoy.
Update:With newer versions of Mint an alternative approach to setting up Netflix may be necessary, here is one tutorial.
Wine, Winetricks, and Play on Linux
Wine, is an acronym meaning “Wine Is Not An Emulator”. It is all-original code that has been assembled to allow you to use your Windows programs on Linux. Winetricks and Play On Linux are similar. You will likely want to install them, read about how to use them, and deal with them as needed. So far, I have not needed to use any of these. You can visit the Wine website to search a database of compatible software.
Unison/Unison+gtk
If you have more than one computer and want to sync/backup files between them, this program will provide you with a good solution. Unison is a command line based program that will require you to type in a variety of commands. If you are afraid of using the terminal, get Unison gtk for a graphical user interface.
Research Software
If you live in the academic world and do research you will likely use a variety of expensive software to accomplish your work. Most of the software you use will either work in Linux, or there are free alternatives. Even if you can't get them to work in Linux, you can always install a virtual machine that runs the OS you need to get your software to work.
SPSS
SPSS for Linux is a 32-bit program. As such, in order to install it you will have to first install ia32-libs from synaptic package manager. Follow instructions here:
http://www-01.ibm.com/support/docview.wss?uid=swg21621703">IBM support.
A free alternative to SPSS is PSPP, you can find it in the software manager.
Stata
You can buy a Linux version of this software. A free alternative that is somewhat similar is “R”, which you can find by searching your software manager.
Nvivo
I tried running this in wine and it didn't seem to work. You may have success with newer versions. There are some alternative qualitative analysis programs that might suit your needs, including rqda, gtams analyzer, or quexc. I should note that of these I have only worked with rqda, and it is not feature rich, but is good enough for some basic text analysis.
Transana
Transana is a free application for analyzing multimedia.
UCINET
Works with wine, and I have not had any issues thus far in my (limited) use of UCINET since migrating to Linux. Gephi is a free alternative to UCINET for network analysis and visualization.