There's no formal system. If you put the lib in its own dir, just keep its license intact. If you have to put it alongside your own stuff, you can create a LICENSE-libname.txt file, or have one long LICENSE.txt file with your license at the top, then include each library name and its license, or whatever makes sense in your project that will satisfy the license requirements.
Open Source
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.
Right, I guess the licenses don't typically give exact instructions on where to put it etc and the requirements can be met in multiple ways. I guess I'm just too stuck trying to understand what's the typical way people do these things in their projects. :'D
Normally you would have in each file a license header and depending on which license the file ia it would have a different header if the licenses are mixed.
Often we don't copy the library source code into the same git repo but use some package manager which installs them for the user.
In that case if the whole git repo is the same license then often we just have a LICENSE file in the root which ia mentioned in the readme.
Back in the day we made https://github.com/Pelagicore/OpenSourceTemplates
It has links to SPDX descriptions ect which are best practices in this regard.
Thanks! So if I simply use pip to get some libraries for my project, do I need to include the licenses (e.g. MIT) somewhere in my source code?
How about if I statically link them by building a executable that contains everything in a single file, so the user doesn't have to install Python and all the libraries separately?
More of a general tip: https://reuse.software/ can help to get this stuff right.
Pretty sure, it won't be able to help with your use-case of copy-pasting code snippets, though (it's not at all trivial to know which parts you copy-pasted), but it gives you a structure to work with and can automatically annotate new source files.
Okay thanks, this seems informative! I'll take a closer look when I have time.
I believe it's better to be explicit from day one.
REUSE? 🤷
Thanks! I had not found this resource before.