Marc Anderson有個著名的論斷,即軟件蠶食一切。現在,有一家軟件公司有了一個更加宏偉的目標,那就是開源解放世界。
開放源碼
這家公司的名字叫做 GitHub。它的名字和做的事情都跟開源有關。GitHub 就是 Git 的 Hub。Git 是開源操作系統
Linux 的創始人,極客之王李納斯•托沃茲(Linux Torvalds)為了更好地管理 linux 內核開發而創立的分布式版本控制/軟件配置管理軟件。而創辦於 2008 年的 GitHub,其作用是為分布在各地開源軟件寫手提供手段,讓他們可以快速創建自己工作的新版本。這些工作被存放在 GitHub 上,供小組共享和討論,成員可以根據其中提出的拉請求(pull requests)提出代碼改進等建議來不斷完善項目。上述事情的一個支撐的手段就是 Girt,一個由 GitHub 聯合創始人兼 CEO Preston-Werner 編寫的基於 Ruby 的 Git 托管網站。
他們圍繞著 Girt 做出了一個決定:開放 Girt 的源碼。這個決定也決定了 GitHub 的核心價值:開源一切。
是,封閉可以設置壁壘,帶來競爭優勢(市面上有很多 Git 托管網站在競爭)。但是,開放卻可以讓更多的人用來制作 Git 工具,營造出更加生機勃勃的生態體系。
Preston-Werner 是這樣解釋為什麼要開源的:
廣告效應:開源讓用戶了解軟件,反過來開發者則開源了解用戶的需求和關注點。開源可以給軟件帶來名聲,贏得超級粉絲。
增益效應:開源有助於流行(當然前提是你做得不賴),然後外面就會有高手幫你挑刺、改進。進而工作可以完成得更快、成本更低。然後用戶越來越多,用戶越多,用戶案例就越多,而這又可以促進代碼變得更加健壯。
惺惺相惜:聰明人喜歡與聰明人為伍,聰明人喜歡與聰明代碼為伍,開源有用的代碼可以吸引人才,智慧的頭腦可以碰撞出更好的解決方案。如果開源項目要想面試人,最好的人選是不用面試的人—即那些已經對你的項目挑過刺的人。剩下的只是看看對方是否適應你的文化並說服對方加入。
留住人才:通過其貢獻來招聘到人才之後,對代碼開源也是留住人才的有效方式。因為好的程序員可以隨便挑工作,他願意來自然也知道開放代碼的價值,他更願意做出可以向朋友炫耀、向未來的潛在老板展示的項目。這似乎是一個悖論,沒錯,為了讓殺手級開發者快樂,你必須幫助他,讓他在其他雇主眼中更具吸引力(開源才能讓人看到你的才華,走了也沒關系,因為當他可以證明自己的才華時,你的項目也已經成功了。如果項目不開源,那這樣的人也許早就另謀高就去了)。
易模塊化:一旦想到外面的人會用你的代碼,潛意識裡就會回避專有的配置細節和緊耦合的接口。代碼就會更加整潔、更易維護。
減少重復:開源使得別人做過的事情自己不必重新再做,從而可以把精力集中在更有意義的事情上。
道德使然:GitHub 受益於開源軟件,自然也有道德義務去回報社會。
他還打了一個比喻:如果說軟件是水,那麼開源就是“水漲船高”中的那股“漲”的力量。
不過開源一切並不是絕對,核心價值的東西還是不要開源,因為那是企業生存的根本。
開放管理
當然,GitHub 的開放不僅限於此。他們的管理模式與傳統相比也有很大的差異。傳統大型企業中的大型組織效率低下(實際上幾乎所有的大象跑的都不快),他們希望改變這一現狀。
GitHub 有 140 名員工,但是沒有一名經理。或者說,每個人都是經理,管理自己的經理。但是 CEO 的頭銜仍然保留,像薪水之類的事情還是要由 Preston-Werner 來決定。
GitHub 的早期員工,現在的工程總監 RYAN TOMAYKO 曾在《告訴做什麼,不如演示怎麼做》一文中闡述過他們的管理思路—管理的最高境界就是不管:無為而治。
GitHub 的組織和流程是按照第一原則即實現高效優質的生產來考慮的,而不是去復制傳統的管理模式。在他看來,公司的人只用對用戶負責而不是對公司的誰負責。作為工程總監,他被賦予了極大的自由度,可以自由設計內部的組織流程,根據需要確定人員的角色。
傳統的管理模式中,經理負責確定任務,而員工則負責履行。但 RYAN 反對告訴別人該做什麼。因為
1) 這是偷懶表現
只說做什麼,不說為什麼要做,如何做,只能靠權利壓人很難讓人心甘情願地做,也不會做得好。
2) 偷懶導致更累
因為這樣的話每個人每一步你都要告訴他做什麼。
所以,他要做到的,是成員的自我管理。
首先要教成員確定事情的優先級,然後再到自治—即不用匯報自己也知道自己做的事情是正確的。
而這種管理應該是:
身體力行:告訴別人怎麼做不是簡單地說教,而是要舉例、示范。
完全透明:每個人都可以自我管理,但是你做事情的過程必須高度透明,讓別人看得見。任何有礙透明度的點對點聊天、私下會議、IM 等都取消。這樣的好處是你有什麼做得不對的馬上就會有人指出。做得好和不好別人都可以吸取經驗教訓。
沒有經理:但是人人都是經理。管理的角色分配到—
1)每一個員工身上
2)定制的內部工具上,讓每人均能了解其他項目的情況
這樣做的好處是:
1)100% 的員工實現生產力 / 效率最大化又不會失察
2)100% 的員工均清楚項目進展並給出意見
3)所有員工都是決策制定者
後來,Ryan 又把這種管理模式概括為像開源項目那樣工作—即借用開源軟件項目開放的天然約束來設計內部流程與溝通方式。
這些約束是:
電子:討論、計劃、運營流程采用高保真的電子化溝通方式(電子郵件、項目管理系統、項目聊天組等),避免開會討論。
可見:工作和過程必須讓大家看見。工作必須有 URL 地址,出錯可回溯過程。優選 Git、問題、pull requests、郵件列表、聊天記錄等形式。
異步:流程不應該存在需要對方及時關注的環節,任何干擾(小會、電話等)都會影響流程的暢通。建議采取郵件或 pull requests 的形式。
無鎖:避免流程中出現同步 / 鎖的環節。GitHub 沒有負責審批的部署經理、發布經理和產品經理。他們認為,朝著目標前進的步伐不應該被等待批准阻礙。把這些事情放在最後的評審環節,但是應該盡早披露工作過程以爭取反饋。
乍一看,開源項目與傳統開發相比存在諸多限制。人員分散,無法湊到一起開會,不能一起在白板上推演,而溝通基本上只靠郵件。
但是選擇接受開源項目約束可以讓許多類型的業務、產品開發、運營活動具備更好的自然生命力特征,其結果是運行得當、引人矚目、自生自存的項目,而更為傳統的項目組織則需要更多的人工協調和命令式的督促,這些往往導致過程效率低下,產出質量欠佳。
在 Ryan 看來,傳統的辦公室跟這些原則背道而馳,所以他喊出了“安息吧辦公室”的口號。
當然,他特指的是軟件開發組織的辦公室作為計劃、協調和溝通的中心已經不合時宜。他認為需要開會 / 聚會的只有兩個例外,1 是討論宏偉願景和戰略,2 是慶祝勝利。
也許你會質疑他觀點的偏激,人性到哪裡去了?!會不會像《機器人瓦力(Wall-E)》裡面那樣,人類的所有互動都演變成僅剩下虛擬 / 電子化的溝通方式,導致人陷入深深的悲哀當中、機體功能喪失、乃至於人類滅絕?
不會。面對面溝通已被證明是進行戰略思考及發展個人關系的一種極其有效的方式,而這些對於公司成功是至關重要的。開源項目約束則不適合做這些事情。
而且他們當然還有辦公室,大家碰頭的機會跟其他地方一樣多。但是他們的辦公室主要是根據以下兩個目的而設置:
•成為個人辦公的極佳環境。如有美食、咖啡、wifi 和音樂。
•成為聚會和閒逛的好去處。
開放一切
這種模式成功嗎?起碼投資者看好,起碼 GitHub 的發展數據給力。
今年 7 月,GitHub 從硅谷著名的 VC 機構 Andreessen Horowitz 處獲得了 1 億美元的融資。這是一筆巨額的融資,因為對於這個階段的初創企業來說,2000 萬美元就已經算是一筆財富了。
2012 年 GitHub 的發展數據也堪稱亮麗。用戶數從上一年的 120 萬攀升至 280 萬。存放代碼、文檔、圖像等項目相關信息的“容器”則從 170 萬猛增至 460 萬。
由於一些最好的人才都在上面展示自己的工作,或者對他人的工作發表深刻見解,GitHub 的流行還使得它成為了企業招募工程師的重要途徑。
Preston-Werner 對企業的看法是公司應該是讓快樂而不是金錢最大化的地方。人們願意從事感興趣的事情。而利潤會隨之而來。
開放帶來透明,放權讓人主動,快樂實現精品。
Preston-Werner 認為開源這種要求高度信任與協作,以及相對平等的關系(加上若干定義工作范圍和做出最終決定的高級經理)的方式可以推廣到更加廣泛的領域,比方說開發移動和企業應用,甚至包括政府。
他認為可以開放的不僅僅是代碼,也應該包括決策,讓決策透明和開放。開放、自由、平等、公正,用開源的精神去影響人類的交互和生存方式,這個願景可謂宏大無比。
不過,這一切是否真的能否延伸到復雜大型的組織中去呢?
紐約時報的 QUENTIN HARDY 認為,像開源項目這種復雜程度的事情也要基於單一的、定義清晰的成果,而工程任務往往不受公平正義之類概念的束縛,否則的話那些話題有可能讓人陷入無休止的爭吵之中。而哪怕不討論那麼崇高的話題,像 GitHub 和 Asana 那樣的公司也要向持續多年、同時牽涉到科學與人文技能的復雜企業流程發起挑戰。Google 一度曾以經理少、執行快而自豪,但是隨著公司變大,它也發現自己陷入到許多的會議當中。而一度敏捷創新的 IT 公司一旦發展龐大後變得臃腫死板、頑固守舊乃至於走向失敗的例子更是不勝枚舉。
組織變大是不是就會不可避免地陷入到效率低下、利益沖突等管理難題?還是說因為人的本質是孤獨的,更加理想的組織形式本該就是沒有組織,或者說起碼像 37Signal 那樣堅持以小為美?
開放一切,實現人人平等相待,處處互利共贏究竟是可以實現的夢想還是空想的烏托邦?在一個人人奔向在線生活的世界裡,這無疑是一個有趣的問題。