How is the MIT licence not viral and how to practically comply with it

licensingmit-license

I've read online that MIT is a permissive licence which allows for the code to be used in propriety products, but the licence texts seems to conflict with that, which I'll quote below:

Copyright (c) <year> <copyright holders>

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:

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

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

So, it seems according to the licence, derivative works must distribute the licence, and hence give those who receive the software the right to re-distribute the software, which is incompatible with most commercial software licences.

A strict reading would be that only exact copies have to distribute the copyright notice, although this seems a bit silly, as it is trivial to perform a minor modification to avoid an exact copy. Why would the licence bother including the restriction to maintain the copyright notice when that restriction is so easily circumvented?

So if "copy" includes derived works, I can only conclude that any work derived from a MIT licenced work must permit free redistribution, which means it's not really a commercial friendly licence.

The only way around this seems to include the MIT licence files, but then say that these licence files only apply to certain parts to the software, oh and by the way the rights you get to redistribute those parts doesn't really apply practically because they're but of the compiled code now and tightly coupled with bits you can't redistribute (particularly if it wasn't a separate library but just some source code copied into the commercial project).

That seems crazy, and I've also never seen such a notice. But on the other hand, just distributing the MIT licence with the software without these qualifications seems to me that a court might reasonable rule that it applies to the whole software, as you can't break compiled code into one executable into "parts" in any sense.

I'd note also, that if I'm using software X, which contains code from X1, X2, X3XN, to use software X myself presumably I'd have to include the licences from X1, X2, X3XN in distributions of my software.

So for every open source library I use, I'd have to look into its dependencies, find all the licences for it's dependencies, then look into those dependencies, and find all the licences for them, and so on.

This seems like an absolute nightmare, not really "permissive" as the MIT licence is commonly described. It seems completely impractical to comply with.

Am I correct in this analysis or have I totally missed something?

Best Answer

Software licenses only apply to the part of the software that the licensor owns copyright.

If you use MIT-licensed software as a part of a larger work (e.g. as a library or module), only that component is required to be covered by the MIT license. The code you write can be licensed however you choose.

This is how, for example, Microsoft was able to sell Windows NT despite containing some BSD-licensed open-source code.

If you are unsure how to integrate software covered by the license into your own product from a licensing perspective, you will need to consult with an intellectual property attorney to ensure that your specific software project is set up correctly from a legal perspective. Here on Software Engineering we are able to speak to the broad ideas of copyright and licensing, but are not qualified to dig into the details of your particular situation nor can we dispense legal advice.

Related Topic