跳到主要內容

Netflix 串流成功的秘訣,Sony PlayStation 與 Nintendo Switch 的幕後推手,你不可以不知道的 FreeBSD

開源人物誌第三期,依舊紀錄 COSCUP 遠征隊前進香港開源年會的故事。本篇特別邀請到 FreeBSD 基金會的董事會成員,也是香港開源年會的 Keynote 講者 Philip Paeps 與在FreeBSD 基金會擔任軟體工程師,也是台灣 BSD 社群代表許立文為我們介紹關於 FreeBSD 的社群文化與生活應用。

“ If you feel hard, that is our fault, and we are happy to fix it.”許立文在採訪的一開始說到。一句無心的話讓 FreeBSD 社群精神躍然紙上,在筆者心中變得鮮活而立體。

FreeBSD is a general purpose, well-documented and Unix-like operating system.

什麼是 FreeBSD?FreeBSD 是一個作業系統,就像 Windows、macOS 一樣,開發者與使用者可以在 FreeBSD 上做任何想做的事情。FreeBSD 是一個基於 BSD(Berkeley System Distribution)原始碼衍生的作業系統,作為自由軟體,其原始碼開放,和其他 BSD 分支相比,主要專注於校能與操作管理性,所以常被用於伺服器(Server)使用。FreeBSD 並且提供完整的開發與使用文件,讓人人都可以使用及參與開發。

FreeBSD 支援豐富的硬體和體系架構,和其他BSD家族的作業系統一樣, 其核心、操作手冊(manual pages)以及所有的用戶層(Userland)應用程式(如 shell 、 cat 和 ps 等命令)都儲存在同一個原始碼庫中。第三方軟體可藉助套件管理程式 "pkg" 安裝,或是由 FreeBSD 著名的 ports 系統自行編譯打包成 pkg 的安裝的格式,如此可以方便地照需求調整設定或是修改源始碼,並且和系統的套件庫整合。FreeBSD 也可以執行其他作業系統的執行檔格式,比如 GNU/Linux 上的一些軟體,

在開發模式上,FreeBSD 和常見的 GNU/Linux 發行版有着顯著的區別,Linux 是獨立開發的核心,而發行版如知名的 Debian、Ubuntu、openSUSE 還有國內的 ezgo 做的是整合 Linux Kernel 及各上下游軟體及工具爲一個完整的作業系統。FreeBSD 則是由所有開發者和共獻者統一維護,所以核心、函式庫、用戶指令以至於文件,較不會有彼此不相容的問題。

We are living in a FreeBSD world

FreeBSD 作為最早的幾個開放原始碼的作業系統之一,除了悠久的歷史與開發使用上的穩定,值得注意的是 BSD License 對商業上使用也較為友善。使 FreeBSD 成為許多公司或是企業產品的首選,即使我們感覺不到,但是 FreeBSD 與我們日常生活息息相關。

例如知名影音串流平台 Netflix,全球超過上億使用者,其內部內容交付網路 “Open Connect”就是使用 FreeBSD 建構的,Netflix 的工程師在今年 FOSDEM 的演講裡面提到:”Why do we use FreeBSD? We came for the license. We stay for the efficiency.”。另一個廣為人知的世界級大廠  Apple 公司,旗下手機 iOS 系統與筆電的 macOS 核心皆有 BSD subsystem 在其中。
其餘如  Sony PlayStation、Nintendo Switch 等世界知名產品,都是基於或是使用了一部份 FreeBSD 源始碼。或是知名訂房比價網站 Trivago、飛機訂票常用系統 XipLink ,到世界知名通訊軟體通訊軟體 WhatsApp 都是用 FreeBSD 做為後端似服器所使用的作業系統。另外專門供應 網路及資訊安全解決方案的網路通訊設備公司 Juniper、甚至曾經獲選為美國最值得上班的公司第一名的美國上市科技公司 NetApp,不少產品都是基於 FreeBSD 建構的。“ You might not use FreeBSD directly , but you are using FreeBSD indirectly everyday.”許立文說。

We do not like surprises.

FreeBSD 作業系統的一大特色是一旦安裝好,使用內建的工具就可以立即參與這個作業系統開發與使用。從 1970 的 BSD 時代開始,40 多年來在世界各地開發者的開源貢獻中,友善的社群氣氛,以及輕鬆的入門門檻,推動著 FreeBSD 社群的不斷進步。「最少驚動原則」(POLA),更是社群能夠維持穩定的發展的一大功臣。許立文說「所有功能都應該要可以直覺地或是照習慣順利運作」,「而一旦成功運作起來,就必須要一直運作下去」Philip 接著強調。

“Simple, clean and well-documented ”是 FreeBSD 對於效能同樣重視的精神,這也是為什麼 FreeBSD 是類 Unix 系統的一個好的入門教材。儘管 FreeBSD 在世界各地的開發者可能較其他作業系統少,但擁有完整的開發文件與內建整合的開發工具,提供給新手和開發者一個友善的社群環境,穩定的系統開發運作流程,為初學者建立較扎實的基礎。FreeBSD 適合推薦給學生或是初學者學習作業系統開發與網路架構的起點,許多校園都選擇使用 FreeBSD 作為作業系統實務與開發的教材。  從最初 BSD 時代就開始參與開發的世界知名開發者 Marshall Kirk McKusick 為首的寫 “The Design and Implementation of the FreeBSD Operating System”是教科書等級的著作,同時他也錄製了接近 100 小時的 FreeBSD 系統內部資料結構演算法及源碼導讀,部份教材已公開到 teachbsd.org 上。今年 McKusick 更慷慨地授權給台灣社群給台灣社群規畫中的讀書會使用,讓所有想要學習的人,有更加便利且組織化的管道進行學習。

除了各式各樣的文件與教程以外,FreeBSD 基金會在加拿大也有與包括名校滑鐵盧大學推動產學合作,提供學生實際投入開放源始碼作業系統的開發還有參與社群的機會。每年的 Google summer code 中都會有 10 人左右的學生參與 FreeBSD 開發,提供給學生參與 FreeBSD 開源貢獻的管道。


We are a close community and we are not only produce, but also maintain it.

在香港開源年會中,Philip 在演講中除了簡短介紹 FreeBSD 的發展歷史、最新版的 FreeBSD 12 的新功能及開發中的 FreeBSD 13 進度,同時也介紹社群文化與運作模式。“ FreeBSD developers write document and software for other people.”接受採訪時,Philip 一席話,再次展現 FreeBSD 的社群文化特色之一,就是社群裡的成員並不會只專注於程式碼本身,開發的人也會參與各式文件的撰寫。整個專案的產品和文化“ much more general” 是與其他作業系統差異最大的地方,也正是 Philip 喜歡 FreeBSD 的主要原因。

儘管是社群穩定開發歷史悠久的 FreeBSD 也會有失誤的時候。許立文和 Philip 向我們分享,過去在開發 FreeBSD 5 時,因為急著想要一次完成太多的事情,造成系統不穩定,與以穩定性著稱的 FreeBSD 4 相比,FreeBSD 5 造成了許多使用者的問題,所幸 FreeBSD 開發者們很快就發現了這個問題並修正了程式錯誤和改善開發流程,在 FreeBSD 6 恢復了原有穩定。這一次的經驗,筆者認為正是奠定 FreeBSD 開發穩定並更加重視 POLA 的原因。


We are willing to learn, and willing to fix any problem you have.

第一次認識 FreeBSD 時,最令筆者驚訝的地方在於正如開頭立文所說的,“If you feel hard, that is our fault, and we are happy to fix it. ” 在 FreeBSD 的世界裡,如果使用者覺得使用上很困難,那並非使用者的問題,而是身為 開發者的我們沒做好,請告訴我你所遇到的困難,讓我們有機會可以修正他,而我們也很樂意去修正他。修正帶來進步,正是這樣不斷的修正,推動 FreeBSD 整個專案向前並適合所有人的使用。

“We are very helpful.”Philip 笑著說。FreeBSD 作為一個開放原始碼系統,”To be friendly”一直是 FreeBSD 社群的宗旨之一。在推薦新的開發者的時候,可以和所有人愉快有效率的工作是必要條件。這個專案擁有 40 年以上的發展歷史,使 FreeBSD 累積了完整的開發文件與工具,更重要的是有許多豐富經驗的開發者,讓所有新開發者接觸學習時,都能獲得友善且專業的支援幫助。

而作為工程師,甚至更廣泛的說,作為一個 FreeBSD 開源貢獻者,其目標與努方向之一就是「解決我們不知道的問題」。不論你是誰,不論什麼原因開始接觸與使用 FreeBSD,不論你遭遇到什麼瓶頸,只要你願意嘗試,我們都很樂意幫助你,樂於一同學習,一同解決問題。“ This is our culture.”Philip 說。

Do not be afraid to start it.

採訪期間許立文與 Philip 對 FreeBSD 的喜愛溢于言表,言談中強烈的默契,除了彼此熟悉以外,感受到更多的是體現 FreeBSD 社群中鮮明的文化理念,以及對社群精神的認同。他們的熱忱與友善,傳達到筆者的身上。過去筆者對 FreeBSD 處於害怕不願意嘗試,在閒談中煙消彌散,產生使用 FreeBSD 的念頭 ,在內心慢慢變得強烈,甚至可以說是躍躍欲試。

FreeBSD 的開發者致力於打造社群美好氣氛,友善的社群,完整的教材,穩定的開發歷史,可以說是一個完美的學習起點,筆者認為也許這就是 FreeBSD 社群其中幾個面貌。雖然做為長期的開源貢獻者與開發者,不見得能了解初學者初次接觸時所面臨的問題或是盲點,但只要使用者願意開口,FreeBSD 社群的人總是很樂於傾聽,就如同一開始立文所說“ If you feel hard, that is our fault, and we are happy to fix it.”讓筆者相信,不論使用者是誰、背景是什麼,都不需要害怕接觸與使用 FreeBSD,只要伸出手,FreeBSD 社群的人們就會牽著你向前走。這就是 FreeBSD 的文化。因為 FreeBSD 是一個樂於伸出援手與“ fix any issue you encounter”的地方

若想參與 FreeBSD 社群,可以從加入台灣 FreeBSD 社群開始!


關於 Philip Paeps
因為開發 amiga machine 開始接觸 FreeBSD,最初的動機只是想要使用網路,沒想到就一晃眼就數十年過去了!


關於許立文
從高中社團擔任網管開始使用 FreeBSD,也接觸到開放源始碼文化,到今年剛好 20 年,想不到從課餘業餘的興趣,最後變成了正職。


關於 FreeBSD 臺灣社群
FreeBSD 有超過一百個郵件論壇、數十個網頁版論壇,有超過 94 個愛用者組織分佈於全世界  42 個國家。FreeBSD 台灣社群為台灣的開發者與使用者組成,活躍於台灣開源活動中,致力找尋志同道合的朋友一起參與使用及開發。想更進一步認識 FreeBSD 嗎?歡迎前往 https://bsdtw.org

留言

這個網誌中的熱門文章

Kronos 如何做到世界級的成績

  由資深華爾街投資人領軍於 2018 年成立,Kronos Research 結合人工智慧、機器學習、高速網路等先進技術,透過進階的資料分析開發出獨家的量化交易預測模型,並使用全自動的交易策略自營,同時作為加密貨幣造市商,提供全球加密貨幣商品的即時報價。至今四年的時間,便擠身全球前五大的加密貨幣量交易團隊,創下 2021 年每日平均交易額 50 億美金,單日最高交易額 230 億美金的記錄。 人才和技術是 Kronos 最重要的兩大要素,團隊採開放式合作、解決問題導向、美式工作風格,Kronos 期許任何職位的夥伴,都能信任彼此、安心發問、共同快速解決問題。主管的管理策略,不同於傳統上對下的管理,而是以幫助者的角色,解決不同的需求,放大每個職位的生產力。我們希望這個產業在台灣能夠茁壯,讓台灣的技術人才知道有這個國際舞台可以發揮。 一窺量化交易技術及團隊 高頻交易跟一般大家熟知的交易最大的差距在於自動化。我們熟知的交易模式多半透過人工,由交易員綜合市場資訊後向交易所下單;高頻交易則是由程式自動判斷市場資訊並且下單。高頻交易多半關注短時間的市場波動,在收到市場報價後,在極短時間透過預先訓練的統計模型做出買賣決策。在高額報酬的背後,結合了不同專業:包括資料科學、統計與機器學習、底層系統優化、以及分散式系統。 高頻交易的流程,從 Market Data Parser 作為源頭持續搜集來自交易所的歷史資料,交由 Alpha Modeling 訓練出可預測未來短時間市場變動的模型。接著交易團隊撰寫策略程式,並依據策略需要套用選擇合適的 Alpha 模型,由極低延遲的交易程式向交易所下單。以下是各模塊的介紹: Market Data Parser(Data Team):高頻交易是一個資料驅動的行業,全面且高正確率的資料對於後續訓練很重要。Kronos Research 在全球十多個機房內有數百台服務器,每天 24 小時不間斷錄製來自交易所的報價單。面對每天 10TB+ 的巨量資料,data team 大量使用雲端分散技術以及自動化技術確保資料流的穩定。 Alpha Modeling(Alpha Team):在投資市場中,Alpha 代表著高於大盤的超額收益,Alpha Model 則代表預測將來市場的數學模型。Alpha Team 透過統計以及機器學習,以敏銳的邏輯跟觀...

2025 議程人氣大揭密!

COSCUP 2025 議程人氣大揭密! 7/9 議程測試上線,今年的 COSCUP 大家最關注的究竟是哪些議程?為了滿足(我們自己也很好奇)大家的好奇心,我們分析了一下 Google Analytics (GA) 報表的排行榜:「最多關注(瀏覽數)」、「最高人氣(活躍使用者數)」及「最具深度(每位活躍使用者的平均參與時間)」來啦! 不管你是第一次參加 COSCUP 的新朋友,還是每年都熱情參與的忠實社群夥伴,都歡迎來瞧瞧這份議程人氣大揭密! 三大指標,看懂關注焦點 我們這次的分析分為「台灣」、「國際」以及「加總」三個區塊,每一個都分別整理出前幾名的議程,讓你快速掌握不同參與者的興趣點。 最多關注(瀏覽數): 最直觀地告訴我們,哪些議程最吸引大家的目光。 最高人氣(活躍使用者數): 讓我們了解,哪些議程讓最多人真正點進去、一探究竟。 最具深度(每位活躍使用者的平均參與時間): 幫助我們發現,哪些議題讓大家停留最久,深入了解內容。 從數據看趨勢,今年的議題熱點 從這份資料中,我們可以觀察到今年 COSCUP 大家感興趣的話題,不僅有傳統開源軟體與程式語言,更有不少議程圍繞在 AI、資料治理、安全合規,以及社群經營等熱門趨勢。 以瀏覽量最高的議程來看,許多朋友依然熱烈追蹤知名講者與經典技術主題。而從參與時間的深度指標來看,一些議題雖然未必獲得大量瀏覽,卻能讓點進去花更多時間細細品味。 同時,我們特別針對國際觀眾的喜好進行分析,也看出國際社群更偏好具有跨國經驗分享、全球趨勢分析與技術實踐經驗的內容,讓我們更加理解國際與在地社群的共同性與差異性。 一起掌握開源潮流!  國際大家看什麼? 最多關注 排名 作者 議程標題 Track 日期時間 議程教室 1 王良丞/LCWang 4色小尺寸電子紙的DRM驅動程式開發之旅 System Software 08-10 09:30 TR213 2 John Ho 何重義、Jessie.D Chang 聊心茶室媽媽桑、Joanna Chen陳芸緻、Bernice Ch...

COSCUP 2023 徵稿辦法 / COSCUP 2023 Call for Proposals

今年 COSCUP 一如往常,徵求各式各樣不同的 Open Source 相關稿件。請於 5 月 22 日 (UTC-12) 前投稿,或可參考本頁下方各議程軌資訊。 請注意, 每場議程長度預設為 30 分鐘 , 惟指定議程軌開放其他議程長度進行選擇 ,會在報名表單第二頁進行填寫,報名表單第一頁的提交型態中,請選擇預設值。 為了追求與全球社群更良好地溝通, 今年所有選中的議程都必須提供英文版的資訊 。一旦您的議程入選,我們會請您提供議程資訊的英文版翻譯。您仍可以自己偏好的語言演講或撰寫 CfP 稿件。 提醒您,COSCUP 是一個倡導開放的研討會,所有演講將錄影並以創用 YouTube CC 姓名標示-相同方式分享 4.0 釋出。如果您的演講有任何不能錄影或不願以此條款釋出的狀況,請務必於投稿表單上註明。 We are looking for talks in several open-source related areas, please submit your proposal before May 22th, 2023 UTC-12. After the review process from the coordinators, we will publish the full programme in early June. Please note that the length of each agenda is preset to 30 minutes, only the specific tracks are open to other agenda lengths for selection, which will be filled in on the second page of the registration form. In the submission type on the first page of the submission form, please select the default value (30 mins) . For better communication with the global community, we require En...