從協(xié)作編程到婚禮請柬:GitHub正走向主流
Bubby Rayber 大婚的日子來的太快了。當(dāng)時(shí)已是四月中,而不到一個(gè)月之后他就要在印度南部舉辦一場曠日的千人慶典。他亟需一個(gè)能快速傳播婚訊的方法。因此這名 28 歲的 LinkedIn 高級系統(tǒng)工程師,轉(zhuǎn)而向一個(gè)他很熟悉的網(wǎng)站尋求幫助。Rayber 通過程序員們最愛訪問的社交網(wǎng)站GitHub向其好友們發(fā)出了邀請。
事實(shí)上通過 GitHub 發(fā)送婚禮請柬的事并不多見。發(fā)起于 2008 年的 GitHub 是一個(gè)軟件工程協(xié)作平臺,其主要功能是保存你的工作成果,并對提交的各種變化進(jìn)行全面跟蹤。同時(shí)其內(nèi)容面向全世界共享,并接受各種評論。程序員們對此津津樂道。直到最近,其業(yè)務(wù)已經(jīng)開始不滿足于此了。
正如前文所述,婚禮請柬與開源軟件項(xiàng)目的共同點(diǎn)其實(shí)比你能想到的更多。在 Rayber 的例子中,就在他剛剛上傳了自己婚禮請柬后不久,一名賓客就修改了其中一處筆誤,而另外一人則添加了一條文辭可愛的祝賀。而 GitHub 的員工則認(rèn)為這種協(xié)作方式代表了未來:任何人都可以向任何項(xiàng)目諫言,而針對解決方法的討論就像在 Facebook 發(fā)文一樣簡單便捷。
GitHub 聯(lián)合創(chuàng)始人兼 CEO,Tom Preston-Werner 談到:
我們?yōu)檐浖_發(fā)所打造的開放協(xié)作流程非常誘人,以至于具備高協(xié)作性的非軟件項(xiàng)目都會(huì)為此吸引。
就在去年,Twitter 的首席律師 Benjamin Lee 通過 GitHub 為工程師們起草了一份新的專利許可協(xié)議。而不久之后,GitHub 用戶們就為其修正了很多小的語法錯(cuò)誤。再后來,Twitter 聯(lián)合創(chuàng)始人 Evan Williams 的孵化器創(chuàng)業(yè)公司商業(yè)運(yùn)營總監(jiān) Trishan Arul 又建議加入一些文本,Lee 表示接受。
在另一個(gè)迥異的領(lǐng)域中,來自德州一家圣公會(huì)教堂的音樂總監(jiān) Adam Wood 正嘗試將一份格列高利圣詠的大綱上傳至 GitHub。他認(rèn)為對于唱詩班總監(jiān)而言,那是最好的用來分享和改進(jìn)各種音樂的服務(wù)平臺。
GitHub 這家擁有 5 年歷史,三百四十萬用戶的網(wǎng)站已經(jīng)成為了黑客圈中最炙手可熱的社區(qū)。程序員們樂于在其上分享項(xiàng)目雛形,并眾包各種改進(jìn)。但是公司本身有著更大的志向:改變?nèi)藗兊墓ぷ鞣绞?。首?dāng)其沖的當(dāng)然是軟件開發(fā)人員,而后將是任何與文字修編有關(guān)的工作。例如律師,作者,甚至是公務(wù)員,都會(huì)樂于接受 GitHub 的協(xié)作方式。
對于初來乍到者,GitHub 就好像某種意義上將視頻美圖抽象為代碼片段版本的 Facebook。但其實(shí)很多內(nèi)在的觀念是想通的。你可以“追隨”其他黑客的動(dòng)態(tài)來了解他們在做些什么。你還能夠在他們的代碼上加評論。就像在 Facebook 上評論照片一樣。你甚至可以為項(xiàng)目“加星”來表達(dá)你對它的喜愛,就如同在 Twitter 上標(biāo)注“最愛”一樣。
但它還遠(yuǎn)遠(yuǎn)不止是社交網(wǎng)絡(luò)。人們通過它發(fā)掘感興趣的新項(xiàng)目,調(diào)試并改造,嘗試新想法。然后通過推送按鈕,將更新融合入項(xiàng)目。你還可以對項(xiàng)目進(jìn)行“分叉”。這是 GitHub 中對于復(fù)制項(xiàng)目的術(shù)語。你可以通過復(fù)制一個(gè)項(xiàng)目,進(jìn)而修改并建立你自己獨(dú)立的版本。
事實(shí)上人們不僅限于對 Lee 的 Twitter 版權(quán)專利修改提出建議。那份專利被復(fù)制了 53 次:其中包括 Arul,一名波特蘭的計(jì)算機(jī)專業(yè)學(xué)生,還有比利時(shí)的自行車設(shè)計(jì)師。這些復(fù)制版本會(huì)各自演化,甚至最終融合回 Lee 的最初版本。這項(xiàng)實(shí)驗(yàn)激發(fā)了硅谷的頂級法律公司 Fenwick & West(GitHub 是其客戶)在今年早期于 GitHub 上發(fā)表了 30 頁的創(chuàng)業(yè)公司標(biāo)準(zhǔn)文檔。該公司合伙人之一 Ted Wang 談到:
我猜測在未來,GitHub 會(huì)成為法律從業(yè)者的實(shí)際工具。
這便是 Tom Preston-Werner 同其 GitHub 團(tuán)隊(duì)正在構(gòu)筑的。任何人都可以通過此網(wǎng)站來架設(shè)免費(fèi)的開源項(xiàng)目,而這也是大部分用戶正在做的。然而通過付費(fèi)服務(wù),公司可以保持他們的軟件及其他項(xiàng)目不對外公開。甚至是通過安裝他們自己版本的 GitHub,將項(xiàng)目內(nèi)容保密。針對不同的項(xiàng)目,收費(fèi)可從每月幾美元到每年成千上萬美元不等。
34 歲的 Preston-Werner 稱,他銷售給其客戶的是更好的協(xié)作。如同杰克韋爾奇治下通用電氣一般的品質(zhì)。Preston-Werner 談到:
通用電氣擁有六西格瑪哲學(xué)。他們是本著這樣的原則來確保產(chǎn)品質(zhì)量和組建團(tuán)隊(duì)的。而我們擁有 GitHub 的方式。并且我們相信很多人都會(huì)從中獲益,并輸出更多更好的成果,并樂在其中。
就在去年,該公司接受了 Andreessen Horowitz 的風(fēng)投公司驚人的一億美元注資。巨額投資彰顯了更大的野心。Andreessen Horowitz 的合伙人 Peter Levine 說:
我們堅(jiān)信這是絕對是一項(xiàng)非常特別的業(yè)務(wù)。GitHub 對于源代碼所做的事情絕對可以應(yīng)用到其他領(lǐng)域。不論是 GitHub 自己開發(fā)或是其他公司給基于其上的再次開發(fā),可以想象那將會(huì)是一個(gè)非常有趣的合作平臺。
作為投資人他看到了 GitHub 立足于程序開發(fā)人員的起步階段,并相信這種模式適用于任何需要存儲(chǔ),修改以及討論文本的行業(yè):比如法律公司,醫(yī)院,銀行,設(shè)計(jì)行業(yè)。
很多人都試圖將基于網(wǎng)頁的協(xié)作工具銷售給大企業(yè)。盡管目前對于購買了微軟的 Yammer 產(chǎn)品以及 IBM 的 Connections 軟件的公司能否適應(yīng) GitHub 的模式還不清楚,但是 GitHub 的確具備它們所缺失的優(yōu)勢:大批已經(jīng)在 GitHub 架設(shè)了私人項(xiàng)目的忠實(shí)擁躉。這些人通過對 GitHub 的試用,將會(huì)成為推動(dòng)其單位安裝 GitHub 用于日常工作的根本動(dòng)力。
#p#
GitHub從何而來
Beer:30 酒點(diǎn)半——這是 GitHub 每周一次,兩個(gè)小時(shí)的員工集會(huì)的名字。同時(shí)也是 TED 演講。GitHub 的近半數(shù)的員工都參與其中。窗外是四月陽光下巨人隊(duì)球迷為擊敗對手圣路易斯而熱烈的歡呼。屋內(nèi) GitHub 的員工們要么懷抱 MacBook,或是手捧啤酒。臺上四架攝像機(jī)鎖定著演講臺后身著牛仔褲黑體恤的 Preston-Werner。他正在責(zé)備著灣區(qū)的地鐵系統(tǒng) BART,源自他幾周前攜妻子和幼子乘地鐵去農(nóng)貿(mào)市場的不快經(jīng)歷。他談到:
這便是 GitHub 從何而來,發(fā)現(xiàn)了一個(gè)糟糕的方案,進(jìn)而試圖打造一個(gè)更好的取代它。
六年之前,Preston-Werner 同他的聯(lián)合創(chuàng)始人們,Chris Wanstrath 以及 PJ Hyett 都是典型的灣區(qū)程序員。微軟正試圖將 Preston-Werner 從收購的搜索創(chuàng)業(yè)公司 PowerSet 留住,但還是失敗了。Wanstrath 和 Hyett 已然辭去了他們在 CNet 的工作,創(chuàng)立了一家叫做 FarmSpam 的網(wǎng)站。一切都還未開始。
為大公司打工的經(jīng)歷讓他們身心俱疲。他們痛恨低效與官僚的作風(fēng),以及缺乏自治的權(quán)力。Preston-Werner 說:
你在某處工作了兩年,無聊且沮喪到了極點(diǎn),只好離職。
他們相聚在一個(gè)叫做 Zeke 的運(yùn)動(dòng)酒吧,緊接著就決定啟動(dòng) GitHub 這個(gè)項(xiàng)目作為副業(yè)。而他們所要修正的“糟糕方案“正是 Linux 操作系統(tǒng)的創(chuàng)始人 Linus Torvalds 的 Git 軟件,一個(gè)設(shè)計(jì)用來跟蹤變化的軟件。
Git 對于極客程序員來說是很棒的,但是大部分人在安裝使用的時(shí)候都會(huì)遇到很多困難。因此 Preston-Werner 和 Wanstrath 建立了一個(gè)網(wǎng)站,通過 Git 管理來便捷的分享代碼。他們在 2008 年對其好友們開放了私下的測試版。
三個(gè)月之內(nèi),GitHub 便擁有了 6000 名用戶。他們當(dāng)中很多人都從自己的項(xiàng)目中分享代碼。他們推舉 Hyett 作為首席運(yùn)營官。業(yè)界公司對這項(xiàng)服務(wù)非常欣賞,甚至樂于為此付費(fèi)。因此一項(xiàng)商業(yè)計(jì)劃應(yīng)運(yùn)而生。(PeepCode 的創(chuàng)始人 Geoffrey Grosenbach 甚至在一封郵件中寫道“免費(fèi)使用讓我很不自在,我能直接寫張支票給你們嗎?”)GitHub 的企業(yè)客戶讓該網(wǎng)站成為了鮮有的無需諂媚廣告商的社交網(wǎng)站。
對于不寫程序的人,觀摩 GitHub 網(wǎng)站的感覺是有些云里霧里的。其網(wǎng)站上包含了很多代碼倉庫,程序分支,大片的代碼文本等內(nèi)容。還有小的片段稱之為 Gists。對于非技術(shù)用戶這些近乎天書,但對于工程師而言則充滿了甜頭。
GitHub 的最大創(chuàng)新在于 pull request。那是在你通過分叉復(fù)制了某些東西之后,GitHub 會(huì)向軟件開發(fā)者發(fā)送一份電子文檔,其中說到“嘿,我正在你的項(xiàng)目基礎(chǔ)上進(jìn)行二次開發(fā)。你能看到我都做了哪些改進(jìn)。按下這個(gè)按鈕,這些變化就會(huì)加入你的項(xiàng)目。”其中 pull request 使得任何人都可以很方便的修正文檔中的筆誤,或是軟件程序中的錯(cuò)誤,甚至是添加對于法律文本的新建議。
在此你可以從 Preston-Werner 的 GitHub頁面 中了解到很多。GitHub 的 CEO 建立了超過 40 個(gè)代碼倉庫,其中包含了一個(gè)非常火爆的針對黑客的博客引擎,叫做 Jekyll。Jekyll 已經(jīng)被用戶加星超過 12000 次,并且復(fù)制超過 2000 次。以 GitHub 的標(biāo)準(zhǔn)而言這都是很了不起的。
如果你繼續(xù)往下看,你會(huì)發(fā)現(xiàn) Preston-Werner 確實(shí)比一般 CEO 寫的代碼要多的多。但這里不乏他的其他愛好。其中一個(gè)項(xiàng)目包含了各種 GitHub 的定制啤酒柜照片,共被復(fù)制了 3 次。他還有一個(gè)倉庫包含了他最愛的舊金山素食館。共被復(fù)制了 37 次。但是包含了很多很多修改,這些幾乎都來自素食主義者們對筆誤的修正,以及添加上他們自己喜愛的餐館,酒吧,以及冰淇淋店。
Preston-Werner 希望他的員工能能夠像重新設(shè)計(jì)地鐵一樣來思考問題,因?yàn)樗幌M麄兺涀约旱氖姑褐厮苋藗兊墓ぷ鞣绞?。在這一點(diǎn)上,他已經(jīng)花了 4 百萬美元來改善員工所使用的工具。該公司僅有的一筆收購,在他們獲得 Andreessen Horowitz 一億美元投資之前敲定。是一家由五個(gè)人組成的專門制作網(wǎng)頁開發(fā)者工具及軟件的公司,他們的產(chǎn)品是用來幫助人們在線分享幻燈片的。
從風(fēng)投公司獲得一億美元投資,對于一家制作源代碼管理軟件的公司來講本是可望而不可及的。但是 GitHub 的社交網(wǎng)絡(luò)屬性令其與眾不同。加州 Shasta Ventures 的管理總監(jiān) Jason Pressman 談到:
程序員是新時(shí)代的搖滾明星。誰能在 50 年代就設(shè)想到搖滾明星能夠擁有那么大的商業(yè)價(jià)值?程序員正在取得這樣的影響力,因此 GitHub 作為程序員的中心擁有無窮的價(jià)值。
GitHub在白宮
如今,GitHub 擁有眾多的付費(fèi)用戶:暴雪娛樂,Etsy,以及大的云服務(wù)提供商 RackSpace 等。最重要的科技公司中,甚至微軟也擁有公開的 GitHub 頁面。同時(shí)也擁有很多粉絲。GitHub 本身也透過敏銳的商業(yè)眼光,采用自身五條腿的小章魚商標(biāo)制作了一系列的主題帽衫,杯具以及不干膠貼紙。
但是究竟 GitHub 將如何達(dá)到其改變工作方式的目標(biāo),目前還不明確。Preston-Werner 稱產(chǎn)品路線圖的方式是違背 GitHub 企業(yè)文化的。他說:
我認(rèn)為制定路線圖的想法是過時(shí)的,承諾太多而達(dá)不到的風(fēng)險(xiǎn)是很高的。所以我們在發(fā)布新功能之前都不會(huì)談?wù)摗?/strong>
但是風(fēng)險(xiǎn)投資人 Levine 和 Pressman 認(rèn)為 GitHub 的優(yōu)勢在于,其已成為一個(gè)平臺。擁有超過三百萬的用戶,它完全能夠以像 Linux 或是 PC 類似的方式進(jìn)入企業(yè),成為定制軟件背后的共享平臺。Pressman 稱:
GitHub 絕對能夠滲透入大企業(yè)。
就像 GitHub 進(jìn)入白宮的方式。在一年前,白宮 CIO Steven VanRoekel 開始著手制定一個(gè)令政府?dāng)?shù)據(jù)更便于訪問的計(jì)劃。聯(lián)邦機(jī)構(gòu)堪稱信息的寶庫,從法庭記錄到聯(lián)邦通信委員會(huì)掌握的私人無限廣播電臺數(shù)據(jù)應(yīng)有盡有。但是這些數(shù)據(jù)都很難被軟件開發(fā)者訪問到。
VanRoekel 在來到華盛頓前在微軟工作過 15 年,授命解決這個(gè)問題。去年夏天,他的團(tuán)隊(duì)制定了一系列軟件工具和政策文件,作為官員們的指導(dǎo)手冊。
這個(gè)項(xiàng)目被稱為 Open Data,其編寫以及代碼的完成就是基于 GitHub。最開始的時(shí)候,整個(gè)項(xiàng)目是存放在私有代碼倉庫中,僅能在 VanRoekel 管轄下的工作組內(nèi)部訪問。當(dāng)任何人需要進(jìn)行一項(xiàng)大的修改,他們無需發(fā)送郵件或是打電話。他們需要做的就是提交一個(gè) pull request。
五月的時(shí)候,VanRoekel 的辦公室對外界程序員發(fā)布了開發(fā)他們數(shù)據(jù)庫所需的軟件。這些程序連同 Open Data 項(xiàng)目的政策文檔都一并公開發(fā)布于 GitHub。VanRoekel 談到:
這是白宮第一次通過 GitHub 代碼倉庫發(fā)布政策,因此如果你覺得自己比官員們高明并且希望改進(jìn)“公開許可證”的定義,那就去做吧。直接復(fù)制下來原版,改進(jìn)后再提交一份 pull request 給白宮。
VanRoekel 正在通過 GitHub 開啟聯(lián)邦政府的現(xiàn)代化,但是還有另外一群設(shè)計(jì)師正在試圖通過 GitHub 來協(xié)作 3D 打印,而這很可能會(huì)成為 GitHub 的新增長點(diǎn)。一名猶他州鹽湖城的軟件開發(fā)者 Duane Johnson 最近通過 GitHub 將他的房子開源了。他正通過 GitHub 發(fā)布小型房屋改進(jìn) 3D 打印設(shè)計(jì)項(xiàng)目。比如一個(gè)水槽增氧機(jī),一個(gè)客廳地毯固定薄片,或是一個(gè)餐盤架。
Johnson 的設(shè)計(jì)密集且復(fù)雜。他們并不像源代碼或是餐館名錄那樣易于修改,但是 Preston-Werner 認(rèn)為他的公司能夠通過 3D 打印圈所使用的工具來改進(jìn) GitHub。他說:
3D 打印技術(shù)的革新業(yè)已成熟,我們很樂于成為這場革新的一部分。
在 GitHub 公司內(nèi)的蛋蛋屋(60 年代仿古風(fēng)格的乘涼地,還有很多球形椅)的一角就擺著一臺 3D 打印機(jī)。公司鼓勵(lì)員工將好的創(chuàng)意打印出成品。去年十二月,員工 Yossef Mendelssohn 弄傷了腳,并苦于無法同時(shí)杵著醫(yī)用拐杖和普通手杖一起行走。于是他設(shè)計(jì)并打印了一個(gè)固定裝置,能夠幫助他將普通手杖與醫(yī)用拐杖綁定。其代碼可供任何人閱覽。
Mendelssohn 的固定裝置會(huì)走紅嗎?不會(huì)的。但是為了能找出什么才是有用的開源設(shè)計(jì),把玩 3D 打印機(jī)還是很重要的方式。或許還需要五年的時(shí)間才會(huì)有結(jié)論,但是一旦 3D 設(shè)計(jì)師以及硬件黑客們對開源革命做好了準(zhǔn)備,GitHub 就等在那里。Preston-Werner 說:
如果我們能夠做到讓任何一個(gè)普通人,都覺得 3D 打印是很方便的。那么開源之風(fēng)就會(huì)像如今影響軟件業(yè)一樣,影響硬件世界。而那正是我想去做的。
英文原文:http://www.wired.com/wiredenterprise/2013/09/github-for-anything/all/