14

If I include MIT licensed source code in my program, am I obliged to provide my whole software under MIT?

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

How is "substantial" determined? The wording is not very specific.

  • 1
    Good luck. The last time I inquired about an Open license (a GNU variant), no one could give me a straight answer. I was eventually told that to get any real details I'd have to pay a consulting fee so someone could explain the license! So the software is free, but understanding the terms isn't? – R. Barzell Dec 5 '14 at 19:46
  • @R.Barzell Really? What is the question ID? I think GNU is pretty obvious, just like MIT. – Christian Hujer Dec 5 '14 at 19:48
  • @ChristianHujer it wasn't here; I wrote to licensing@fsf.org. We got into questions about which version of the LGPL did what, and what constituted distribution in the online application. The net result was that I got no answer on whether I had to open source my application. He then suggested I use the FSF's paid consultation service so they can explain the license. – R. Barzell Dec 5 '14 at 19:53
14

Short answer: No, MIT licenses do not obligate you to release your code as MIT.

Long answer:

Let's take a look at the MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

And let's look at the heart of it:

to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software

In layman's terms, software that is licensed with the MIT license is saying "use this any way you wish." And the only exception is that you need to abide by and include their disclaimer of warranty if you keep their portion of code under the MIT license.

So let's say you want to take an MIT library and re-release it as only a GPL library. You can most certainly do that, and the FSF has provided notes: 1 and 2 on that exact subject.

Note that you didn't make any change at all whatsoever to the project except to claim ownership of your fork of the project that you then released as GPL. But also note that you cannot restrict others from continuing to distribute the original project as MIT. You can also restrict them from distributing your project as something other than GPL.

But what about that disclaimer of warranty and copyright notice?

You cannot take away someone's copyright to a creation they own. And even though you legally claimed ownership of the code (as explicitly permitted by the MIT license), you should include a notice to the effect of "portions of this code were originally created by such and such" and state the date of their claim to copyright. But you don't necessarily have to do so since you've re-licensed their project and assumed liability.

And what about the warranty statement? Since you re-licensed their project, you assumed liability for the distribution of that code. If you re-license, you better choose the new license terms carefully or be prepared to service warranty claims that may get raised.

So this example isn't the free lunch you thought it might be. By re-licensing, you're taking on liability and responsibility for the project that you may not want. It's something you have to think through and decide upon.

Another thing you need to consider in this example is that you can't use the reputation of the MIT licensed code as a supporting mechanism for your re-licensed version of the code unless you abide by the conditions of the MIT license - which are to include their copyright and include their disclaimer of warranty. If you incorporate it and re-license it, then it's your's and not their's. So you can't use their reputation for your benefit. At least not without noting the sub-module licensed under the MIT license.


Bringing all of that back around: using MIT licensed code in your project doesn't force you to use the MIT license for your project. And you can even completely incorporate the MIT licensed code within your project without any viral effect.

| improve this answer | |
10

You're not obliged to provide your whole software under MIT. The MIT license is a non-infectious license. If you include MIT licensed software in your software, it will not extend onto your software (unlike GPL). Only those parts of the software which were MIT before, and modifications made to those parts, are to stay under MIT license, nothing else.

Substantial is not very well defined, that's right, but a valid assumption is "substantial" == "subject to copyright". Means, if you copy a for-loop iterating over an array instead of typing it yourself, that's not substantial. Anything more than that can pretty soon become substantial.

As soon as you use substantial portions, you have to include the MIT license as part of your license, i.e. mention "This software includes parts of XYZ under MIT license ...", reproduce the license, obey to the license conditions as well as request your customers to obey to the license conditions.

Disclaimer: I'm not a lawyer, consult a lawyer.

| improve this answer | |
  • 2
    To add: When you use MIT licensed code, the MIT license only applies to the code that was originally released under that license. Any (substantial) code you write yourself, you can license under any terms you like. – Bart van Ingen Schenau Dec 6 '14 at 10:44
  • If I built a website using Bootstrap which is MIT licensed software, and all leftover code would be my own, would it be enough just to note that it was built with Bootstrap? – WayneEra Oct 7 '15 at 13:44
  • 1
    What do you mean by "leftover code"? In general, I think that when you have built your own website using Bootstrap, you don't need to mention it - although I recommend that. (As a side note, one of my sites is currently using bootstrap, but that was against my will and I have the team remove it.) However, if you build a website for someone else and handover the code, you MUST make them aware of all the licenses EXPLICITLY as part of your professional duties and diligence. Again Disclaimer: I'm not a lawyer, consult a lawyer. – Christian Hujer Oct 13 '15 at 7:05