• jenesaisquoi@feddit.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      That’s not accurate. They can look at it, but they can’t port it. But looking at how it works and then coming up with their own implementation is fine.

      • arendjr@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        It’s a gray area, legally. What you say is theoretically correct, but there’s practical issues once you’ve looked at the code that will open you up to legal liability anyway.

        For instance, what if you need a utility function during your reimplementation for which there is really only one obvious implementation? You can no longer claim to have come up with it by yourself.

        I doubt the FSF would sue over it, but companies are known to avoid the risk.

        • jenesaisquoi@feddit.org
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          If a piece of code is so trivial there is only one obvious solution then it does not fall under copyright. There is jurisprudence for this.

          • arendjr@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            24 hours ago

            Maybe not the best example then, but not the only example. If you unintentionally create something that resembles the original too much you may still become liable. It’s hard to draw the line, which is why many in such a position would prefer to be safe rather than sorry.

            • bitfucker@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              11 hours ago

              How so? People come up with the same idea all the time independently of each other. When doing clean room implementation (the ideal best case), you are not liable if what you create at the end matches 1-1 with the original. You never know anything about the implementation detail of the original. Academia also acknowledged independent discovery and publication of many things. Why would clean room implementation be different?

              • arendjr@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                9 hours ago

                Because coming up with the same implementation independently is legal, while copying someone else’s implementation isn’t. Which method you used to arrive at your implementation can be difficult to prove either way, which is why it’s important for implementors to be able to say they never looked at the original. It’s a legal defence, in case you ever need to stand in front of a judge or jury who will question how you arrived at yours.

                • bitfucker@programming.dev
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  4 minutes ago

                  That’s… what I’m saying. Clean room implementation is legal. You accidentally arrive at the same conclusion independently. And yes, it is tedious to do it but it is legal.

      • Arend van Beelen@mstdn.social
        link
        fedilink
        arrow-up
        0
        arrow-down
        2
        ·
        2 days ago

        @jenesaisquoi @Ordoviz It’s a gray area, legally. What you say is theoretically correct, but there’s practical issues once you’ve looked at the code that will open you up to legal liability anyway.

        For instance, what if you need a utility function during your reimplementation for which there is really only one obvious implementation? You can no longer claim to have come up with it by yourself.

        I doubt the FSF would sue over it, but companies are known to avoid the risk.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      It’s not quite that bad. They say

      This means that we cannot accept any changes based on the GNU source code.

      You are totally allowed to look at it. For example if there was some weird behaviour that you couldn’t work out, you could look at the GNU code to understand it.

      What you can’t do is closely base your code on the GNU code. I.e. you can’t just translate it from C into Rust.

    • taladar@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      arrow-down
      4
      ·
      2 days ago

      On the other hand a new GPL licensed version of coreutils will run into the exact same adoption problems that brought us the current mess of “you can use this parameter on GNU but not on the BSD version”,…