跳到主要內容

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

留言

這個網誌中的熱門文章

【攤位大地遊戲(開源巔峰挑戰賽)】Booth Reward Activity! 2024

/English Below/ 來啊,造訪攤位掃 QRCode,集點數換 2024 年限定贈品啊! 一年只有這一檔,錯過要再等一年! 在找工作嗎?想認識不同的社群嗎?想獲得 COSCUP 2024 專屬的限量贈品嗎? 利用空餘時間去各個攤位聊聊天、看一看,就可以參與大地遊戲拿獎品喲! 大地遊戲怎麼玩:​​ (歡迎順路參與 參與者大調查),填寫表單取得 OPass 票券,並下載與登入 OPass App: 取得 OPass 票券 。 前往 TR 309、312、409-1、515、516 逛各攤位。 在攤位前打開 OPass 的「我的票卷」,秀出 Opass QRcode 讓攤位人員掃描取得點數。 到 TR309 的「大會攤位」兌換贈品,數量有限! 造訪每個攤位掃描後,可獲得 5 點,今年有 28 攤 完成一日志工任務後,可獲得 50 點,至多可解 4 次 擔任講者,可享福利 400 點(請以收到的登入連結進入,每名講者限領取乙次) 今年的紀念品除了可以現金購買,也可以用點數兌換呦! ≡≡≡≡ 集點方法 ≡≡≡≡ 上方每ㄧ個方框,都是ㄧ個攤位或者ㄧ個小任務,每當你造訪完成任務後,即可打開「我的票券」中顯示你的 QRcode 給關主獲取點數,您可以在上方看到您的戰果點數。當您心滿意足準備離開大惠會場前,記得到下述地方將您的點數兌換成滿滿的回憶! ≡≡≡ 點數兌換處 ≡≡≡ 【TR309 外:大會攤位】 1 點即是 1 元,您可以在大會攤位上購置各種精美紀念品,包含滑鼠墊、鍵帽、透卡與紀念 T 恤!。 ≡≡≡ 點數兌換規則 ≡≡≡ 您可以於【紀念品攤位】旁的點數兌換區把點數兌換

你所不知道的 foodpanda

  2020 左右,隨著新冠疫情流行,台灣也逐漸流行起一股懶人旋風。懶懶躺在沙發上,動動手指滑滑螢幕,生鮮或美食就能快速又安全地由可愛的粉紅色熊貓外送員送達您門口。多數人知道 foodpanda 是台灣最大生鮮美食外送平台,也不少人知道 foodpanda 在台灣不斷擴張業務範圍,但 foodpanda 也有許多台灣科技圈所不知道的事。 例如,foodpanda 其實並非台灣本土廠商,也非只專注在亞洲區域。foodpanda 隸屬於德國 Delivery Hero 集團,業務橫跨歐洲、亞洲、美洲及北非,旗下更有十多個生鮮美食外送品牌。除此之外,foodpanda 於 2021 年時也在台灣正式成立全球第三個 Tech Hub。做為四大產品 RD 研發中心之一,台灣與德國柏林、新加坡及土耳其伊斯坦堡的人才緊密地合作,專注於打造 end-to-end 的顧客體驗。諸如月費方案 Panda Pro、外帶自取、餐廳內用 (目前仍未在台灣上市) 等功能。期待能持續吸收優秀人才、與其它三個跨國研發中心合作,打造後疫情時代新的成長引擎。 事實上,台灣的 foodpanda 研發團隊並不僅止於打造台灣本土產品。反之,我們所建立的平台及產品,已成功於近 20 個國家、10 個品牌上市。要在快速的步調下,打造持續進步且符合不同國家文化客戶需求的產品,我們依靠的是 專案團隊成員一條龍組合 從 Product Manager、Engineering Manager、iOS/Android/Web/Backend developer、QA、Product Designer、Product Analyst 全都在同一個 product line squad。讓相同產品的團隊成員能緊密合作、第一手快速了解市場、滿足需求。 國際專業團隊緊密合作 foodpanda 的 iOS/Android/Web/Backend 等專業工程師,都各自設有其跨 squad 的 chapter 組織。讓工程師能在專案團隊以外,有跨國跨團隊專業能力交流的機會。在 chapter 中,相同技術域領的專家們,會一起制定共同的實作標準、分享在專案中遇到類似的挑戰,並且找出可能的應對方案。因此,在 foodpanda 我們不只打產品專案團隊的速度戰、還打整個集團的整合能力團體戰,讓德國、新加坡、台灣、伊斯坦堡的工程師們用最有

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

COSCUP 2024 Call for Proposals: Until 9th, May Submit Your Proposals HERE! 今年 COSCUP 一如往常,徵求各式各樣不同的 Open Source 相關稿件。請於 05 月 09 日(AoE) 前投稿,徵稿主題可參考本頁下方各議程軌資訊。 請注意,每場議程長度預設為 30 分鐘 ,惟部分議程軌開放其他議程長度,會在報名表單第二頁選填。 為了增添 COSCUP 的國際能見度,今年所有入選稿件希望都可以提供中英文版雙語資訊。徵稿階段,您可先以自己偏好的語言準備演講或撰寫 CfP 稿件。 提醒您,COSCUP 是一個倡導開放的研討會,所有演講將錄影並以創用 YouTube CC 姓名標示-相同方式分享 4.0 釋出。如果您的演講有任何不能錄影或不願以此條款釋出的狀況,請務必於投稿表單上註明。 We are looking for talks in several open-source related areas, please submit your proposal before May 09th, 2024 (AoE, Anywhere on Earth) . The theme for submissions can be referenced from the information on various tracks at the bottom of this page. 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. To make it more accessible for international audiences, we kindly request CFP information to be provided in both Chinese and