Perhaps the best part of using Linux is the massive amount of free software you have access to. The Ubuntu repositories, for example, gives you access to tens of thousands of Linux compatible software programs for free-and that's just by default. Yet for some this isn't enough.

Happily, it's not all you have access to. Thanks to many technologies out there committed to cross-platform compatibility you can give any Linux distribution-from Ubuntu to Fedora to Gentoo-access to even more software than is out there by default. In the rare instance where you can't find a tool for a job you're trying to do this can be very useful, as it gives you access to even more free software. Let's check these technologies out!

1. Use Adobe Air Apps

Adobe Air,  if you're not aware, is a software platform that runs on Linux, Mac and Windows. There are hundreds of free Linux compatible software applications over at the Adobe Air Marketplace that do everything from giving you newspaper-like access to the New York Times to viewing your Google Analytics Data.

Linux compatible software

Getting Adobe Air working on Linux is surprisingly easy. You'll find a Linux-based installer over at get.adobe.com, or you can simply attempt to install any Adobe Air application and Air will install automatically.

Some MakeUseOf posts covering cool Adobe Air apps:

2. Get Java Going

Linux compatible software

Java is the original cross-platform programming language. To this day many programmers use Java to create programs that work equally well on Linux, Mac and Windows. We've covered many Java apps, the most recent being "Pauker - An Easy-To-Use Freeware Java Flash Card Program" which Varun wrote all about.

Java's probably in the repositories of your Linux distribution already. If you're on Ubuntu you'll find that Java is instaled when you install the "ubuntu-restricted-extras" package discussed in Varun's article "10 Applications You Must Install On Ubuntu Lucid Lynx"

Alternatively, you can install only java with the following command:

        sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
    

3. Wine For Windows Apps

linux compatible

There are millions of Windows appications out there, and the Wine project gives Linux access to many of them. Wine attempts to provide a compatibility layer between the Linux operating system and Windows programs. It's far from perfect, but it's worth a shot. Check out "Run Windows Applications on Linux (or Mac) with WINE"  to learn all about making use of wine.

Wondering if a certain program is compatible with Wine? Check out the database over at WineHQ.

Wine is availible in the package manager of pretty much every Linux distribution in existence, so check yours.

4. DOSbox for Old DOS Games

linux compatible

Simon recently pointed out 4 sites where you can download old games for free. If these old games were meant to run in DOS you can run them in Ubuntu; all you need is DOSbox. This DOS emulator can run most any DOS program you can throw at it, but it's really tailor-made for games.

DOSbox is included in the package manager of most fine Linux distributions, so look for it and set it up. You can learn all about using DOSbox in Shaminder's article about using DOSbox on Windows XP. Yes, the article is about Windows XP, but the principle is basically the same.

If you're really geeky you could even setup DOSbox to run Windows 3.1. I did using this guide just for so I could play Chip's Challenge the way God intended: in Windows 3.1.

Conclusion

Using these tools you'll give Linux access to many programs it does not by default. They won't necessarily run as well as native programs, but are worth taking a look at if you want to run a certain program or can't find a native tool for a particular job.

Can you guys think of any other ways to make Linux compatible with more software? If so, I'd love it if you shared. I'd also love to hear what sorts of programs you use in Linux via these technologies, so comment away.