A typical Linux system is largely comprised of unrestricted, open-source software. But some of the most popular software around is either closed-source or open-source, but restricted by patents. Depending on your Linux distribution, this forbidden software may be easy to install--or require jumping through some hoops.
This stuff is roped off for several reasons. Many Linux distributions don't want to distribute closed-source software, so the AMD and Nvidia graphics drivers you'll need to play 3D games with maximum performance aren't easily available, and neither is software like the Flash plug-in. Other Linux distributions don't want to violate software patents in their home countries, so they don't distribute open-source multimedia codecs that allow you to listen to MP3s or watch MP4 videos.
Regardless of the reasons, here's how to install those forbidden, proprietary programs on your Linux PC.
Want to stay up to date on Linux, BSD, Chrome OS, and the rest of the World Beyond Windows? Bookmark the World Beyond Windows column page or follow our RSS feed.
Ubuntu makes this nice and easy. When installing Ubuntu, you'll see a checkbox reading "Install this third-party software." Activate this checkbox and Ubuntu will automatically install support for various multimedia codecs, Adobe Flash content, and closed-source wireless support. Even better, if you don't install this stuff during the installation process and try to play a multimedia file that needs the correct codecs later, you'll be prompted to install them automatically.
After installing Ubuntu, you'll be notified if your system needs proprietary, closed-source hardware drivers to function. Ubuntu will guide you through installing them with the Additional Drivers tool.
Linux Mint includes support for various multimedia codecs and Adobe Flash out of the box. This was Linux Mint's original reason for existing, and was especially useful before Ubuntu made it so easy to install all this extra stuff.
Mint also includes a Driver Manager tool that works similarly to Ubuntu's for installing these extra drivers. This is one reason why Ubuntu and Mint are some of the best Linux distributions for beginners.
Fedora and Red Hat
Fedora is committed to open-source software that isn't encumbered by patents, so the Fedora project doesn't host restricted software in its official repositories. Instead, the third-party RPM Fusion project hosts these packages for both Fedora and Red Hat Enterprise Linux systems. You'll need to visit RPM Fusion after installing Fedora and install the RPM Fusion repositories.
After doing so, you can use Fedora's standard software-installing utilities to install multimedia codecs or applications such as VLC, or install the Nvidia or AMD graphics drivers. Fedora still won't hold your hand--you'll need to search for and install the appropriate packages, but you can do it with a few clicks.
The Debian project hosts restricted software in its own "contrib" and "non-free" repositories. These aren't enabled by default because they don't fit with the Debian project's free software guidelines. However, the Debian project hosts these packages so users can make their own decisions.
On Debian, you'll either have to edit your /etc/apt/sources.list file by hand or use a tool like the Repositories window in the Synaptic package manager. Add the "contrib non-free" repositories after the "main" line and this extra software will appear in Debian's package manager.
Like Fedora, the openSUSE project depends on community-provided repositories to fill this need. To install them, open the YaST tool and navigate toSoftware > Software Repositories > Add > Community Repositories. You'll see a list of community-provided repositories. The Packman repository contains a lot of multimedia-focused packages, and there are also repositories for the AMD/ATI graphics drivers and Nvidia drivers.
Other Linux distributions work similarly. For example, Arch Linux offers these packages in the Arch User Repository. Mageia offers non-free repositories that aren't enabled by default--you'll have to activate them first.
You can generally find instructions for your Linux distribution of choice by searching for its name and "install codecs", "install nvidia drivers", or whatever else you want to do.