SDL, not only zlib


SDL claims to be released under the zlib license but I have noticed that SDL also contains some files under other licenses. These other licenses may all be compatible with the zlib license but there are still things that they require that the zlib license does not which I think is something to be aware of.

The zlib license is a very permissive license. It requires the copyright and license notices to be preserved in the source code …

This notice may not be removed or altered from any source distribution.

… but for binary distribution (e.g. a DLL or statically linked) there is no requirement to show such information.

If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

The MIT License

The following files use the MIT license:


The MIT license requires the copyright and license notices to be included in “all copies or substantial portions of the Software”.

The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.

The following files use a variant of the MIT license with similar requirement:


… provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, …

The BSD 3-Clause License

The files in src/video/yuv2rgb/ use the “BSD 3-Clause License” which also has a similar requirement:

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

The Apache License 2.0

The Vulkan headers use the Apache 2 license that, at the very least, requires that you include the license text (read the license for full details).

You must give any other recipients of the Work or Derivative Works a copy of this License;

I don’t know if this applies here because these headers seem to only provide an interface without containing any functional code and I’m not sure if interfaces are copyrightable.

Please correct me if I’m wrong, but my interpretation is that if I made a game and distributed it with a SDL.dll (or statically compiled it as part of my application) that I would need to include the copyright and license information from all the SDL files that I mentioned above (except perhaps the Vulkan headers).

I don’t know if I’m missing something but I don’t see this information included in any of the non-source SDL packages.


That’s some good stuff to know (and cool that you were able to track those down).
It’s always best to protect yourself by following the laws and licenses as closely as possible.
But it brought this question to mind:
In the last 26 years, has the SDL group ever sued anyone?

I only found one google result, but the company that filed the lawsuit just has/had the same abbreviation, it wasn’t our SDL. (The suit had no actual connection to the Simple Directmedia Layer).

I think this is not about the SDL developers suing anyone, but about the original authors (or companies holding copyright) of the source files @Peter87 listed suing anyone (SDL developer or SDL users) - for most of those files that appears to be Red Hat, i.e. IBM (and in case of the video/arm/ code Nokia).

And “has IBM ever sued anyone?” doesn’t sound very reassuring :-p

Yeah, I don’t want to poke those names with a fifty foot pole either.
But honestly, I hadn’t looked up SDL’s lawsuit history before today, this made me fall in love with SDL all over again.
How can something like this even exist in this time and environment? The creators and developers of SDL are a model of excellence, thank you all.

Personally, I’m not too worried about getting sued over this. I would expect the copyright holders to contact me to give me a chance to correct my mistake before suing me. Especially since I don’t make money from using SDL.

For me it’s more about “playing by the book” to be accepted in the free software/open source community. Not handling the licenses properly might lead to concerns for people who want to use, distribute and/or fork my software freely.

For commercial/proprietary software there might be other motivations for respecting the license terms.

I also avoid commercial stuff.
You should make full use of open source if possible.