• FizzyOrange@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    3 months ago

    How did they get permission from all previous contributors to do this? It doesn’t have a CLA. Seems sketchy.

    • TheOneCurly@lemm.ee
      link
      fedilink
      English
      arrow-up
      15
      ·
      3 months ago

      Existing code is MIT licensed, that’s their permission. Sublicensing without restriction is one of the parts of MIT.

      • FizzyOrange@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        3 months ago

        Yes but it doesn’t let you remove the MIT license:

        The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

        Doesn’t look like they are complying with those terms to me.

        • TheOneCurly@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 months ago

          All source files have individual comment headers with the original authors and license identifier. It’s not the full license text but I do believe that style is compliant.

          • FizzyOrange@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            2
            ·
            3 months ago

            Yeah… But that’s even more confusing since they didn’t change it to “MIT AND GPL3”. So now the whole project is GPL3 but individual files are MIT?

            I think they should speak to someone who understands copyright law.

            • sus@programming.dev
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              1
              ·
              3 months ago

              the MIT copyright notice is still present with all copies of MIT licensed code, I don’t see the problem?

              • FizzyOrange@programming.dev
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                3 months ago

                The problem is that there’s ambiguity if you add new code to those files because the file header says it is MIT licensed but the project licence says it is GPL3. It’s contradictory.

                I believe they could have resolved the issue by deleting the file headers and including a copy of the MIT license in LICENSE with a note saying something like “Code at this commit is fully licensed under the MIT license which is reproduced here; subsequent code is licensed only under the GPL3. Both licenses must be respected.”

                But they haven’t done that, and it doesn’t seem like they’ve even thought about it.

                • sus@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  3 months ago

                  I’d opine that the MIT license has no requirements about avoiding ambiguity. That’s kind of its thing, it’s as unobtrusive as possible and minimizes the amount of having to think about license compliance minefields.

                  And incidentally they have done quite a bit to avoid ambiguity, in readme.md:

                  License

                  Forgejo is distributed under the terms of the GPL version 3.0 or any later version.

                  The agreement for this license was documented in June 2023 and implemented during the development of Forgejo v9.0. All Forgejo versions before v9.0 are distributed under the MIT license.

                  though they also distribute binary-only copies… the main website even recommends downloading the binary. not even a tarball, just the plain binary. which even in old versions don’t contain an MIT license at all. Even a hexdump of the binary does not contain any representation of the MIT text. I think that’s actually an MIT license violation?

                  • FizzyOrange@programming.dev
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    3 months ago

                    I think that’s actually an MIT license violation?

                    I think that’s probably fine actually since the place they are distributing the binary from (Codeberg releases) has a copy of the licence easily available.

                    the MIT license has no requirements about avoiding ambiguity

                    Err yeah of course not. The issue with creating ambiguous or conflicting legal requirements is that they might not get applied how you’d like if it went to court. For example Amazon might fork Forgejo and keep it closed source, saying “we copied the individual source files and those are MIT licensed” and they might win. The license text doesn’t have to say anything about that for it to be true.