FOSS 開放標準/簡介
單詞“標準”有幾個不同的含義。在本文件主題內容的背景下,它在日常使用中的含義[1][2]可以理解為指的是
- 質量或成就水平,或者
- 一個所有其他專案或規範都可以衡量的參照物。
- 獲得公認組織的批准,或者
- 在整個行業中普遍接受並廣泛使用。
在本檔案的其餘部分,除非另有說明,當使用“標準”一詞時,都隱含著技術含義。
標準在現代社會中極其重要。它們確保產品和服務的質量足夠,並且即使它們可能來自不同的方面或實體,也能互操作並協同工作。最終,它們提高了質量、安全、可靠性、效率和互操作性水平,並以經濟的方式提供了這些好處。[4]
在 IT 行業中,標準尤其重要,因為它們允許來自不同方面產品的互操作性,包括服務、硬體和軟體。如果沒有標準,使用者可能被迫僅使用來自一方或供應商的硬體和軟體或服務。國際公認的標準定義了通用介面,任何標準的更改或修改通常都透過共同協議進行。例如,如果網際網路在其網路基礎設施和支援的服務中不使用廣泛接受的技術標準,那麼它就不會實現當前無處不在的存在,即從幾乎任何型別的計算機平臺和裝置都可以訪問它。
在定義了標準在一般和技術使用中的含義後,讓我們將注意力轉向本入門指南的主要重點——開放標準。關於什麼構成開放標準,存在許多不同的意見。[5][6][7][8][9][10]
著名的開源倡導者布魯斯·佩倫斯認為,開放標準不僅僅是一個規範,而且標準背後的原則以及提供和運營標準的做法才是使標準開放的關鍵。[11]他建議開放標準應遵循可用性的原則,並最大限度地提高終端使用者的選擇。此外,不應有任何版稅、歧視、擴充套件子集和掠奪性做法,並且應遵循某些做法以確保遵守這些原則。佩倫斯的定義已在全球 FOSS 社群中得到廣泛認可。
開放標準原則 - 布魯斯·佩倫斯
布魯斯·佩倫斯提出了以下開放標準原則。根據他的定義[12],開放標準不僅僅是一個規範。標準背後的原則以及提供和運營標準的做法才是使標準開放的關鍵。布魯斯·佩倫斯列出的原則如下所示。
原則
- 可用性
- 開放標準可供所有人閱讀和實施。最大限度地提高終端使用者的選擇:開放標準為標準的實現建立了一個公平、競爭的市場。它們不會將客戶鎖定到特定的供應商或群體。
- 無版稅
- 開放標準可供所有人免費實施,無需任何版稅或費用。標準組織的合規性認證可能需要付費。
- 無歧視
- 開放標準及其管理組織不會出於任何理由偏袒一個實施者而非另一個實施者,除非供應商實施的技術標準合規性。認證組織必須為低成本和零成本實施提供驗證途徑,但也可以提供增強的認證服務。
- 擴充套件或子集
- 開放標準的實現可以擴充套件,或以子集形式提供。但是,認證組織可能會拒絕認證子集實現,並可能對擴充套件提出要求(參見掠奪性做法)。
- 掠奪性做法
- 開放標準可以採用許可條款來防止透過擁抱-擴充套件策略破壞標準。與標準相關的許可證可能要求釋出擴充套件的參考資訊,以及所有其他人建立、分發和銷售與擴充套件相容的軟體的許可證。開放標準不得以其他方式禁止擴充套件。
實踐
布魯斯·佩倫斯還討論了為上述每項原則提供和運營的推薦做法。(感興趣的讀者應檢視引用的參考文獻[13]以瞭解這些。)
美國馬薩諸塞州的開放標準政策[14]將其定義為公開可用的系統規範,這些規範由開放社群開發並得到標準機構的確認。歐盟委員會的歐洲互操作性框架 (EIF)[15]增加了以下要求:開放標準應免費或以象徵性費用提供使用、複製和分發,任何存在的專利都應以免版稅的方式永久提供,並且不應限制標準的重複使用。
因此,佩倫斯的定義通常與 EIF 和馬薩諸塞州的定義一致,這種方法已成為許多政策制定者在其開放標準政策的基礎。
其他組織,例如美國國家標準學會 (ANSI)、國際電信聯盟電信標準化部門 (ITU-T) 和商業軟體聯盟 (BSA),也提出了他們關於開放標準的定義和政策。雖然所有這些都認識到開放標準必須公開提供,以便相關方參與實施和開發,但它們也認識到包含必要的智慧財產權 (IPR),只要這些智慧財產權可以在非歧視性條款下以及以合理費用或免費提供。
因此,我們發現,雖然對開放標準可能存在許多詳細的定義和含義,但總的來說,它們都滿足以下特徵
- 所有人都可以輕鬆訪問和使用;
- 由一個開放且任何人都相對容易參與的過程開發;以及
- 不受任何特定群體或供應商控制或繫結。
開放 IT 標準的示例包括
- 來自網際網路工程任務組 (IETF) 的傳輸控制協議/網際網路協議 (TCP/IP) 網路協議套件;
- 來自全球資訊網聯盟 (W3C) 和國際標準化組織 (ISO) 的超文字傳輸協議 (HTTP) 服務協議;
- 來自 Unicode 聯盟和 ISO 的 Unicode 編碼標準;以及
- 來自開放組、電氣和電子工程師協會 (IEEE) 和 ISO 的用於 UNIX 的可移植作業系統介面 (POSIX)。
許多組織以及政府開始強調他們的 IT 使用盡可能遵循或遵守開放標準,因為他們現在意識到,透過實施開放標準,他們可以在技術、供應商和解決方案的選擇方面擁有更大的靈活性。在日益複雜和異構的 IT 環境中,沒有單一的技術或供應商可以提供所有解決方案,因此混合匹配和互操作的能力至關重要。資訊現在以前所未有的方式以電子方式交換和儲存。只有遵循資料交換和儲存/檢索的開放標準,組織才能確保訪問這些資料,無論現在還是將來,當技術或供應商可能早已消失時。
開放標準的其他一些定義
ANSI 將開放標準描述為那些由一個過程開發的標準,在這個過程中,一個對所有物質上受影響和感興趣的各方代表開放的群體或“共識機構”達成共識,並且考慮並回應投票成員提交的評論相關共識機構以及公眾。還應該對標準草案進行廣泛的公眾審查和評論。對於認為在標準制定過程中未遵守 ANSI 開放標準原則的參與者,可以提供申訴途徑。
此外,ANSI 試圖透過允許支付合理的許可費和/或實施標準所需的 IPR 持有者可能要求的其他合理和非歧視性許可條款,來平衡標準的實施者和使用者與擁有對實施標準至關重要的 IPR 的各方的利益。
BSA 是一個代表商業軟體提供商的行業貿易協會,它指定了一套開放標準的特徵。據此,開放標準應在不受限制的情況下發布,並提供足夠的細節以使人們能夠完全理解標準的範圍和目的,並且應免費或以合理費用公開提供,以供採用和實施。任何實施它所需的專利權都應由那些開發規範的人以合理且非歧視性 (RAND) 的條款(無論是否支付合理的特許權使用費或費用)提供給所有實施者。
ITU-T 採用了開放標準的定義[16],它反映了與 ANSI 相同的關鍵要素。他們將開放標準定義為向公眾提供的標準,並透過協作和共識驅動的過程開發(或批准)和維護。這些標準應使用協作且透明的共識驅動的過程開發,該過程對所有利益相關方都合理開放。
實施標準所需的智慧財產權應在全球範圍內以非歧視性的方式許可給所有申請人,無論是免費和在其他合理條款和條件下,還是在合理條款和條件下,其中可能包括金錢補償。
這裡應該注意的是,標準的廣泛使用並不一定意味著它是開放的。在 IT 行業中發現了許多例子(例如,來自 Adobe 公司的行動式文件格式或 PDF,來自微軟的 Powerpoint 簡報檔案格式),其中與流行產品相關的一些技術或檔案/資料格式被廣泛使用,以至於它成為了一種事實上的標準,即透過行業中廣泛使用和接受而建立的標準。但是,由於這通常基於特定一方(供應商或緊密群體)的技術,並且受該一方控制,因此它不符合開放標準的條件。將其作為標準採用存在潛在的陷阱,因為使用者沒有開放的機制參與其開發,也沒有保證控制方不會試圖將使用者鎖定在其產品或技術中。在某些情況下,產品/技術的擁有者可能會同意將其提交給國際公認的標準制定機構,並在這樣做時,它可能會成為開放標準。
然而,同時,政府和組織應該對某些此類事實上的標準(例如 PDF)被廣泛且合理地許可以及廣泛部署的可能性持開放態度,因此有必要將其作為政府或組織互操作性計劃的一部分暫時支援此類標準。完全忽略此類標準作為規則實際上可能會損害互操作性,尤其是在沒有此類事實上的標準的足夠開放標準替代方案的情況下。
許多人混淆了開放標準和 FOSS 的術語,認為它們是一回事,或者一個不能存在而另一個不存在。為了與 IOSN 釋出的其他出版物保持一致,本文件中將使用術語 FOSS 來指代開源軟體和/或自由軟體。[17] 除非另有說明,否則開放標準與 FOSS 不相同,FOSS 指的是在建立、修改、使用、許可和分發方面遵循某些原則的軟體。[17] 特別是,它應該具有四個基本自由
- 執行程式的自由,用於任何目的;
- 研究程式工作原理並根據您的需要調整程式的自由;
- 重新分發副本的自由,以便您可以幫助他人;以及
- 改程序序並將其改進發布給公眾的自由。
FOSS:一般介紹入門[18] 可參考 IOSN 的更多背景和 FOSS 詳細資訊。
FOSS 是軟體,而開放標準是指標準——完全不同的兩件事。開發軟體和標準所涉及的過程和問題也大不相同。非 FOSS 軟體(通常稱為專有軟體)中的功能完全有可能遵循開放標準來實現。開放標準對軟體許可或商業模式保持中立,因此開放標準在專有軟體中實現與在 FOSS 中實現一樣有可能。例如,像 Microsoft Windows 作業系統這樣的專有軟體仍然可以實現來自 IETF 的遵循開放標準的 TCP/IP 網路協議,並與之相容。
標準的廣泛使用,尤其是開放標準,對 FOSS 非常重要。它使 FOSS 更容易與專有軟體相容。FOSS 需要與專有軟體共存是一個現實,如果所有軟體產品都遵循標準,則可以促進與專有平臺的相容性。如果所有軟體產品都嚴格遵循標準,它們應該能夠很好地相互互操作和通訊,並且可以透明地讀取和寫入資料檔案。雖然專有標準和開放標準都可以實現這一點,但後者更受 FOSS 社群的青睞,因為它們促進了自由訪問、開放開發和參與。
在專有規範未公開發布但需要獲得許可的情況下,FOSS 支援可能很困難。過去,解決此問題的一種方法是對實現規範或協議的某些專有產品進行反向工程,但在最近一段時間,越來越多的專有許可證明確禁止這樣做。在一些國家,也通過了相關法律(例如,美國的《數字千年版權法案》),如果認為該過程可以幫助規避為防止非法複製產品而實施的措施,則禁止對產品進行反向工程。這些發展再次強調了開放標準在確保 FOSS 能夠很好地與專有軟體互操作方面發揮的重要作用。FOSS 的出現及其使用的開放標準突出了在需要互操作性的世界中開放標準的需求和益處。
開源軟體也從開放標準中獲益良多,當前開源軟體的廣泛使用和普及很大程度上歸功於網際網路以及網際網路所使用的開放標準。雖然程式設計師(以及許多編寫自己程式的使用者)從計算機的早期就開始自由地交換帶有原始碼的程式,但直到20世紀90年代網際網路的爆發之後,開源軟體的概念和文化才被主流IT行業廣泛認知和接受。實現網際網路上使用的開放標準和協議(如TCP/IP、HTML、簡單郵件傳輸協議(SMTP)等)的開源軟體易於獲取,許多個人和組織開始使用這些軟體。從那時起,他們開始瞭解開源軟體,並且隨著越來越多的人使用和貢獻開源軟體,開源軟體也逐漸壯大並得到更廣泛的認可。
有些人可能會爭辯說,開源軟體中允許任何人修改軟體原始碼的自由度將允許甚至鼓勵包含不符合已釋出標準的程式碼。這是有可能的,但在實踐中很少發生(即修改主流開源產品使其不符合開放標準並重新發布修改後的軟體)。此外,開源軟體專案所有者也會對此進行防範,因為他們意識到,如果儘可能地遵守開放標準,將有利於開源軟體的發展。事實上,開源軟體非常自然地會促進開放標準的採用,因為開源軟體自身的理念和開發模式鼓勵所有人參與、開放和共享——這正是開放標準的特徵和特點。
開源軟體有助於推廣開放標準
開源軟體可以在推廣開放標準方面發揮有益的作用。開放標準的開源實現通常會導致一個開放且免費使用的參考實現。如果開放標準的唯一實現是一個封閉的和專有的實現,那麼開放標準的許多好處就會被抵消。開源實現的可用性將促進標準更快地被採用和接受,因為每個人都可以輕鬆訪問標準的實現,從而可以嘗試和測試它。一個很好的例子是網際網路HTTP標準。這項服務之所以被普遍接受,一個原因是在很早的時候就有了HTTP伺服器(例如,國家超級計算應用中心或NCSA HTTPd、Apache)和客戶端(例如,NCSA Mosaic)的免費和開放實現。
本入門指南是IOSN釋出的一系列關於開源軟體的入門指南的一部分,這些指南作為開源軟體的入門文件,並更詳細地介紹了被認為對開源軟體很重要的特定主題。因此,開放標準的問題是從開源軟體的角度來探討的,並且強調了其中一些標準與開源軟體之間的關係。雖然開放標準可用於硬體和軟體,並且對兩者都很重要,但本入門指南中提供的示例和參考主要集中在與軟體相關的標準上。
- ↑ Merriam-Webster線上詞典 http://www.m-w.com
- ↑ 維基詞典 - 一個基於維基的開放內容詞典 http://en.wiktionary.org/wiki/Main_Page
- ↑ Webopedia - 計算機和網際網路技術定義的線上計算機詞典 http://www.webopedia.com/TERM/s/standard.html
- ↑ ISO體系概述 - 標準為何重要 http://www.iso.org/iso/en/aboutiso/introduction/index.html
- ↑ Perens, B.,“開放標準原則與實踐” http://perens.com/OpenStandards/Definition.html
- ↑ 美國馬薩諸塞州IT部門開放標準政策 http://www.state.ma.us/itd/openstandards.htm
- ↑ 歐洲互操作框架v1.0 http://ec.europa.eu/idabc/en/document/3473/5585
- ↑ ANSI,“更改既定開放標準定義的當前嘗試” http://public.ansi.org/ansionline/Documents/Standards%20Activities/Critical%20Issues%20Papers/Open-Stds.pdf
- ↑ BSA,“BSA關於技術標準的宣告” http://www.bsa.org/usa/policy/loader.cfm?url=/commonspot/security/getfile.cfm&pageid=22407&hitboxdone=yes
- ↑ ITU-T,TSB主任特別IPR小組,“開放標準的定義” http://www.itu.int/ITU-T/othergroups/ipr-adhoc/openstandards.html
- ↑ Perens, B.,“開放標準原則與實踐” http://perens.com/OpenStandards/Definition.html
- ↑ Perens, B.,“開放標準原則與實踐” http://perens.com/OpenStandards/Definition.html
- ↑ Perens, B.,“開放標準原則與實踐” http://perens.com/OpenStandards/Definition.html
- ↑ 美國馬薩諸塞州IT部門開放標準政策 http://www.state.ma.us/itd/openstandards.htm
- ↑ 歐洲互操作框架v1.0 http://ec.europa.eu/idabc/en/document/3473/5585
- ↑ ITU-T,TSB主任特別IPR小組,“開放標準的定義” http://www.itu.int/ITU-T/othergroups/ipr-adhoc/openstandards.html
- ↑ 自由軟體基金會,“自由軟體” http://www.fsf.org/philosophy/free-sw.html
- ↑ Wong, K.,“開源軟體通用介紹入門指南” http://www.iosn.net/foss/foss-general-primer/