2010-04-04 70 views

回答

8

無塵室的實現意味着在這種情況下,代碼只能從描述和規範中編寫,而不能訪問任何可能存在麻煩的代碼。

這很重要,因爲之前的Sun源代碼是在與GPL分發版不兼容的許可證下。通過確保沒有任何代碼訪問權限的情況下編寫代碼,可以保證Sun許可證以後不會適用於無塵室實施,然後再次與GPL許可證或任何其他限制不兼容。

換句話說,它是保證顯示的許可證可以保留。

+0

我必須在編寫我的提供程序之前安裝乾淨的代碼實現。對 ? – 2010-04-04 18:07:25

+0

您需要安裝JCE框架,否則支持代碼不存在。 BouncyCastle使用MIT X11許可證,它的重用性非常好,因此您可以儘可能多地查看自己的代碼以編寫自己的代碼,而不會影響成品的許可證。 – 2010-04-04 18:14:53

+0

問題是,如果您使用Sun的JRE,JCE提供商必須由Sun *簽名。我想如果你使用第三方的JCE實現不強制執行,那麼你就沒事了。區分JCE和JCE的提供者是很重要的。 MessageDigest類是JCE類的一個例子。提供程序包含通過getInstance工廠方法檢索的實際摘要(如SHA1)的實現。我知道Bouncycastle提供了一個簽名的提供者,但我不會提供JCE框架。 – 2010-04-04 21:20:24

3

儘管有這個名字,但大部分的重新實現都是在大多空啤酒罐和披薩盒的房間中完成的。這是從過去的經驗來講,你明白:-)然而,在芯片開發的背景下,潔淨室是一個小缺陷(如灰塵)在納米尺度下可能導致嚴重問題的地方。所以他們保持非常清潔,空氣洗滌器,防護服(保護環境,不穿戴者)等。

通過類比,軟件清潔室的開發沒有任何訪問可能導致問題的缺陷。就開源軟件而言,這意味着無法訪問可能被不兼容的許可證「污染」的實施。 (這不僅僅是GPL,但由於其病毒性質,這通常被引用)。但是,這也適用於封閉源逆向工程項目,例如創建IBM兼容BIOS,以便在80年代向IBM克隆公司開放市場。