What Is A Clean Room Implementation?
Bryan Brunton asks: "I am writing an open source game called Merchant Empires For now, it is almost completely based on a closed source game called Space Merchant. IMO, Space Merchant is slow, ugly, and bug-filled. I am getting Space Merchant users who log into my game, spew some profanity and claim that I will be sued. I have no access to Space Merchant source code. Can I be sued? If so, what do I need to do to make my game qualify as a clean room implementation?"
O.k. the standard clean room process is used to re-implement projects through reverse-engineering.
First, one developer/team comes up with a detailed specification of what the program does. This person/team is the one who has complete access to the product being reverse engineered. The developer writes up a detailed specification, including file formats, interfaces, everything.
Once the specification is completed, the first team will go to a lawyer and hand off the specification. The lawyer then goes to the implementation team and gives them the specification for implementation. There can be no communication except through the specification between the two teams, and the specification cannot include any of the original source, etc. (in other words, cut/paste, screen shots don't count). I don't even think that you are allowed to ask questions back to the original team. Once the spec is handed off, the original team is finished with the project, never to be heard from again. The members of the implementation team should also have never seen the original product that they are re-implementing.
Then the implementation team implements the product according to the (hopefully very) detailed specification.
Once this is all done, you should have a clean room re-implementation of the original. Of course, you will then end up with having to fight all of the lawsuits based on trademark infringement and copyright (see pac-man).