🖊 新聞重點
- Marak 係兩個開源程式嘅開發者。佢因為不滿大型機構採用佢嘅程式獲利而無給予補償,決定破壞該兩個程式的功能,使上千個程式無法運作。
🗞 ICT News: 開源革命?開源程式開發者破壞程式功能
有唔少嘅網絡程式(Web Application)都會用「colors」同「faker」呢兩個套件(Package)。前者負責為後台嘅監控程式提供彩色輸出(係 Debug 嘅時候非常有用),而後者負責輸出隨機嘅資料(通常係開發嘅時候會用到)。近日,呢兩個 packages 都突然壞咗,無法再使用。
當大家以為呢兩個 packages 係俾黑客入侵而被破壞,大家突然發現呢啲嘅破壞竟然係由 packages 嘅作者 Marak 引入!如果係黑客入侵嘅話,只要解決好黑客入侵嘅問題,回滾(Rollback)去翻以前嘅版本就解決到。但係作者自願破壞功能嘅話,要解決呢個問題可說遙遙無期。
ICT 重點
先講下乜嘢係一個套件。如果有讀 Elective D 嘅同學可能會聽過一個 term 叫 「program library 程序庫」或者「library routine 庫存程序」,然後連接程序(Linker)就會負責將 Object Code 同個 Library 連接埋一齊。但係點解我哋會用一個 library routine 呢?
試想像下你係 Tesla 🤔,然後你要開發一部新車。咁部車嘅 Engine 同埋 Body 由你自己設計,好合情合理。但係你會唔會由頭設計過個轆,考慮下應該用乜嘢形狀,用乜嘢材料?No, you don’t re-invent the wheel.
呢個就係用 library routine/package 嘅原因:既然有人已經解決咗呢個問題嘅話,我哋就無需要由頭設計算法去解決呢個問題。
係網絡程式嘅世界,我哋通常用 JavaScript 去做開發,所以有好多人以開源(Open-source)嘅形式去提供唔同嘅 packages,令到開發過程更快。如果你上網查下嘅話,你會發現每星期 colors 有超過 2100 萬次下載 ,而 fakers 則有超過 210 萬次。可見有唔少嘅 Projects 會採用呢啲 Open-sourced packages,當中不乏 Fortune 500 (財富世界500強)公司。無他嘅,免費嘢,唔同唔用咩 🤑
咁但係,開源軟件嘅最大問題就係無技術支援。今次嘅事故,係因為作者 Marak 厭倦為呢啲大公司維護咁重要嘅 packages 而一分錢都收唔到,所以直接破壞兩個 packages 嘅功能。究竟今次嘅事件會唔會為開源平台帶嚟收入模式呢?定係大公司會被呢次事件嚇怕,唔再使用開源套件呢?Willis 唔知道。但係,如果小公司或者個人開發者使用呢兩個 packages 而令到程式停擺嘅位,就真係欲哭無淚。😭
相關課題
- 必修部分第 26 課:關於開源軟件
- 選修單元 D 第 17 課:關於連接程序
新聞來源/詳細閱讀
- 2015 年 1B 卷第 3(c) 題
- Dev corrupts NPM libs ‘colors’ and ‘faker’ breaking thousands of apps
問題回顧
- 從兩個套件功能被作者破壞一事,你看出使用開源軟件可能會帶來甚麼問題/風險?
鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝