在許多社群中都將「開放 (Open)」看作非常重視的一環,而在不同的領域有不同的名字,如開放原始碼 (Open Source)、開放內容 (Open Content)、以及本系列文注重的開放資料 (Open Data) 等等。因此在開始介紹台灣公民該知道的 25 個開放資料庫之前,我想先深入研究何謂現今大家所說的「開放」並且將會被搞混的定義一一探討。
首先,根據 OpenDefintion.org 所定義的「開放」,只要是被冠上開放作品,就必須滿足以下四個定義條件:
1.1 OPEN LICENSE OR STATUS 開放授權或狀態
該作品 必須 已進入公眾領域,或以開放的授權條款提供。任何附加於該作品的額外條款(例如使用條款,或授權人所持有的專利權等),不得 與前述授權條款或該作品之公眾領域狀態產生衝突。
1.2 ACCESS 方便近用
該作品 必須 以其完整狀態,且僅收取一次性合理重製工本費用的方式提供,並 建議 透過網際網路提供免費下載。任何授權遵循所需要的額外資訊(例如因註引出處而被要求的貢獻者姓名表)也 必須 伴隨作品一併提供。
1.3 MACHINE READABILITY 機器可讀
該作品 必須 以可由電腦處理的型態提供,且當中各項獨立元素均易於存取、修改。
1.4 OPEN FORMAT 開放格式
該作品 必須 以開放格式提供。開放格式意指無收費或不加其他限制於其使用上的格式,並可被至少一款自由開源軟體工具完整處理。
而有關開放授權的定義可以參考 OpenDefintion.org 中的第二點,在此便不贅述。
在閱讀這些開放定義後,有想到一些或許是沒有定義到,但對於使用者的使用權利和資料本身的實用度有極大關聯:
在接觸各種 SaaS 服務時,總是會有不少標榜為開放原始碼,但要使用他們的服務便需要付費的現象,然而這並不代表他們並沒有將原始碼開放。SaaS 服務除了原始碼以外,還包含所有服務運行的成本,該服務非常困難以完全免費的方式提供給使用者。但在此同時,該服務也可以透過營運伺服器的方式向使用者收費獲利,但其他人也能夠利用開放原始碼的內容架一個類似的服務向使用者收費,這才是開放原始碼保有的權利。
此外,開放的付費 API 也有可能是開放的,若它為了維持 API 的運行而酌量收費,則此資料也是在開放定義內。(若有獲利則不是)但在這裡 API 端便不能從中獲利,而在我已知的資料中並沒有依此給出明確的定義,也是在後續 25 個開放資料庫中偶爾會踩到的線之一。
機器可讀性的定義有明確提到,各項獨立元素均易於存取、修改,是為了防範只是將資料放到網路上便射後不理的情形。如公文 PDF 檔案中的文字無法複製,或是沒有在網站中搜尋特定文字的方法等等。但時至今日,我們能透過文字辨識,再自己 index 主動建立搜尋索引,就能夠解決機器可讀性的問題。但這個前提是有人願意為這些不可讀的資料做進一步的處理,而機器可讀性會非常直接的影響這些開放資料是否方便存取、資料最終的可見度,甚至是開放資料的社群活躍度。
此外,感覺在 OPEN LICENSE 中的定義也有不少內容是可以深入探討的,在 2.2 容許的條件
中有包含到原件完整、相同形式分享等等,感覺在實作上會有一些出入。若要認真去研究,可能要去看和開放授權有關定義的法律糾紛會比較有感覺。(不過有寫在 2.2.7 NON-AGGRESSION
上,提到 require modifiers to grant the public additional permissions,對開放源的權利有一定保障)
開放是在開放內容最重要的核心思想。不僅只是將作品開放出來,讓所有人隨意來拿就完事,還有許多步驟需要執行。如何讓使用者容易獲取這些資料、有哪些內容要附註、要用哪種格式、如何設計出成本最低的分享方式等等。很幸運的是,大部分的開放必要條件都由一群人用開放授權幫你想好了,現今若要做開放內容,只需要照著這些授權的路走便可,也有社群和各種工具能幫你釐清這些授權的差異及最佳的選擇。
(突然覺得 GitHub Actions 真的是開放內容的救贖)
GitHub Actions 真是太棒了,我覺得比 GitLab CI 好用很多(多系統、虛擬機實例)
順便說一下,是 GitHub Actions 喔~
嗷嗷耶 好ㄉ感謝 JacobLinSoKooL
為何會說 GitHub Actions 是開放內容的救贖?具體在哪方面產生幫助?
GitHub Actions 可以適時提供開放內容一定的計算量,可以應付小型的開放資料運算成本,就算需要付費成本也會低很多,同時保證穩定度等等 (不過 Jacob 說並不穩定w)