Something I’ve been coming across a lot of late with Yabause is people integrating 3rd party open source code. Which by itself is good and fine, so long as the license is GPL compatible. For those who aren’t familiar with Yabause, we’ve released it under the GPL v2 license. Which basically means you’re free to download and modify the source code, so long as when you release your own binaries you include the source code, etc.(I recommend reading up the full license at GNU’s website).
Usually you can mix other licensed code like FreeBSD or Public Domain code as they are known to be compatible with the GPL. That being said, some open source licenses have goofy clauses or the like that restricts certain freedoms or requires you to do stuff like “advertise” the original creators or the like. Like for instance, the MAME license has a non-commercial clause that restricts you from selling the source code or binary. This conflicts with the GPL so therefore it isn’t compatible. Ironically enough, even though the wording is different, the Snes9x license is pretty much the same as the MAME license. So guess what? It isn’t compatible either. Yet I’ve seen a few instances where people have added Snes9x licensed code to GPL code. Don’t. Thanks.
Why should you care? I mean we’re all doing this for free, right? Well, the problem ends up being that some of us may not be doing this for free. Then it potentially becomes a lawsuit. And lawsuits are expensive. Or even if we are doing it for free, some people don’t take kindly to mixing code from incompatible licenses. I remember an instance some years back with either the Sarien or FreeSCI project where they used code from MAME and the original owner of the code came down hard on them and rightfully so. I mean let’s face it, would you want people to respect the terms you released your source code under?