I would like to apply the MIT License to all artifacts of an open source software project, i.e. its full source code, but also its resource data such as graphics or localized string lists that are embedded into or deployed along with the compiled application.
Previously, my belief was that for this to happen, it would be sufficient to declare that my project is subject to the terms of the MIT License, put a respective license text file into my repository and in the releases, and add a license header at least into those of my individual files whose format allows such free-text info.
This seems to be confirmed by the question MIT License vs. Creative Commons for images and other assets on Software Engineering SE, as the answer in that question contains statements such as
There is nothing in principle that would make the MIT License inapplicable to images
and also mentions applying the MIT License to HTML or XML files (in general, not necessarily ones that express or contain any executable semantics).
Likewise, as an example of a non-program project that uses the MIT License, the Fluid (R3) General MIDI SoundFont uses that license.
However, user David provides a much more restrictive interpretation in his recent answer. He points out that
The MIT licence only applies to the
software and associated documentation files
and explains that at least under U.S. law, software means
"Computer programs that comprise a series of instructions, rules, routines, or statements, regardless of the media in which recorded, that allow or cause a computer to perform a specific operation or series of operations"
He specifically makes a case that this means graphics other than those directly related to the executable code (application design diagrams, presumeably also screenshots of the source code) are excluded from the scope of the MIT License by the very license itself.
If that is accurate, it seems to mean that no non-executable resources could be covered by the MIT License. Bummer.
Any toolbar icons, lists of translated UI texts, message sounds, etc., that have been created for and published as a part of the project would not be redistributable by others because the MIT License declared for the project does not apply.
Even explicitly stating the localization and image files are subject to the terms of the MIT License would be without effect, as those files are neither executable insyructions, nor a part of a documentation, and thus are simply out of scope for the license terms.
Now, I could replace or expand the mention of "software" in the license text that I supply along with my project. However, while I am not changing the terms of redistribution itself, wouldn't I still be creating a crayon license like that, with many of the problems crayon licenses may cause? (In particular, I am thinking here about downstream developers ending up with a hodgepodge of MIT Licenses from upstream components, each of which covers and/or excludes different portions of the upstream components.)
Therefore, my question is: How do I properly apply the MIT License to a whole project, not just the executable portion of it? Is it possible at all?
this software and associated documentation files (the "Software")
] paragraph, and obviously MIT paragraph starts with "this software" (not "the Software") and puts the quotes around "Software
" alone (meaning, wherever "Software" is mentioned from that point on, their original content was meant) and later MIT asks "substantial portions of the Software" to attribute, but remember that Software is their original work (i.e. if you got binary from them, then you must attribute where ever you use that binary, else just ensure you compile/Uglify)