Say I’m writing a small GPLv3 licensed Python script that I want to release publicly. It would use a few MIT licensed libraries and maybe also some chunks of code from some MIT licensed projects.

As per the MIT license conditions I would have to include the MIT license text in my project. So how would that be done properly? And how about other licenses that require the license text to be included?

Sorry if this has already been answered a million times. I’m relatively new to this stuff and I find the licenses really hard to understand despite my attempts. I tried to also use some other open source projects as examples, but most of them don’t seem to include the license texts anywhere but the readme files at least seem to state which libraries they use.

  • frongt@lemmy.zip
    link
    fedilink
    arrow-up
    6
    ·
    12 hours ago

    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.

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    10 hours ago

    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.

  • Jeena@piefed.jeena.net
    link
    fedilink
    English
    arrow-up
    3
    ·
    13 hours ago

    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.