Some people hate the idea of adding proprietary software to their desktop Linux. For these people, there are Linux distributions such as gNewSense that use only free software. For the rest of us, who use distributions such as Fedora, openSUSE and Ubuntu, there are times we either want to, or feel forced to, add proprietary programs such as Adobe Flash or Skype or the ability to play proprietary audio and video formats such as MP3 or commercial DVDs to your Linux desktop. Here's how to do it.
Before taking this path though, you should consider that there are many open-source programs that can deliver the same goods as proprietary software. For instance, Gnash plays most Flash animations and videos just as well as Adobe's own Flash does. For an overview of free and open-source software that can give you the same functionality as Windows software, check out the Ubuntu's Free Software Alternatives page. You may well find that you can get by without proprietary software after all.
If you can't though, some distributions make adding proprietary programs easier than others. Linux Mint and openSUSE, for example, both include a great deal of proprietary software in their installation libraries. For these Linuxes, all you need to do to add Adobe Acrobat Reader to your desktop is just run the distribution's default application installation program and in a minute or two, you'll be viewing PDF files.
With other distributions, for example, the Ubuntu family of distributions, you must add a special repository to get access to the most popular proprietary programs and media codecs. In the case of Ubuntu, you'll find the information you need in the Restricted Formats and the Mediabuntu pages. Fedora takes a harder line with such programs. The Fedora community does have a "Forbidden Items" page that explains how to go about installing proprietary software and some open-source alternatives.
So, your first move is clearly to see if your distribution has what you need to run non-free programs. If that doesn't work, there are still ways to add these programs and codecs to your setup. Here are the basics on getting some of the most popular of these programs.
Adobe actually supports Linux these days for many, but alas, not all of their programs. While proprietary, the Linux versions of Adobe Flash and Acrobat Reader work fine and are easy to install. Indeed, Reader is as simple to install on Linux as it is on Windows. With the Flash Player, you should read the Flash installation instructions carefully to make sure you do it right.
The one caveat is that Flash Player only runs natively on 32-bit operating systems. If you're running 64-bit Linux, or 64-bit Windows or Mac OS X for that matter, you'll need to jump through the hoops detailed in Adobe's Flash Player on 64-bit operating systems technical note. None of this is hard, but if you go without knowing about these concerns before hand you can end up wasting a lot of time troubleshooting them.
Commercial DVD Discs:
I bet you think you own your DVDs don't you? You don't. Their content is 'protected' by DRM (digital rights management) software that makes it difficult to make copies of it come the day your three-year old feeds Toy Story to the dog or to even play it on a non-approved system, such as your Linux PC.
You see, vanilla Linux doesn't support DVD video playback for two reasons. The first reason is that most commercial DVDs are trapped by the content scrambling system (CSS) encryption DRM. Cracking a video to play can run afoul of the Digital Millennium Copyright Act (DMCA). This has the effect of making it legally questionable to play your DVD on your PC unless it's running approved software. On top of that, the content itself is kept in the MPEG-2 video compression format, which is protected by open-source unfriendly patents.
There are ways around this. First, you can buy a program that will let you legally watch DVDs: Fluendo DVD Player for 19.99 Euros, or about $30. Some vendors, such as Dell, also include Fluendo DVD player functionality in its Dell Ubuntu laptops and netbooks. What most people do though is track down Fluendo's DVD codecs, or other DVD player codecs on third-party software repositories and install this functionality for free. Checking through your distribution's software libraries or online forums should quickly turn up the specific instructions you'll need.
MP3, the popular audio format, like DVDs, are encumbered with patents. This means that, once more, you may need to hunt around in your Linux distro's software libraries or third-party repositories for the MP3 codecs to enable your music players to work with MP3-encoded tunes.
Recently, though, several popular Linux audio players like Banshee and RhythmBox are coming with MP3 support baked in or is a click away. They're doing this because their vendors have made deals with Amazon and other MP3-encoded music retailers. So, for example, RhythmBox in Ubuntu makes getting MP3 support easy because the Ubuntu One Music Store is a front-end to the Amazon music store.
I really dislike Open XML (Office Open XML), Microsoft's default file format for Microsoft Office 2007 and above -- docx, xlsx, and pptx -- and avoid whenever possible in favor of OpenOffice's ODF (Open Document Format) or even Microsoft Office's older, but more widely supported, formats. If you really are stuck with working with Open XML documents though, the Go-OO superset of OpenOffice is the way to go.
Go-OO includes all of OpenOffice's code, but adds Open XML and Microsoft Works file import capabilities on top of it. Novell's SLED (SUSE Linux Enterprise Desktop) 11 SP 1 and its related community distribution, openSUSE, uses Go-OO for the basis of their OpenOffice.org 3.2.1 Novell Edition. You don't have to be a SUSE user to use Go-OO's enhanced OpenOffice though. For a complete explanation of what distributions already include Go-OO and instructions on how to install Go-OO on the ones that don't, see the Download Go-00 page.
I'm sure no one is surprised to know that neither WMV (Windows Media Video) nor Microsoft's Silverlight video streaming has native support in Linux. You might be surprised to know though that adding either or both really doesn't take that much.
To view WMV shorts and movies, you simply need to download Windows' own WMV codec. This is available, with a name that starts "w32codecs" on almost all distribution's third-party software repositories. It's also available on any Windows system you might own, but it's much easier to just get it pre-packaged from a compatible Linux software library.
To view Silverlight live streaming on Linux, you'll need to install Novell's Moonlight. This is a free Firefox plug-in that will run on any Linux distribution. In addition, there's a related program, Moonshine that leverages Moonlight's built-in video capabilities to let you watch WMV files without worrying about the WMV codecs.
Sometimes nothing but a Windows program will do. For those times, if you don't want to just turn to a Windows PC or run Windows in a virtual machine like such as those provided by Oracle VirtualBox, you can use Wine (Wine is not an emulator), an open-source implementation of the Windows API. With it, you may run many of the most popular Windows programs on Linux. That includes games like World of Warcraft and Guild Wars as well as business applications like Microsoft Office, Quicken, and Internet Explorer.
The easiest way to use Wine to run Windows applications is to set them up with CodeWeavers' CrossOver Linux. This works remarkably well. I've been using CrossOver Linux for years and I've been very happy with it. CrossOver Linux does cost $39.95.
If you'd rather run Windows on WINE without CrossOver's cost, you can certainly give that a try as well. I recommend only experienced Linux users try it. For more on using WINE by itself see the Wine support forum and Frank's Corner, a site devoted to installing Windows programs on WINE.
WINE, however, can't run everything. To see what's possible, check out the CodeWeavers CrossOver Compatibility Center.
What you can't do
There are few programs and codecs that are very hard or impossible to work in Linux. Most of these are Apple-related. For example, there's no way to get a current version of iTunes running on Linux and while you can manage your iPod's music library with Banshee on Linux, you can't manage an iPod Touch or iPhone from Linux.
For these situations, if you don't want to give up Linux or switch machines, a virtual machine is your best answer. VirtualBox even has some support for Mac OS X now if you want to try to run Mac software and Linux side by side. Any virtualization program that runs on Linux though can run Windows XP and 7. I do that on a daily basis myself.
Put it all together, and, as you can see, there's little you can't run on Linux if you know what you're doing. Good luck!