licenses of libraries openframeworks is depending on?


I’m looking at openframeworks, and I see that it depends on libraries that are not totally free. Like fmod, for example, is free (as in beer) only for non-commercial use, see here:

I wonder if this is a good idea, sorts of beats ‘open’ in the name of ‘openframeworks’. Is there a generic policy on the licenses of the libraries openframeworks is using? Is there / will there by a distribution of openframeworks that can be used free in any context?

Also, as the openframeworks distribution contains the fmod binaries, but not much text about its licensing restriction, the casual user might not be aware that he cannot use openframeworks for commercial purposes as such.


hi -

you make a good point, I do admit we’ve strugled with fmod - but been unable to find a replacement that does high level sound stuff as well.

we include frankly because it’s useful, but we’ve coded OF in a way that it’s pretty easy to remove fmod if you wanted to. we’ve also thought about removing fmod and replacing it with openAL or something else, but we haven’t gotten to that yet.

if this is of interest to you, and others, go for it !! we don’t want to be wedded to fmod, but frankly we’ve got some larger problems to solve.

about licenses, here are some points:

a) every other library is lgpl compatible, and works w/ the idea of creating commercial projects

b) we are still in pre-release, so we haven’t included license information, but that’s available, and there is some info in the FAQ

c) the “open” in open frameworks refers not only to open source, but more to this concept of a transparent framework - for example, the code of OF is always in front of you as you work with it. We use closed source libraries (ie, quicktime) and whatever works well.

d) we are not license geeks. for us, we don’t care what you use and how you use it - we just want you to be able to get started, do things quickly well and enjoy yourself. fmod has a shareware license, and for us it seems pretty reasonable if you really are going to be making something commercial with OF - it’s a good product.

I hope that helps - if you are interested in removing fmod, go for it - we aren’t crazy about the implications of having a commercial library in the project, but at the same time, this is the challenge and promise of opensource - those who see a flaw or something they want or need to correct are encouraged to do so.

hope that helps!

ps : after I wrote this post, I decided to take another look at openAL - I think it could be a good alternative to fmod, for those that have license concerns, and I will take a look at how hard it might be to hook up.

thanks for the input!!


Thanks for the replies. I’m more of a license freak than usual. In reality, I think that this issue is somewhat important to OF users as well. Consider doing an interesting installation ‘just for fun’, but then you get selected by a curator to a big event like Ars Electronica, where they would pay you some honorary fee. By doing so, you’re in commercial territory, so somehow you have to finance the fmod license ($3000 for a start). Maybe you can persuade them for a hobbyist license by insisting this is a non-profit art installation (then you’re in for $100), though I doubt it. Either way, you’re pretty far from just being happy, and saying: “Thank you!” to the curator, and enjoying your success.

Moreover, fmod says that for the shareware license, you have to provide credit for them - I haven’t seen this in the OF distribution either. (But as you’re saying, you’re pre-release as of now.)

Having OpenAL instead of fmod would remove this issue altogether. I’m glad you’ve found this option feasible :slight_smile:


cool - we really aren’t thinking too much about license issues, just making a useful tool, but I can understand the concerns and we will look at replacing fmod or making it switchable. thanks for being concerned about licenses, we personally don’t pay too much attention, just enough to aim for lgpl on the core stuff. the fmod thing is convenience but you’re right, it could *hypothetically* be problematic, in ways we haven’t considered.

we might not have a fix right away (unless it comes from the community), but we will add licence info in the next release, and also some info about how to remove fmod (basically removing ofSoundPlayer) if people, like you, are concerned about license issues.



yeah I was thinking of mentioning this at some stage…FMOD is definitely a commercial concern, and although it’s a very cool library (i’ve been using some of the rest of the API lately, stuff that OF doesn’t cover, and FMODex can do some very powerful stuff) in the long term I think it shouldn’t really be integrated if OF wants to make the claim of being an LGPL open source framework. FMOD could stay on as an extension where it could show off its fancy abilities without hurting anyone.

Especially if OF develops any kind notoriety in the long term, the FMOD repo men would undoubtedly come knocking on your door at some stage :wink:

I’ve used OpenAL before and it’s fine. It doesn’t have the capabilities that FMODex does, but then again if all OF needs is a simple sample playback system with panning then it should be ok. ALUT is very similar to GLUT and just as easy.

Another alternative could be to build something custom on top of rtAudio. This would mean we’d only link to one audio library. Together with say libsndfile sample loading/playback would be pretty easy to implement.

Libsndfile is a useful LGPL library for loading a number of sound file formats…

[quote author=“grimus”]Hi
Another alternative could be to build something custom on top of rtAudio. This would mean we’d only link to one audio library. Together with say libsndfile sample loading/playback would be pretty easy to implement.

Libsndfile is a useful LGPL library for loading a number of sound file formats…[/quote]

i am using libsndfile with custom audio code with great success. once we have a stable addon procedure in 0.05 i can try to release it as an addon.


while alot of fmod stuff is useful, we really just need the following things:

a) to be able to load wav and mp3 files, and hopefully stream files too
b) to be able to set and get pitch, pan, volume, looping, and position
c) to be able to setup a sound to play multiplay (ie, multiple copies triggered) or not
d) midi, etc would be nice, as well but not needed
e) fft or the ability to get the mix of sounds out as a buffer and perform our own fft.

it looks like openAL has this, but I remember having trouble getting it up and running once. custom audio code on top of rtAudio would also be useful, although I like openAL because it comes closer to matching fmod. other choices in terms of sound are audiere (doesn’t look like it’s on all platforms), irrlicht’s sound engine or SDLs sound engine.

if anyone wants to poke around with openAL (or custom code) - our goal would be just to match the API for ofSoundPlayer as best we can. We’d happily swap that with the fmod stuff, and break the fmod stuff out to be an addon (where we could even add more fmod specific functionality in, like the 3d audio or the vst plugin support, etc)… we’re happy to do the switch too, but theo and I are currently doing a ton of work on addons and the new website, and also some much needed time on our own projects, so I can’t see this coming to the top of our list right away.

thanks for the feedback !!!

FYI: OpenAL has been preinstalled on OSX since 10.4.

I too would like to see OpenAL integrated. I’m learning about it right now and it looks pretty cool. If I do something with audio in the future and no solution for OpenAl is done yet I will make a solution and post it.


is anyone working on the replacement of FMOD by rtAudio or OpenAL at the moment?

It’s been on my hit-list for a while but haven’t gotten around to it. I have code fragments that would be useful for both I think but nothing concrete.

I’m starting a big sound project in a couple of weeks, so there’s a good chance I might tackle it the next few months. In the meantime anyone’s welcome to give it a shot…

Basically I’m thinking it would be best to use

This way the current ofSoundPlayer api could be easily duplicated, and this would fit nicely with ofSoundStream as they would now use the same audio api.

OpenAL in my opinion would be better as an addon for 3D audio. That way the api could be more extensive and specialised. However it would actually be initially easier to use openAL as a replacement because it’s not as low level as rtAudio.

i would love to help but i am affraid my C++ is really basic so my code would be pretty close to rubbish :wink: i am very new to C++. I am having a look at those libraries anyway.