It is generally accepted that 'the software' in the MIT license refers to 'the source code', but unfortunately not generally enough. Also, for interpreted languages (such as Javascript) 'substantial portions of the Software' are technically copied to the client's machine, so the only way to maintain compliance is to put the license in the Javascript.
I'm not aware of anyone actually doing this; the license is typically just put in the repo.
Anyway, to remove ambiguity, I suggest changing the following in the MIT license.
Change
this software and associated documentation files (the "Software")
to
this source code and associated documentation files (the "Software")
Add the following definition of source code.
'Source code' is defined as a modifiable set of instructions that can be easily understood by a developer, and has some or all of the following properties:
- Comments to explain the functionality.
- Whitespace to help readability.
- Variable and function names contain descriptive nouns and verbs.
From the above definition, any source code that has undergone obfuscation, minification, compilation, encryption, or other significant transformation can no longer be considered source code.
To comply with this license, this text must reside inside the folder structure of your source code and distributed with it.
Resulting in - https://github.com/JohnJScott/Eternal/blob/master/LICENSE
Does this fix it? Suggestions/fixes/improvements? I'd argue this is the intent and the practical application of the MIT license anyway.
Cheers John
Several points:
That should be proposed SPDX code.
"It is generally accepted..." - citation required
Ask CoPilot - "does "the software" in the mit license refer to the source code?"
"Yes, in the MIT License, the term “the software” refers to the source code. The MIT License is a permissive software license that originated at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it places very few restrictions on reuse, making it highly compatible with other licenses. Unlike copyleft licenses, such as the GNU General Public License (GPL), the MIT License also permits reuse within proprietary software, as long as the terms of the license and the copyright notice are included in all copies or substantial portions of the software1. So, when you encounter the phrase “the software” in the MIT License, it specifically pertains to the source code and associated documentation files. 🌟"
I don't believe that many people take this view. In fact, you're the first I've ever heard of.
Until Friday, I had never heard of anyone who didn't take this view.
(and provide the proper acknowledgement in/with the distributed binaries)
I've yet to find a site that does this - please give an example. Also, Unreal Engine games don't provide the proper acknowledgment - again, unless an example can be provided. You'd be looking for a subset of the files distributed with the source here - https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Source/ThirdParty/Licenses
Common practice (whether right or wrong) is to put the license in your source repo for if you ever redist your source, and no acknowledgment if it's compiled into a binary.
The intent is the code can be used for anything (including compiling and distributing the binaries), but to comply with the license you have to include the license with your source code, but not any binaries or web sites. The intent is that there should be no requirement at all to make the source code available.
The viral GPL is out - but is there another license that would accomplish this?
Cheers John