跳到主要內容

在龐大的中國企業,開源文化如何導入企業,協助團隊立功?

說到華為,多數台灣人可能只會聯想到監控疑雲與中美貿易戰,鐵幕之後的企業文化則難以得知。但在這個神秘、封閉的公司之中,開放原始碼文化已經悄悄地在華為內部合作模式上開花結果。

華為之所以擁抱開源,要從庄表伟說起。曾經做過研發與管理的庄表伟,進入盛大創新院負責開發者關係,研究企業要如何與外部開發者維持聯繫。他笑說這個工作是「花了公司的錢,交了自己的朋友」,但也因此在社群中廣結善緣,繼而被華為挖角做企業的「內源」。

所謂的「內源」乃是華為公司內部,將開源的邏輯、文化、工具與演進,引入企業內使用,期望幫助企業內部更有活力,各部門之間更加開放、交流,走出去。並借鏡開源貢獻者的經驗,幫助企業內部實現程式碼的復用,增加企業整體效率。

最初,華為的高層希望庄表伟可以用激勵開源參與者貢獻的方法,鼓勵公司內部員工多多參與產品開發,所以他說自己的工作是「佈道師」,內容有三個主軸:利用《大教堂和市集》等書籍與資源,來介紹開源的邏輯;以Linus定律說明為何開源會比起企業習慣的嚴密管控更加安全;介紹開源社群的工具、文化與歷史,「洗腦」員工接受開源的做事方法。

從庄表伟2013年進入華為至今,華為的內源社群平台已經有15萬使用者。庄表伟說,一開始進入華為的心態是「我是對的、你是錯的」,但後來慢慢轉變,理解到彼此都要改變,所以最後的工作成果,可以說是庄表伟對軟體開發的想法、華為公司的傳統,與社群理念三者的結晶。

繁榮的開源社群,對企業能有什麼啟示?他認為,因為企業內部更加開放,更加願意互相交流,會使得企業更有活力,員工一方面願意走出去,一方面也學到新的東西。此外,在他進入華為並協助導入各種工具的過程中,證明了企業也能應用開源的開發方法。而開源社群所熟悉的程式碼復用,企業原先不習慣而做得不夠好,但隨著庄表伟等人的努力,今年初華為向員工發信,宣布推動「基於committer的社區化code review」機制,程式碼復用的問題也現出了一道曙光。庄表伟說,一名程式碼審查者對於審查可能有2分的評分比重,但一般員工也會有1分,這種機制也鼓勵員工之間互相協助,促進開發流程。

當然,開源與企業的關係並非只有前者協助後者。企業的開發文化,同樣也流回了開源社群。庄表伟舉了幾個例子,像是程式碼的分支保護、持續性整合與發布(CI/CD)、Trello式的專案管理服務,都是企業率先使用,而後備受開源社群喜愛的作法。

庄表伟認為團隊由人組成,人需要管理,而管理需要工具。他說,社群天馬行空、想法不少,但開發出來的成品可能較為簡陋;企業偏商業導向,成品要能賣錢,可能會越來越複雜而繁瑣,因此兩邊需要互相借鑑。庄表伟鼓勵社群與企業的創新交流如果愈多,兩邊研發工具也會愈相像、愈好用。


本文作者:林冠廷
責任編輯:呂昕恩
本文原作者 林冠廷 以 CC BY-SA 4.0 授權分享予公眾使用

留言

這個網誌中的熱門文章

利用 Jitsi 建立個人化的視訊會議平台

  近期因為疫情的關係,越來越多企業開始實施分流或在家工作,視訊會議的需求也日益增加。 在商用解決方案選擇上,有不少企業會選擇知名品牌的產品,例如  Cisco Webex 、 Google Meet 、 Microsoft Teams 、 Zoom  都是很不錯的方案。 KKBOX 集團在去年便試行及做好充分 work from home 的準備,今年五月也因應疫情升溫,全員 work from home 至今兩個月有餘。 當然,取之 Open Source,也要對社群有些貢獻。在這一屆 COSCUP,我們要來介紹 Open Source 圈中也很知名,效果也很不錯的一套視訊會議平台: Jitsi 。 除了基本的視訊會議功能外,在最後我們也會示範如何透過 Jitsi 畫面輸出到 YouTube/Twitch 或其他支援 RTMP 的平台進行直播。 由於篇幅有限,且 Jitsi 可以調整的細節非常多。今天我們純粹很快速的示範,如何簡單的建置出一個 Jitsi 環境,並提供單場會議內容錄影或直播。 Jitsi 的文件可以在 這裡 找到。 今天透過 AWS Lightsail 的 $10/month instance(1 core CPU + 2GB RAM + 60GB SSD),作業系統則是 Ubuntu 20.04 來示範。當然,使用其他 VPS 亦可,大同小異,這邊直接跳過 VPS 相關的建置過程。 *firewall 相關資料參考 這裡 及 這裡 。 針對系統做必要的更新 基本的 apt repository 更新: $ sudo apt update 因為後面要示範的會議錄影及直播需要使用 ALSA loopback device,如果是 EC2 or Lightsail 則需要額外安裝 generic kernel( 註 ): $ sudo apt install linux-image-generic linux-headers-generic linux-image-extra- virtual 接著做系統套件們的更新: $ sudo apt dist-upgrade $ sudo apt autoremove 如果是 AWS EC2 or Lightsail 則需要另外再將預設的 AWS optimized kernel...

實戰 Vibe Coding:利用 Amazon Q Developer CLI 打造經典平台跳躍遊戲

本篇文章將介紹如何透過 Amazon Q Developer CLI 建構一款完整的 2D 平台跳躍遊戲,從初始生成、功能增強,到最終打造出具備多關卡、多樣互動元素的遊戲體驗。特別的是,過程中開發者並未撰寫任何一行程式碼,僅透過自然語言指令與 CLI 對話完成所有工作,實踐「Vibe Coding」( 氛圍編碼 )。 本文作者為 Haowen Huang, AWS Senior Developer Advocate. 擁有 20 年以上電信、互聯網以及雲端運算等行業架構設計、技術及創業管理等豐富經驗,曾任職於 Microsoft、Sun Microsystems 等企業,專注為遊戲、電商、媒體和廣告等企業客戶提供 AI/ML、數據分析和企業數字化轉型等解決方案諮詢服務。 引言 本篇文章 ( English Version ) 將介紹如何使用 Amazon Q Developer CLI ,以 無需撰寫任何程式碼 的方式,打造一款經典的 2D 平台跳躍遊戲。透過「Vibe Coding」( 氛圍編碼 ) 的開發流程,開發者可以藉由簡單的語言提示詞 (prompt),逐步完成從遊戲雛型、功能擴充到完整關卡設計的開發流程。 整體開發流程將分為三個步驟: 1. 生成遊戲雛型 2. 功能擴充強化與畫面調整 3. 導入參考架構建立完整遊戲 環境建置 使用者需先安裝並設定 Amazon Q Developer CLI 。對於 macOS 使用者,可透過下列步驟完成安裝: 下載並安裝 Amazon Q Developer CLI 登入 Builder ID 完成認證 開啟終端機控制與無障礙設定 執行 q doctor 指令檢查 Amazon Q Developer CLI 是否安裝成功: 遊戲開發方面,建議使用 Python 語言與 Pygame 套件,可透過下列指令完成安裝;Pygame 提供以下功能支援: 畫面與動畫渲染 音效播放 鍵盤與搖桿輸入控制 物理模擬與碰撞偵測 多種媒體格式支援(圖片與音效) $ q doctor $ pip install pygame 第一步驟:初步生成遊戲雛型 透過簡單的一句 prompt,Amazon Q Developer CLI 結合 Pyg...

COSCUP 2025 Call for Proposals / 徵稿辦法

COSCUP 常規徵稿已於 2025-05-10 截止,接下來進入加碼徵稿階段。加碼徵稿是為了提升大會的稿件品質,依據投稿狀況(數量、品質)部分徵稿主題可能提前喊停。最遲請於 05 月 24 日(AoE) 前投稿,徵稿主題可參考下方列表。 The regular call for proposals (CFP) for COSCUP closed on May 10, 2025. We are now entering the bonus CFP phase to improve the quality of submissions. Some topics may close earlier than expected, depending on the current status of submissions (in terms of quantity and quality). Please submit by May 24 (AoE) at the latest. You may refer to the topic list below for inspiration. 開始投稿 Submit Your Proposal 提案須知 Things you may need to know 演講形式:預設為現場30分鐘演講包含QA,若有其他需求可於提案系統註明,由各主題主辦單位決定如何安排。 Talk Format : The default format is a 30-minute on-site talk, including Q&A. If you have other requirements, please indicate them while submitting your proposal. The final arrangement will be decided independently by the organizers of each topic. 語言:COSCUP 受眾包含海內外與會者,大會不限制發表語言但鼓勵以英語發表。大會將公布雙語議程表,請提供中英文版議程介紹。 L...