Flogo 建立物聯網開源生態

為促進物聯網應用開發,TIBCO 軟件公司以 Go 語言開發一套超輕型的開源專案 Flogo,以 BSD-3 授權釋出源碼,協助企業和開發者創造事件驅動程式,發展物聯網的開源生態。

Flogo 生態系統設計一套抽象事件驅動範式,讓開發者建立後,能應用在不同地方,處理任何已支援的程式行動。Flogo 包括核心 Core、微閘道 Microgateway、 事件串流Streams、規則 Rules、事件流 Flows。Flogo 亦可透過 Tensorflow 進行機器學習介入事件。

Flogo Core 是輕型應用內核,執行碼只有 10MB。它負責處理由 IoT 裝置傳送到雲端和 IoT Edge 應用程序的事件,應用程序透過行動 Actions 和扳機 Triggers 來處理基本事件,還可加上活動 Activities。

微閘道 Microgateway 可依照邏輯條件協助事件內容分流和限流,以至執行策略。Streams 可預先處理通訊管道中事件串流,方便行動 Actions 處理事件。Rules 偵測不同來源的事件形態和走向,來決定下一步行動。而 Flows 幫助活動 Activities 連接其他應用、數據庫和 API 應用程式介面。

除了 Go 語言外,Flogo 亦提供 Web 和指令介面,讓開發者簡單而輕鬆開發。亦可支援 Kafka 數據串流處理和 AWS Lambda 無伺服器計算。

Flogo 專案網站: https://www.flogo.io/
GitHub: https://github.com/tibcosoftware/flogo
TIBCO 網站: https://www.tibco.com/

開放數據及源碼與應用開發

筆者 7月6日到中學生創新創意科技節參與開幕禮和擔任首位講者,向老師和同學分享開放數據及源碼與應用開發。筆者先介紹開放數據和一些應用開發例子。筆者認為開發智慧城市和智慧生活應用時,開放數據理應是必需而重要的公共資源。同時,數據是現今應用程式最重要的部份,方便生活之餘亦幫助分析用家行為,從而進一步改善生活。

數據是王 Data is King

筆者先以 Data is King 來開場,引用美國哈佛大學甘迺迪政府學院公共政策學系講師 David Eaves 教授的政務開放數據的三個定律來介紹開放數據。再介紹萬維網(World Wide Web)發明人 Tim Berners-Lee 爵士設立的五星級開放數據分類,來讓會眾了解開放數據最基本要求:先是開放授權,然後是結構性的數據,到開放數據互連的終極目標。

然後筆者講解數據與程式在系統架構和傳遞的關係,介紹多個台灣和香港應用開放數據的例子。但世事總不是完美,筆者亦會說明沒有開放數據時,除了用不同方式向政府部門提出外,開發者如何準備數據。其中一個做法是 web scraping,筆者介紹 Python 編程語言有多套 web scraping 工具可用,並介紹 XPath 和 Regular Expression 兩種方法。

開放源碼 得著自由

筆者在第二部份介紹開放源碼與應用開發,先以得著自由來開場,開放源碼讓我們開發和使用軟件同樣得著自由。筆者先介紹開放源碼源自自由軟件,講解自由軟件定義四大自由。然後開始說歷史,80 年代部份使用 UNIX 的開發者創立自由軟件概念和 GNU 計劃,一步一步用自由軟件取化 UNIX 的程式。直到 Linux 內核出現而成為 GNU/Linux 操作系統,發展出不同 Linux 發行版本。同時 90 年代互聯網和萬維網發展,出現開放源碼的 Apache 網頁伺服器,同時為方便營銷而推出新名詞 Open Source(開放源碼)。然後開放源碼發展到不同領域,例如桌面環境 GNOME、網頁瀏覽器 Firefox,到近年在雲端、區塊鍵、人工智慧、DevOps、手機開發等。GitHub 亦蘊藏很多軟件,就像一個開源短短的金礦。不少開源的編程語言在20年間出現,讓開發者不需購買編程語言就能做不同類型應用開發。筆者亦建議會眾透過貢獻回饋社群,亦介紹香港教育界相關的開源軟件:合乎教育局小學常用字規範的自由香港字型,和學校管理系統 Gibbon。筆者在總結時,希望大家能得著科技和生活的自由。

開放數據及源碼與應用開發演講簡報檔案: https://docs.google.com/presentation/d/1atjRidVZ-QbydFUYaamteG7WAKP-ORoWy4utSTCjrFE/edit?usp=sharing

請成為 Patreon 會員支持森路歷程寫作及筆者的開源工作。 – https://www.patreon.com/sammyfung

Audacity 可成間諜軟件助執法的問題

兩個月前,新成立的音樂軟件公司 Muse Group 收購知名開源錄音編輯軟件 Audacity。Audacity 在 7 月 2 日更新私隱公告,當中列明 Audacity 會按照任何執法部門要求,協助相關部門收集所需數據作執法和訴訟等。

Audacity 只是一套桌面程式在用家電腦運作,而無需與互聯網通訊。何解開發者希望從用家電腦取得數據,通過互聯網收集到公司伺服器?還列明偶然分享用家個人數據到俄羅斯總公司和美國的法律顧問,亦會分享給第三方、顧問和潛在買家。

同時,私隱公告亦列明程式並不提供給 13 歲以下人士使用,並呼籲他們不要使用程式。這點明顯違反通用公眾特許條款(GPL),該條款列明不能限制任何人使用。

有網民呼籲大家暫停使用並刪除 Audacity,等待其他開發者推出分支軟件。筆者認為可考慮使用較舊版本的 Audacity,但使用時還是小心留意私隱風險。