By jlnr (dev)
Date 2010-09-15 06:22
Edited 2010-09-15 06:33
Gosu itself *is* open source no matter how many closed-source libraries it uses, be it FMOD, Win32 or DirectInput. The problem that I can see is that FMOD's licensing is a nuisance. It's a long-standing To Do item, but more in the sense of "get rid of FMOD", not necessarily "unify everything". And there are already constructive threads on getting rid of FMOD around here.
Practically speaking, even FMOD's licensing is just the software equivalent of a "non-commercial/attribution required" dependency. But I can understand that it is annoying for quick freeware games, donation/ad-ware etc.
The history is pretty easy. Gosu was using FMOD everywhere in the beginning (= 9 years ago) because it's easy, fast and powerful. And stable, I don't remember one problem ever. The original Linux port switched to SDL_mixer because that's what's common and easy on Linux. The Mac port used OpenAL because it's more powerful than SDL_mixer *and* OS X comes with proprietary system libraries to easily feed common files into OpenAL. And you forgot the fourth platform, which is iOS and shares some code with the OS X part. Not all code, because music playing on iOS should happen through special libraries that use HW acceleration.
One replacement candidate for FMOD on Windows is in fact Audiere, not used on any other platform. OpenAL and SDL_mixer do work on all platforms but the former includes only minimal WAV loading, the latter includes a random set of working file formats per distribution. OpenAL+libogg, with support for only WAV and OGG would work, I guess. Does it really matter if its two or three different libraries in the end? As soon as OGG and WAV work on all platforms without licensing worries, what is the problem?
Insulting the developer isn't the best way to get what you want, sir. ;)
I don't see why it matters that the dependencies are different across platforms. I feel this is roughly equivalent to bitching about Transmission requiring Gtk and using Gnome desktop notifications on Linux, but using Cocoa and Growl on OS X, where each is the optimal solution for its respective platform but not for the other.
In the end, the goal is to have just that—the best for each platform. High-level feature parity is a nice plus, but having a common base is the big goal. How would it benefit you personally if the dependencies were the same everywhere? Libraries need to be handled separately for each platform anyway.
" Why would the Gosu development team make such a seemingly stupid and pointless decision,"
There's a team?
If you only issue is the fact that its closed source then I wouldn't worry about making games on Windows, Mac, or iOS.
If you want to use SDL_Mixer then go for it there is nothing stopping you :D