顯示具有 非自由軟體 標籤的文章。 顯示所有文章
顯示具有 非自由軟體 標籤的文章。 顯示所有文章

2018年11月16日 星期五

Microsoft Office 2016 & 365 不只傳送「軟體診斷資料」,還私下傳送了...


原文出處:https://www.zdnet.com/article/dutch-government-report-says-microsoft-office-telemetry-collection-breaks-gdpr/

標題:荷蘭政府報告中指出,微軟 Office 所傳送回美國伺服器的資料違反了歐洲制定的通用資料保護條款(General Data Protection Regulation,GDPR)

荷蘭政府在 13 日所發布的一篇報告中指出:他們發現微軟 Office 內建的遙測收集機制(telemetry collection)在未適當通知使用者的狀況下傳送了大量個人資料回到美國的伺服器上。除了個人資料以外,連文件內容都傳!

原文引言:"Investigators admitted that Microsoft collected functional and diagnostics data that is usually a standard practice among software developers, but they also found that Office applications also collected actual content from users' applications, such as email subject lines and sentences from documents where the company's translation or spellchecker tools were used.

While Microsoft has tried to make Office products GDPR compliant by storing EU users' Office documents on EU servers, the report found that the telemetry collection system sent Dutch user data to US servers, opening it to the possibility of having the information seized or queried by US law enforcement."

荷蘭政府對此「感到憂心」,因為一些荷蘭政府的機密資料可能因此而外洩到美國。他們發現 Office 私下傳送的資料比 Windows 10 還多!



評註:還是提醒大家:

  1. 使用公有雲服務,請特別小心。機密資料不要傳上去。
  2. 使用未開源專有軟體,請特別小心。不管是軟體漏洞問題還是資料安全問題,未開源的專有軟體都是一個黑箱,我們無從得知到底軟體除了提供平常有的功能以外,還私下做了什麼事情。
  3. 使用自由開源軟體比較容易被破解?換個角度想,有成千上萬的眼睛盯著它看,只要不要隨意從來路不明的來源胡亂下載,這些問題是有許許多多人在幫我們把關的!


2017年8月29日 星期二

再談自由軟體與專有軟體


一直以來都時常會有些討論自由軟體、專有軟體的貼文有些似是而非的看法,所以本人在此不吝提出一些觀點,並針對混淆之處作澄清,希望各位讀者能參考參考。

一、有些人認為採用自由軟體會抹殺從事軟體開發的工作機會。我認為這是誤解,[0] 請見後述逐項說明。

二、自由軟體與免費無關,也有許多公司提供自由軟體的商業支援、或銷售自由軟體產品,這些即所謂商業自由軟體公司,例如美商 Red Hat 公司就銷售需付費的 Red Hat Enterprise Linux。[1] 至於我們常見的自由軟體願意無償提供,只是軟體開發單位自己歡喜甘願而已,將自由軟體和免費混為一談是討論自由軟體時最常見的錯誤見解。[2]

三、自由軟體的開發一樣要成本、維護也同樣要成本,這些成本多半來自於個人無償奉獻、商業公司、或基金會的支持,任何人都能向這些商業公司購買自由軟體,或是隨喜捐款給自由軟體背後的獨立開發者或維護的基金會。此外,向各位提供一個數據作參考:Linux 基金會公佈2016年 Linux 作業系統核心的程式碼開發有 92.3% 都出自商業公司;[3] 各位也可以進一步研究世界軟體大廠諸如 Oracle、Red Hat、Canonical、Novel 等是怎樣運用自由軟體產品賺錢的。自由軟體唯一與專有軟體不大相同的地方,就是他們的自由軟體成品取之於前人知識、技術、經驗,但成果不私藏,願意拿出來和大家分享,無論有無收費任何人都能自由使用、研究修改、再次散布、改善並回饋給社會大眾。

四、再來聊聊軟體的著作權問題。法律上,一般的實體有物權(有體財產),可以給來給去、賣來賣去;但抽象概念、辦事方法如軟體這類創作沒有實體(無體財產),只能用契約約定如何利用,這就是軟體授權的由來。目前根據伯恩公約之約定,任何人的著作在完成後都將自動取得著作權,所以不管是專有軟體或是自由軟體都受到著作權法保障:只是專有軟體想要佔有專門權利,所以拿著作權法去限制其他人如何使用獨家軟體(故稱專有軟體);[4] 而自由軟體希望利他,所以拿著作權法來保障任何人都能自由善用其軟體(故稱自由軟體)。[5]

五、接著談一下軟體的專利。軟體,說穿了,它的源始形式就是一串數學運算式,這些式子的主旨在於描寫如何完成某件事情的方法。在美國產業中,絕大多數的軟體專利都圍繞著含混不明的文字敘述打轉,甚至是將那些數學公式的描述換句話說(可參考網路上許多談論「軟體的荒謬性」相關文章)。[6] 這也是為何歐盟不允許軟體本身申請專利、以及對資訊表達的方式申請專利。然而,實務上為了抵禦專利蟑螂或其他專有軟體公司的侵害,無論前述的 Oracle、Red Hat、Canonical、Novel 等公司,或是大量利用自由軟體作服務的公司如 Google、Facebook 等,皆保有自己的軟體專利作防護,也甚至有 Open Invention Network 這樣的專利聯盟在保護自由與開源軟體。[7]

六、最後,人們今日所處社會的成果,無一不是建立在前人的知識、技術、文化上。牛頓曾說過:「如果說我看得比別人遠些,那是因為我站在巨人的肩膀上」。試想如果我們處在一個沒有自由軟體、只有專有軟體,並且處處充滿軟體專利的極端社會中,那麼要從頭寫一個不會被告的軟體大概難如登天,任何同領域的新創公司難與既有公司相競爭,整個市場終將被大型專有軟體廠商壟斷。這時我們就能瞭解,自由軟體得以讓任何人使用、修改、散布、回饋,也包括任何廠商,各廠商都能利用自由軟體推出商業服務、並積極修正改善或增添新功能爭取客戶,而這才是保障任何廠商都能參與競爭的公平做法。

好比手機市場,如果當年沒有自由的 Linux 內核心,那麼利用它作基底的 Android 也就無法於焉誕生,而市場上就更難有人白手起家和已成氣候的蘋果 iOS 競爭了。(附註:Android 系統是由許多自由軟體和專有軟體搭配構成,而非完全都是自由軟體)

至於教育上的應用,自由軟體允許任何人研究程式碼並做出改善,這點無疑是更平等、更自由的教材。[8]

以上個人淺見給各位參考。

可進一步參照之資料

0. https://www.getgnulinux.org/zh-tw/linux/misunderstanding_free_software/
1. https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
2. https://www.gnu.org/philosophy/selling.zh-tw.html
3. http://blog.nutsfactory.net/2016/08/30/linux-%e4%ba%8c%e5%8d%81%e4%ba%94%e9%80%b1%e5%b9%b4/
4. https://www.getgnulinux.org/zh-tw/windows/restrictions/
5. https://www.gnu.org/philosophy/free-sw.html
6. http://blog.nutsfactory.net/2010/05/16/patent-absurdity/
7. https://www.openfoundry.org/tw/foss-news/8592-open-source-innovation-patents-and-the-android-platform-in-perspective
8. https://www.getgnulinux.org/zh-tw/windows/stand_for_a_free_society/ 

作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。  

2017年3月10日 星期五

開放源始碼和安全性有什麼關係?

Security,圖採 CC-by 2.0 授權,作者 GotCredit (http://www.gotcredit.com/)

誠如密碼學專家 Bruce Schneier(布魯斯・施奈爾)所著《秘密與謊言:如何建構網路安全防衛系統》一書第二十二章【產品測試及驗證】中的描述,他認為公眾開放的密碼學加密方法其安全上的好處優於私人專有的方法,因為唯一可以確認密碼方法之安全性的作法,即是由許多專家投注一段很長的時間評估,而將該方法公諸於世是經濟效益最佳的方法;所以基於相同理由,他認為任何與安全防衛相關的事務都應有公眾的解決方案,這包括採用開放源碼方式發佈軟體,就讓世上所有專家評估、讓時間考驗。

他認為一個優良的安全防衛設計,其設計細節不會有什麼必須隱瞞之處;換句話說,這套安全防衛設計之所以安全,純粹來自於產品本身,以及產品自身可以改變的祕密:如密鑰、密碼、信符…等等。但如果是透過隱匿的方式獲得安全性(security by obscurity):即系統的細節是安全防衛的一環,那麼一旦設計細節公諸於世,它們可能會在極短的時間內被破解。若一個軟體的安全設計相當拙劣,就只能期待設計細節不曝光來得到安全;若系統設計相當優良,即便將相關細節公諸於世,也依然安全無虞。

而軟體也是一樣,要在源始程式碼中找到安全防衛上的漏洞,唯一的方法是評估檢驗,但你不可以隨便找人評估,你需要的是安全防衛軟體專家來評估,你需要它們從各種不同角度、經年累月的一再檢驗。雖然聘請這類專家是可行的,但是讓大眾一同動手會更省錢、也更有效率,所以最簡單的方式就是公佈軟體的源始碼

說到這,最常見的反對論點是:公布軟體的源始程式碼只會給怪客們找尋弱點所需之資訊,並且利用這些資訊來作惡。這些人認為,保護源始碼秘而不宣,能夠阻斷攻擊者得到相關資訊。Bruce Schneier 講到這裡說:「除了驚嘆他們的天真之外,我還真不知道該說些什麼」。

畢竟將軟體源始碼公諸於世,並沒有因此增加該軟體的臭蟲與缺陷數目,唯一增加的是一般大眾對它們認識的可能性而已。他提到:「那些把程式碼隱匿不為人知的廠商多半很懶散;而願意將產品源始碼公諸於世的廠商,往往可以因此找到漏洞,所以,他們也就能修補它們。」「秘密的軟體是脆弱的:它就像密碼學一樣。若將源始碼公諸於世,會比隱匿源始碼的措施提供更紮實的安全防衛」。

然而,開放源始碼軟體並不能保證安全,他認為大眾應該把兩件警告銘記在心

首先,僅僅將源始碼公開並不自動等於人們會檢驗它的安全漏洞,並且,當然這也不代表專家們會檢驗它的安全漏洞。
他舉例說:「研究員在 MIT 麻省理工開發的 Kerberos 程式碼發表後十年,才在其中找到緩衝器超限的問題」、「另一個開放源始碼的軟體 Mailman,用來管理郵遞清單,有顯著的安全問題存在長達三年之久⋯⋯直至原作者檢查源始碼,才找到問題所在」。畢竟安全防衛專家是一群常為雜事分神、極其忙碌的一群人。他們沒有什麼時間,也沒有意向想檢閱世上所有公布的源始碼。所以,雖然公布源始碼是件好事,但是它無法帶給你安全的保證。

其次,僅僅將源始碼公諸於世,並不自動等於安全問題只要一發現就可以被迅速解決。
我們沒有任何理由推論:一個兩年的開放源始碼軟體之安全性,會比一個兩年的專有源碼軟體的漏洞少。如果開放源始碼的軟體已經被專家詳細檢驗過,那麼以上的論調有可能是真的。但若只是因為一段程式碼已經公諸於世多年,並不具任何特別的意義。

Bruce Schneier 總結道:「我相信軟體開放源始碼有潛力可以增進安全防衛能力。但是,軟體並不會因為源始碼公開而自動變得很安全,就像不能因為程式碼不公開,就下斷語認為它不安全一樣」。

最後,Bruce Scheier 提及軟體開發模式也是影響軟體安全性的因素之一,而上述探討只針對源始碼開放與否作分析,沒有涉及到「哪一種開發程序可能在設計上產生安全的軟體」。他認為若採用傳統的專有軟體方式(教堂式開發)或許較能產出高品質、大規模的軟體;所以對於安全防衛而言,最好的作法也許是先以教堂式開發製作出專有授權的軟體;然後,再將它轉為開放源始碼公開讓所有人檢驗、讓時間考驗。

參考資料

祕密與謊言書封,合理引用

書名:《秘密與謊言:如何建構網路安全防衛系統》

作者:Bruce Schneier
譯者:吳蔓玲

出版社:商周出版
出版日期:2011/09/18

註,本書已絕版,可於各大圖書館查詢借閱。



關於 Bruce Schneier

Bruce Schneier 個人網頁
Wikipedia 上的 Bruce Shneier 介紹
Bruce Schneier 於 TED 上的分享內容《安全的錯覺》

進階閱讀

開放原始碼比較不安全?看看微軟的中標率吧(冷笑)》,作者洪朝貴

2017年3月7日 星期二

常見迷思:自由軟體真的比較不安全嗎?

LibreOffice 夠安全嗎?有沒有程式漏洞?程式碼公開會不會造成大家輕易放入惡意程式? 
對於不用付費的開源軟體,可能會有人覺得哪有可能那麼好康的事,一定有哪些地方不太好....

在我們這十幾年推廣自由軟體的過程中,這是個經常出現的問題。前年的數位路平活動,也有縣市政府資訊部門的主管提出相同的問題;最近兩三年在推動 ODF/LibreOffice 時,這個問題更是經常被提出。好似只要 LibreOffice 出現一個安全性漏洞,就會造成整個資訊系統崩潰一般。

自由軟體的程式碼是公開的,真的因此就變得「不安全」嗎?

沒有耐性往下讀的讀者,這裡先說我的結論:沒有一套軟體可以保證百分之百沒有安全漏洞(除非你要把 print "Hello World!" 也算一種「軟體」)。然而,我們可以用一些事實與數據,來說明自由軟體處理安全漏洞的方法、資訊是公開的,而商業公司、私有版權軟體處理安全漏洞的方法、資訊則是一個黑箱要不要修正由商業公司自行決定

以下我們就分為數據與事實來說明。

2017年2月15日 星期三

【文件基金會聲明】關於慕尼黑市議會將討論的,改回微軟系統與辦公軟體的提案


文件基金會是一個獨立的慈善團體,也是 LibreOffice 的主導者。我們對於慕尼黑市的發展深表關切,並且想表達我們對於少數政客的遺憾,因為他們對於特定議題明顯忽視專家的意見。

自從 2014 年 Dieter Reiter 當選市長之後,就不斷傳出謠言,說慕尼黑市將改回微軟 Windows 與 Office 系統。而 Dieter Reiter 在 2014 年 StadtBild 雜誌的採訪中,被形容為「微軟的粉絲」。

Dieter Reiter 市長請 Accenture 公司,一個微軟的長期夥伴,做了研究並產出一份關於慕尼黑市資訊科技基礎建設的狀況報告。在這份 450 頁的文件中指出,主要問題的徵結被歸於部門組織,而並非開放源碼作業系統與應用程式的問題。

在講求開放資料與決策透明化的現在,我們很高興看到這份報告終於對大眾開放:

https://www.ris-muenchen.de/RII/RII/DOK/SITZUNGSVORLAGE/4277724.pdf

根據這份報告,只有少數使用者(依據不同的應用程式,約在 18% 到 28% 間)遇到軟體相關的嚴重問題,必須改用微軟作業系統與微軟 Office 來解決。巧合的是,其中有 15% 的使用者承認這些嚴重的問題與微軟的 Office 有關。

事實上,在 Accenture 提出的報告中,建議將作業系統與應用程式分開來處理,以減低客戶端的依賴性。為了確保這一點,Windows 與 LiMux 都應佈署在基礎設置中。所謂的基礎設置包括作業系統,以及所有的單位與服務的提供商所需的應用程式,例如 LibreOffice、行事曆、電子郵件系統等。基礎設置應該依照不同應用程式的情況作延伸。

儘管 Accenture 如此建議,慕尼黑市議會將於 2 月 15 日討論一項由少數議員提出的提案,將所有的工作站在 2020 年前全部安裝 Windows 10 與 MS Office 2016。這項提案將在未來六年花費近九千萬歐元,比 Accenture 所建議的六千六百萬歐元多出 35%。

此外,根據綠黨(Green Party)議員所提供的估計,還要再花費一千五百萬歐元來更換或更新電腦,雖然這些電腦跑 Linux 這一類的輕量級作業系統沒有問題,但是無法達到 Windows 10 基本的需求。

最後,也是最重要的,大部份這些購買微軟授權費用的支出其實是提高了愛爾蘭的 GDP(因為在歐洲所販售所有微軟的產品均來自愛爾蘭),而不像目前,受惠的是本地提供開放源碼方案服務的廠商。這一點是極大的不同,在使用納稅人的錢時應該要仔細考慮。

除了加重成本以外,目前即將討論的方案忽略了當初慕尼黑市政府決定從私有軟體改為開放源碼與開放標準格式方案的主要原因:避免被單一軟體廠商套牢。

實際上,雖然此提案將微軟 Office 的文件格式稱為「業界標準」,但是大家應該很清楚,所有微軟 Office 的文件格式,即使已經過 ISO 認證為國際標準,但仍然均為私有專利,並且不斷改版,不適用於文件交換。一個所謂的標準文件格式,應該要在真實世界中實作考驗,而非只是紙上談兵。

如果這份提案在議會獲得通過,慕尼黑市將不只損失了過去十幾年來所堅持的「不被廠商套牢」的獨立性,而且將違背目前世界許多國家,如英國、法國、瑞典、荷蘭與台灣等往開放文件格式邁進的潮流。

這代表慕尼黑市將改用一套已知連升級軟體版本都會造成許多問題的虛擬標準文件格式,而非投資於開放文件格式,降低文件交換的成本。

基於以上的考量,文件基金會認為慕尼黑市議會 2 月 15 日將討論的這份提案,將讓慕尼黑市嚴重倒退,增加大量支出,產生許多關於文件交換的未知的潛在成本,並且將形成使用納稅人的錢幫外國賺錢的狀況。


2016年12月29日 星期四

自由的商業軟體

一直以來,許多人都搞不清楚「自由軟體」Free Software 跟「商業軟體」Commercial Software 之間的關係,今天我們就來說個明白。要瞭解它們的關係,就必須從軟體談起。

自由軟體是指授權方式

軟體是種無體財產,受到政府的智慧財產權相關法規保護,因此若想要使用他人撰寫的軟體,就必須透過契約方式得到「授權」才能利用這種無體財產。

自從1976年比爾.蓋茲(Bill Gates)寫下《致愛好者的公開信》,抨擊軟體也需要耗人力物力和時間去開發,但許多電腦愛好者只買硬體卻不願意為軟體付錢。爾後,「專有 Proprietary」性質的軟體授權方式開始興起。這種軟體變成特定公司、組織或人士的專有財產,其他人若想要利用這類軟體,就必須接受許多限制,例如軟體只限個人使用、不能散佈出去、不能探究運作機制與瞭解如何撰寫出來的、更不能修改軟體… 等。

理查.史托曼(Richard Stallman)因為先前工作之 MIT 人工智慧實驗室所使用的一臺全錄(Xerox)雷射印表機卡紙不會回傳相關訊息想修改,但廠商與開發者皆不願意提供源始碼給他修改之故,深覺專有軟體之惡,開始有了軟體授權應該維持「自由」,這樣對自由社會才有益的想法。他在1984年以這樣的精神開啟了 GNU Project,主旨在開發一套稱為 GNU,類似 Unix 但卻不是 Unix 的類 Unix 作業系統(GNU 即 GNU's Not Unix)。後來,更在1985年成立自由軟體基金會(Free Software Foundation)推廣「自由 Free」性質的軟體授權概念,讓使用者可以享有四大自由:

四大自由

  • 自由之零:可以依任何目的執行程式
  • 自由之壹:可以研究程式如何運作、並將程式修改以符合自身需求(程式源始碼能否近用是先決條件)
  • 自由之貳:可以再次散佈程式來幫助鄰居
  • 自由之參:可以改善程式、並將改善回饋給社群,讓整個社群均能因此受益(程式源始碼能否近用是先決條件)
這就是所謂的「自由軟體」,所謂的「Free Software」。值得注意的是,這裡所用的 Free 是指自由 Free as in freedom,而非免費 Free as in free beer,自由軟體是不限制販售行為的。至於前述的專有軟體授權,也可以對比說是「非自由軟體」Nonfree software。

有了以上的觀念,我們就能知道「自由軟體」一詞講的是軟體的使用授權方式。

常見的錯誤對比:自由軟體 vs 商業軟體

可是很多人都誤解了「自由軟體」的意思,他們常常拿自由軟體和「商業軟體」做比較,但這卻是無法比較的!因為與自由軟體授權概念相反的字詞是「專有軟體」,那個限制東、又限制西的授權方式。

至於軟體是不是「商業」軟體,就要看它是不是「透過商業行為開發出軟體」。只要軟體的開發受到商業行為的支持而開發成,那就是「商業軟體」。

市面上也有許多「自由授權的商業軟體」,雖然軟體是透過商業行為開發而成,但授權方式是自由軟體。這就是為什麼自由軟體無法跟商業軟體互相比較了,因為自由軟體也可以是商業軟體;商業軟體可以是自由軟體,也可以是專有軟體(或稱非自由軟體)。

請避免這樣的用字遣詞

請不要拿「商業軟體」作為「非自由軟體」的同義詞。 因為這會把兩類完全不同層面(軟體授權方式與商業行為與否)的事混為一談。

商業軟體可以是自由軟體、抑或是非自由軟體,取決於軟體散佈時的授權方式而定。任何人、任何組織機構開發的軟體可以是自由軟體、抑或是非自由軟體,也是一樣取決於軟體散佈時的授權方式。 軟體是否透過商業行為而開發、和軟體是否採用自由授權是兩個孑然不同、各自不相關的問題。

常有人錯把「商業」誤認為是「非自由」,因此覺得「自由的商業軟體」一詞自我矛盾。我們應該要特別小心不要用這樣的想法去使用「商業」這兩個字。

資料來源:Words to Avoid (or Use with Care) Because They Are Loaded or Confusing by GNU Project

  

「商業軟體」與「專有軟體」大大不同!

商業軟體是指軟體的開發是某營利事業的部分事業。大多數的商業軟體採用專有授權,但也有商業的自由授權軟體,還有非商業、也非自由授權的軟體。

舉例來說,GNU Ada 是營利公司開發的軟體,並採用 GNU GPL 的授權條款散佈軟體,因此所有的軟體拷貝也都是自由軟體;但它的開發者銷售軟體的支援合約。 當他們的業務和潛在顧客對談時,有的客戶會說「我們覺得商業的編譯器軟體比較安全」,他們的業務就會回「GNU Ada 商業的編譯器;剛好也是自由軟體。」

其實就 GNU Project 的觀點而言,重點剛好相反,而是 GNU Ada 是自由軟體,商業不商業倒其次。不過,GNU Ada 之所以能有更多開發,是源自於商業支持這點毋庸置疑,而且對其社群來說大有助益。

請幫助我們讓更多人知道有「自由的商業軟體」。你也可以用行動來支持我們:當你想說「專有軟體」時請不要講成「商業軟體」。

資料來源:Categories of free and nonfree software by GNU Project

商業軟體的對比

最後,如果在對話中想要強調某些軟體的「商業」行為或需要「收費」,想拿其他可以對應替代的軟體來比較時,那麼此情境下和「商業軟體」對比的則是「非商業軟體」。

即使想講的這個軟體剛好是自由軟體,在這個情境下也應該稱之為「非商業軟體」,畢竟自由軟體也是可以有商業行為或收費的,無法和商業軟體對比,只是剛好這裡的非商業軟體(包括免費軟體、共享軟體、非商業的自由軟體、公眾領域的軟體…等)採用自由授權罷了!


為了讓避免更多人誤解自由軟體,也為了讓大家瞭解世界上存在自由的商業軟體,請用行動幫忙我們:當你想要講的是「非商業軟體」時請不要講成「自由軟體」

範例:「Adobe Photoshop 是商業軟體,需要不少費用吧?但如果我們平時只需要裁切相片、小小修圖,不見得要用到 Photoshop 這麼多功能、這樣專業的軟體。這時其實還有許多類似的非商業軟體可以利用的!例如有個叫做 Gimp 的非商業軟體,(剛好也是自由軟體,)能勝任這些日常作業。」

總結

如果想要和他人討論軟體之間的對比時,凡論商業開發,必言「商業」「非商業」;凡論價格,必言「付費」「免費」;凡論授權,必言「自由」「非自由/專有」。不同層面的分類,不應該混淆在一起討論,以免造成後續的誤解。

深入閱讀

Free-Libre / Open Source Software (FLOSS) is Commercial Software by David A. Wheeler, 2006-12-27 (revised 2011-06-14)