What responsibilities do I have to fulfill when using an MIT-licensed library in proprietary software? How do I specify a license if my project is not distributed anywhere on sites, etc, and is a telegram bot?
1 Answer
Great Question! I'm not a lawyer, but think I have some idea. I've come up with several 'situations' of what your project might be, if your project is none of them please let me know.
These are the ways Google shows there Open Source dependencies.
If your project is an interactive command line tool, think python3, make it print something like this when you start it:
My Really Cool Program v1.0
This program contains Open Source code, type info --foss to find out about them.
>>>>
And then info --foss
would print something like this:
Notice for the following library: CoolLib
MIT License
Copyright (c) [year from original license] [fullname from orginal 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:
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.
If your project is just a command line tool, not interactive, every time a command is run, make it print this:
MyProject v1.0 Starting...
This program contains Open Source code, run 'command_name' --foss-info to find out more
Logs from your project...
Running with the flag --foss-info would bring up the same thing as info --foss
in the previous example.
If your project is a graphical application, this would be a reasonable place to put the declaration (same as command line declaration) within your UI Hierarchy:
Settings Section -> About MyCoolProj -> Open Source Licenses
Finally, if your program is some kind of chatbot, like a Telegram bot, when you first start a conversation with the bot make it print something like this:
Hi! I'm xyz bot, and I can help with...
I'm based on Open Source software, send the message 'foss' to learn more.
Sending the message 'foss' would output the same thing as in all previous examples.
To your point about not many people making declarations in bots, I'm pretty sure you have to include some declaration (its not just a legal issue, morally you are obliged to give credit), but it is definitely worth avoiding a potentially costly suit by including this declaration.
People don't include declarations, and that's probably against the law. BUT the odds of the creator actually using the bot are low, and even lower when you consider them realizing their code was used. Most people can probably get away with no declaration (even though it is wrong), but it is right, both legally and morally to include a declaration.
I hope this helps, but again, I'm not a lawyer so I don't guarantee the accuracy of these claims.
-
1Thanks @Android776 for your reply. But do you know what I should do if my project is not distributed on the website and on the command line, but is a Telegram bot, should I indicate in the description of the libraries that I use? Almost all Telegram bots I've seen don't do this. Sep 26, 2022 at 8:39
-
@user19677606, I've edited my question to include answers to your question. Sep 27, 2022 at 10:03