You’re getting confused because you are substituting the goal of a clean room implementation for its definition. And you are not understanding that “clean room implementation” is one specific type of reverse engineering.
The goal is to avoid copyright infringement claims. A specific clean room implementation may or may not be successful at that.
This does not mean that any reverse engineering attempt that successfully avoids copyright infringement was a clean room implementation.
A clean room implementation is a specific method of reverse engineering where one team writes a spec by reviewing the original software and the other team attempts to implement that spec. The entire point is so that the 2nd team has no knowledge of proprietary implementation details.
If the 2nd team has previously read the entire source code that defeats the entire purpose.
> That very much sounds like using GCC as an online known-good compiler oracle to compare against in this case.
Yes and that is absolutely fine to do in a clean room implementation. That’s not the part that makes this not a clean room implementation. That’s the part that makes it an attempt at reverse engineering.
The goal is to avoid copyright infringement claims. A specific clean room implementation may or may not be successful at that.
This does not mean that any reverse engineering attempt that successfully avoids copyright infringement was a clean room implementation.
A clean room implementation is a specific method of reverse engineering where one team writes a spec by reviewing the original software and the other team attempts to implement that spec. The entire point is so that the 2nd team has no knowledge of proprietary implementation details.
If the 2nd team has previously read the entire source code that defeats the entire purpose.
> That very much sounds like using GCC as an online known-good compiler oracle to compare against in this case.
Yes and that is absolutely fine to do in a clean room implementation. That’s not the part that makes this not a clean room implementation. That’s the part that makes it an attempt at reverse engineering.