Che cos'è il design delle camere bianche?
Il design di una camera bianca è una strategia particolare nell'ingegneria IT. Con un design a camera bianca, i lavoratori possono "decodificare" un programma software in varie fasi procedurali, senza sapere come è stato originariamente costruito. Questo processo a ritroso è simile a quello di smontare un motore o un altro dispositivo meccanico complesso per capire come funziona e come viene assemblato. I programmatori lo fanno "decifrando" ogni fase di un processo di codice e ottenendo un quadro più chiaro di come è stato originariamente scritto.
Un altro tipo di idea di programmazione chiamato "codice pulito", differisce in modo critico dalla strategia della camera bianca. Il codice ben scritto è chiaro e conciso, con poco o nessun codice superfluo. Un design di camera bianca, d'altra parte, è una tecnica per manipolare il codice esistente. Il design delle camere bianche è stato storicamente una scappatoia rispetto alle leggi sul copyright e alle accuse di violazione del copyright del prodotto. La difesa del design delle camere bianche può o meno essere efficace nell'aiutare un'azienda ad evitare la responsabilità per addebiti che ha copiato un tipo di software o prodotto IT. Quando il caso del copyright si basa sull'uso di un "codice proprietario", può essere utile una difesa del design di una camera bianca.
"Muro cinese" è un termine spesso associato alla tecnica di progettazione delle camere bianche. Questo tipo di procedura non gestisce il codice proprietario. Gli ingegneri che non hanno conoscenza di un prodotto potrebbero teoricamente ricrearlo usando questa tecnica.
Nell'implementazione del reverse engineering nella progettazione di clean room, i professionisti possono utilizzare uno strumento software chiamato "decompilatore". Il decompilatore è fondamentale per il processo di reverse engineering, a causa del modo in cui il codice del computer viene compattato e riorganizzato per il "tempo di esecuzione". Molti i programmi per computer sono scritti in lingue come MS Visual Basic o "C Suite". Quando sono integrati in "eseguibili", il codice a livello di lingua viene semplificato in quello che viene chiamato codice macchina. Al suo livello più elementare, questo è ridotto al linguaggio binario, composto esclusivamente da una serie di quelli e zeri.
In molti casi, non è possibile invertire il codice della macchina nel codice di lingua originale. Quando è possibile farlo, tuttavia, la strategia della camera bianca è spesso un componente della tecnica utilizzata dagli ingegneri. Riportando il codice attraverso un processo inverso, la natura del codice originale può diventare ovvia.
L'uso della tecnica della camera bianca a volte porta le aziende in complicate situazioni legali su ciò che costituisce diritti intellettuali sui prodotti software. La maggior parte dei professionisti concorderebbe sul fatto che è meglio evitare questo tipo di situazione, ma in alcuni casi il reverse engineering può essere utile per un'azienda o un'impresa. Poiché l'avvento dell'ingegneria open source cambia il numero di persone che guardano il software, è più probabile che le tecniche di clean room e il reverse engineering possano diventare più utili in quanto le rigide leggi sulla proprietà intellettuale potrebbero essere allentate grazie al principio del codice open source , ciò presuppone che il codice debba essere condiviso e non protetto dai programmatori.