Bridging the OSS cross-platform gap.
August 3, 2007 8:01 AM   Subscribe

Firefox seems like the odd man out, being a GUI application that is not just open-source but also compiles and runs on Windows, Mac OS and Linux -- consistently and equally well. What other GUI-based applications that are like this; being open-source and that support all three platforms natively?

Note that I'm curious about OSS GUI apps like Firefox that compile into multiple platform-specific binaries that can run in a stock install of the OS. I realize there are ways around this -- X11 implementations and Cygwin for Windows, emulators like WINE for Linux and Mac OS, web applications that require a web server and separate browser, or VMs like VMWare and Parallels that assist with cross-platform operation. I'm looking for apps that have the magic "built-in".
posted by I EAT TAPAS to Technology (20 answers total) 3 users marked this as a favorite
posted by uaudio at 8:06 AM on August 3, 2007

posted by RichardP at 8:12 AM on August 3, 2007

posted by handee at 8:14 AM on August 3, 2007

Gvim (maybe that's a little geeky, actually, but it's one of the first things I install on a new machine).
posted by handee at 8:14 AM on August 3, 2007

Thunderbird, of course, like Firefox. They're both based on XUL, a general cross platform application development system. I keep hoping people will build more XUL apps.
posted by Nelson at 8:21 AM on August 3, 2007

Codeblocks, which will also help you cross compile your own programs for all three targets (with appropriate compilers). Gimp is available for all three. Really, there's a huge number of programs like this. If you count Java apps, there's too many to count.
posted by IronLizard at 8:24 AM on August 3, 2007

This has been the standard for open source Internet clients, since the early days. Granted, those weren't GUI-based, but they did compile just about anywhere: pine, elm, mutt, tin, trn, nn, ircII all come to mind here.

The age of the GUI internet client started with xgopher and Mosaic, which like firefox, compiled into standalone static binaries for Unix, Mac, Win32, etc.

So, what other GUI clients are there now?

Ones that serve more or less the same function, including: the Pan newsreader, The Sylpheed mail client. Pidgin (formerly Gaim) chat client. The GIMP. Abiword. (and many more).

Most of those use the GTK toolkit, which means each platform compiles its own, unique binary. GTK has made cross-platform GUI development much easier. And the windows port/DLL has come a long way -- many clean programs written for Unix will compile into windows-native binaries, using Mingw and other toolchains at compile-time (you don't need Mingw to run a program compiled using it -- this is different than cygwin)

There's also the Java-based (azureus) and XUL-based (democracy) efforts that are even more inherently cross-platform than the GTK+C+GlibC clients above -- but it's unclear whether this really counts as cross-platform to anyone but the user.
posted by toxic at 8:29 AM on August 3, 2007

KDE 4 is supposed to run natively on most platforms. Has most of the desktop apps you'll ever need
posted by uandt at 8:31 AM on August 3, 2007

posted by grouse at 8:31 AM on August 3, 2007

posted by tracert at 8:43 AM on August 3, 2007 [1 favorite]

And some games:

GL Tron
Frozen Bubbles
BZ Flag

…to name a few.
posted by adamrice at 8:46 AM on August 3, 2007

Cross platform KDE? That's pretty cool.
posted by boo_radley at 8:59 AM on August 3, 2007

Any application written using the wxWidgets GUI toolkit can, if written correctly, compile on the three major types of operating systems as well as BeOS and handhelds - Audacity uses it, for example, and I believe VLC does as well.

The nice thing about using wxWidgets or Qt4 (which is the only reason KDE applications may ever be cross-platform) is that the toolkits use native controls, unlike XUL, as well as include useful functionality that isn't related to the GUI to make cross-platform development easier, unlike using a hand-rolled solution.
posted by cmonkey at 9:07 AM on August 3, 2007

Eclipse is an example for Linux and OS X. You would need to install a JVM on Windows.
posted by Blazecock Pileon at 10:04 AM on August 3, 2007

Azureus 2.5, the non-bloatware version.
posted by Myself at 10:43 AM on August 3, 2007

Songbird is an XUL-based music player/browser for Windows/Mac/Linux.
posted by mbrubeck at 10:56 AM on August 3, 2007

As said above, anything based on Qt, WxWidgets, GTK+, or the Mozilla app framework, which is what Firefox uses. Note that of those, Qt is only opensource for GPL projects, the Moz app framework is usually considered bloated, and GTK+ itself doesn't provide for much more than windowing.

In addition, MainWin provides libraries for porting MFC apps to *nix. IIRC Softiamge|XSI runs on that, or at least used to. I don't know what they do for OS-X.
posted by devilsbrigade at 10:56 AM on August 3, 2007

The next version of FileZilla FTP client (ver. 3, currently in beta) is cross-platform.
posted by caution live frogs at 12:03 PM on August 3, 2007

posted by SpecialK at 4:22 PM on August 3, 2007

"Stellarium is a free open source planetarium for your computer."

Not really much of an application, but it's so awesome at what it does. Really beautiful.
posted by bigdave at 5:47 PM on August 3, 2007

« Older How to take apart a couch   |   My Core 2 Duo is running at 1/4 speed!?! Newer »
This thread is closed to new comments.