2026-09-29 07:01 UTC
Replies (3)
-
@simonzerafa@infosec.exchange 2026-09-29 08:55
@shtrom@piaille.fr Random comments from me would be If you take existing C code that is licensed under the GPL and rewrite or translate it into Rust, your Rust code is considered a derivative work under copyright law. The GPL would therefore seem to apply. If you go to the source algorithm and reimplemented it from scratch then you would probably need a clean room implementation. ๐๐
-
@shtrom@piaille.fr 2026-09-29 07:02
Note: No agent was allowed to go rogue and touch this code.
-
@diazona@techhub.social 2026-09-29 10:35
@shtrom@piaille.fr As a copyright nerd (not a lawyer), given that you have looked at the source code of the GPL implementation, then there's a definite chance your Rust implementation is a derivative work of the reference implementation. Derivative works don't have to be related by verbatim copying; at least in the US (which is the only perspective I can speak from), there's a legal test by which if you have access to a copyrighted work (e.g. looking at the source code) and produce another substantially similar work (such as an implementation of the same encoding scheme using a roughly similar approach), that's enough to prove copyright infringement. This is why companies and large organizations use clean-room reimplementations: it makes it very obvious that the people who made the substantially similar work didn't have access to the original. However, there's another legal principle called the merger doctrine which says that if the underlying idea, e.g. the algorithm you're implementing, can only be expressed in one way (or very few ways), then the expression - the code - effectively might not qualify for copyright protection after all. Otherwise, as soon as you read the source code of an implementation of a particular algorithm, you'd never be allowed to write that algorithm yourself. If that applies to your situation then you might be in the clear, but there's really no way to know without it going to court.