2010-04-04 14 views

risposta

8

Implementazione clean room significa in questo contesto che il codice è stato scritto solo dalla descrizione e dalle specifiche, ma non dall'accesso a codici potenzialmente problematici.

Questo è importante in quanto il codice sorgente Sun era precedentemente sotto una licenza che era incompatibile con le distribuzioni GPL in particolare. Garantendo che il codice non sia stato scritto senza alcun accesso a tale codice, è garantito che in futuro la licenza Sun non potrà essere trovata applicabile all'implementazione della clean room e quindi nuovamente incompatibile con la licenza GPL o con altre restrizioni.

In altre parole, è una garanzia che la licenza mostrata sarà valida.

+0

Devo installare l'implementazione del codice pulito prima di scrivere il mio provider. destra ? –

+0

Avrete bisogno di un framework JCE installato, oppure il codice di supporto non è presente. BouncyCastle usa la licenza MIT X11, che è tanto buona quanto in termini di riutilizzo, in modo che tu possa dare un'occhiata al loro codice quanto vuoi per scrivere il tuo, senza influenzare la licenza del tuo prodotto finito. –

+0

Il problema è che i provider JCE devono essere firmati da Sun * se * si utilizza JRE di Sun. Suppongo che se usi un'implementazione JCE di terze parti che non impone questo, allora sei ok. È importante distinguere tra il JCE e i fornitori del JCE. Un esempio di classe JCE è la classe MessageDigest. Il provider contiene le implementazioni dei digest effettivi, come SHA1, che vengono recuperati tramite i metodi factory getInstance. Bouncycastle che conosco fornisce un fornitore firmato, non lo faccio se forniscono comunque un framework JCE. –

3

Nonostante il nome, la maggior parte delle re-implementazioni viene eseguita in stanze con lattine di birra e scatole per la pizza per lo più vuote. Si tratta di un'esperienza del passato, capita :-)

Tuttavia, nel contesto dello sviluppo dei chip, una stanza pulita è quella in cui piccole imperfezioni (come la polvere) possono causare seri problemi su scala nanometrica. Quindi sono mantenuti incredibilmente puliti, con depuratori d'aria, tute protettive (protezione dell'ambiente, non chi li indossa) ecc.

Per analogia, lo sviluppo di una stanza pulita software viene eseguito senza alcun accesso a imperfezioni che potrebbero causare problemi. Nel caso di software open source, questo significa non avere accesso a un'implementazione che potrebbe essere "macchiata" da una licenza incompatibile. (Non è solo GPL, ma questo è comunemente citato a causa della sua natura virale). Tuttavia, questo si applica anche ai progetti di reverse engineering di origine chiusa, come la creazione del BIOS compatibile IBM che ha aperto il mercato ai cloni IBM negli anni '80.

Problemi correlati