跳到主要內容

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

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

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

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

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

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

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

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

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


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

留言

這個網誌中的熱門文章

實戰 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...

利用 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...

Navicat 17:AI 驅動資料管理的未來

在快速變化的資料管理領域,Navicat 始終站在創新與效率的最前沿。作為領先的資料庫管理與開發解決方案提供商,Navicat 再次以其最新版本 Navicat 17.2 展現了其在業界的卓越實力,讓使用者在資料管理中更具競爭優勢。 Navicat 17 推出標誌著資料庫管理技術的一次重要飛躍。該版本引入了一系列人工智慧 (AI) 驅動的功能,旨在進一步簡化操作流程並提升工作效率。這些功能讓使用者能夠輕鬆處理複雜的資料分析,並實現更智能的商業決策。 Navicat Premium 一直以來都是資料庫管理的佼佼者,該工具支援多達九種資料庫,包括 MySQL、PostgreSQL、MongoDB、MariaDB、SQL Server、Oracle、SQLite、Redis,以及 Snowflake。這樣的綜合性設計不僅消除了多平台切換帶來的困擾,還極大化了使用者的工作效率。 為提供更高效的協作工具,Navicat 雲端功能 (Navicat Cloud) 進一步提升了團隊合作的靈活性。使用者可以在雲端實現即時協作,讓團隊成員無論身處何地,都能共同編輯與管理項目,從而實現更高效的工作流程。 自創立以來,Navicat 已累積超過 500 萬次下載,並擁有超過 18 萬名使用者,包括多家知名的 Fortune 500 公司,如 Apple、Google、JP Morgan 等。這些成就不僅體現出 Navicat 的產品實力,更說明其在業界的深厚信譽。 Navicat 始終秉持創新與使用者導向的理念,致力於為資料管理提供最可靠、高效的解決方案。未來,我們將持續推出更多令人興奮的新功能,幫助使用者應對不斷變化的商業需求。 現在就探索 Navicat 17.2,感受 AI 技術帶來的全新資料管理體驗吧!欲了解更多資訊,歡迎造訪我們的官方網站: https://www.navicat.com.tw