I have a library that is MIT licensed. All of the vendor files (located in a vendor/ folder) are MIT licensed as well, so I'm not too worried about my current situation. I am curious what the legality is when I'm including other licenses (e.g. GPL).

Provided that the vendor allows redistribution, do I need to do anything to specifically let people know that the vendor files aren't included under my license. What would that look like?


It's not quite that simple.

The purpose of the GPL is to provide what the Free Software Foundation sees as the "freedoms" that they believe are essential in all open source software. A program is "free software" if the program's users have the four essential freedoms:

  • The freedom to run the program as you wish, for any purpose.
  • The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor.
  • The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

When the FSF says that "access to the source code is a precondition," that means access to all of the source code. More specifically, it means access to your source code.

So the GPL includes a Copyleft provision that states that, if you use a GPL library in your application and distribute it, then your entire application must be GPL. In practice, that means that you must provide the source code for your entire application.

Simply telling folks that you can get the GPL components elsewhere is not a satisfactory workaround, especially if the GPL components are a required part of your software; in other words, your software won't work without the GPL libraries or code. This is what the FSF calls a combined work. Linking a GPL'd library statically or dynamically with other modules is making a combined work based on that library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

Assuming that your MIT licensed library contains no GPL'd components or links to any such components, the responsibility of license compliance rests with the user of your library, not you.

  • Ok, thanks. I'll make sure to avoid using GPL and similar licenses including third party libraries. – Brandon Wamboldt Mar 11 '15 at 16:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.