this post was submitted on 25 May 2025
60 points (91.7% liked)

Rust

7030 readers
10 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 2 weeks ago (3 children)

Using MIT license means the developers cannot look at GNU source code when writing code for uutils. This feels like a unnecessary hurdle given that uutils wants to be 100% compatible with GNU tools.

[–] [email protected] 3 points 2 weeks 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.

[–] [email protected] 1 points 2 weeks ago (2 children)

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.

[–] [email protected] 4 points 2 weeks ago (1 children)

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.

[–] [email protected] 3 points 2 weeks ago (1 children)

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.

[–] [email protected] 2 points 2 weeks ago (1 children)

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.

[–] [email protected] 1 points 2 weeks ago (1 children)

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?

[–] [email protected] 1 points 2 weeks ago (1 children)

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.

[–] [email protected] 1 points 2 weeks ago (1 children)

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.

[–] [email protected] 1 points 1 week ago

Ah yes, then we are in agreement. I thought we were talking about unintentionally arriving at the same implementation after looking at the original, which is where the discussion started.

[–] [email protected] -2 points 2 weeks 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.

[–] [email protected] -2 points 2 weeks 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",...