GitHub工程師專訪:奶昔+海象+游泳池=開源
GitHub對(duì)于廣大的開發(fā)者來說已經(jīng)不陌生了,GitHub于2008年4月10日正式發(fā)布,相比始于1999年的SourceForge和2005年的GoogleCode,GitHub算是后來者居上。作為一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),且只支持Git作為唯一的版本庫格式進(jìn)行托管,GitHub的名字由此而來。
今天我們采訪到了GitHub的元老工程師Zach Holman,之前的文章中我們多次從他的博客中了解到關(guān)于GitHub的知識(shí)。這一回,我們把自己的疑問拋給了他。
提問:聽說在GitHub大家的工作時(shí)間十分彈性化,請(qǐng)問你們那里的工作氛圍是怎么樣的?
Zach:這完全取決于個(gè)人,我們希望員工能夠更好地創(chuàng)造出自己的價(jià)值,所以對(duì)他們?cè)诠ぷ鲿r(shí)間上的限制幾乎沒有。我們這兒有大量的“夜貓子”,每天都工作到很晚,或許他們喜歡在夜深人靜的時(shí)候辦公吧。當(dāng)然,我們也有一些“早起的鳥兒”。他們很早來到公司,把晚上留給自己的家人,享受著工作之外的生活。經(jīng)過這些彈性的工作時(shí)間設(shè)置,我們發(fā)現(xiàn)了一個(gè)規(guī)律:強(qiáng)制員工在固定時(shí)間工作的效果遠(yuǎn)遠(yuǎn)沒有彈性工作時(shí)間的效果好。
從工作地點(diǎn)來說,有些人在家工作效率反而高,有些人編程的時(shí)候必須在公司做,其他地方都無法使他們專心致志。有些人在舊金山,剩下的人分布在世界各地。我們想讓員工快樂地工作,他們覺得什么樣的工作環(huán)境***,我們就為他們提供什么樣的工作環(huán)境。在回復(fù)你的時(shí)候,我們公司正在搬家呢,給你看一下搬家后的工作環(huán)境吧。
提問:你們平常都在討論什么話題?
Zach:我們討論很多的問題,例如我們?cè)诠ぷ髦袝?huì)常常討論與Git有關(guān)的問題,和不同版本控制的問題,除此之外我們時(shí)不時(shí)還會(huì)討論一些創(chuàng)業(yè)公司、編程語言和政治問題。原來我們的公司有50多人,現(xiàn)在已經(jīng)有200人了,所以我們的話題現(xiàn)在更多了。
提問:你在自己的文章中說開源“就是奶昔和海象充斥在一起的大型游泳池”,這是什么意思?
Zach:噢,哈哈。從表面的意思來說,就是想和大家開個(gè)玩笑,之所以這么說是想告訴大家開源的世界應(yīng)該要充滿歡笑。我們所有人都從開源中得到很多營養(yǎng),但最重要的是你能認(rèn)識(shí)到自己敲寫出的代碼、完成的項(xiàng)目能夠具有創(chuàng)造性、故事性和趣味性。有些時(shí)候,你在閑暇之余做出的一些看似愚蠢的行為恰恰讓你更了解自己,有時(shí)還能誤打誤撞,學(xué)到新的語言和一些新的技術(shù)。
提問:你是Gitbub的元老級(jí)工程師,直到現(xiàn)在你們遇到過的***的困難是什么?怎么去克服的?
Zach:我認(rèn)為***的困難就是Scaling(大數(shù)據(jù)量、吞吐量)的問題。面對(duì)上百萬的用戶,Scaling對(duì)誰來說都是個(gè)棘手的問題。和其他網(wǎng)站不一樣,我們***的挑戰(zhàn)就是如何又快又準(zhǔn)地從代碼庫里向用戶提供數(shù)據(jù)。我們具體的改進(jìn),大家可以在libgit2里面看到,libgit2是一個(gè)開源的、跨平臺(tái)的、速度極快的Git應(yīng)用,我們?cè)诼貙?duì)其進(jìn)行著更迭。
提問:有人說GiHhub的出現(xiàn)標(biāo)志著開源翻開了新的一頁,你怎么看?
Zach:我不同意。在最開始我來到GitHub的時(shí)候,我就清晰地意識(shí)到,GitHub將來的一切成就和功績不是針對(duì)技術(shù),而是針對(duì)人。大家因?yàn)镚itHub可以更加緊密地工作,這是非常重要的的一部分。簡單來說,代碼就在那里,真正改變一切的不是代碼,而是由代碼做出來的產(chǎn)品。
提問:談到了GitHub將大家聚在了一起,現(xiàn)在的GitHub的社交性越來越強(qiáng)了,在這方面有沒有計(jì)劃呢?
Zach:自始至終我們都把這件事放在心上,管理好代碼的GitHub仍然不夠***,想要達(dá)到***就需要添加出一些有趣的新功能,這也能幫助開發(fā)者更好地編寫代碼。
提問:你見過開源之父Linus Torvalds么?對(duì)他有什么印象?
Zach:我本人沒有跟Linus Torvalds說過話,我的其他同事跟他進(jìn)行過簡短的交流。Linus Torvalds絕對(duì)是個(gè)天才,他在開源方面對(duì)整個(gè)世界做出了貢獻(xiàn),這也使得GitHub和整個(gè)開源社區(qū)走到了今天,前途一片光明。Linus Torvalds人很好,在我們創(chuàng)業(yè)的路上,他向了我們提出了許多寶貴的意見?,F(xiàn)如今他也入住了GitHub,這真是太***了。
提問:老美對(duì)“斯諾登事件”怎么看的?愿意聊聊么?哈哈
Zach:圍繞著斯諾登和他揭露真相的這些事情簡直是太!瘋!狂!了。在舊金山,這種事情每天都會(huì)有成百上千的人在不同媒介之間進(jìn)行討論,討論的核心無外乎就是如何在民主和國家安全這兩者之間找到一個(gè)平衡點(diǎn)。我希望這件事情產(chǎn)生的效應(yīng)持續(xù)時(shí)間越長越好,***人們?cè)趲讉€(gè)月,甚至是幾年之后都不要忘記這件事情。
提問:GitHub上的用戶分布有什么特點(diǎn)?從年齡角度、性別、專業(yè)分布,中國開發(fā)者的比例有多少呢?
Zach:從我這里得到數(shù)據(jù),我只能說,在未來的兩周內(nèi),中國將成為在GitHub流量第二大的國家。
提問:企業(yè)級(jí)用戶對(duì)于項(xiàng)目管理的態(tài)度如何?
Zach:在最開始,我們認(rèn)為一些大公司在使用Git上會(huì)有些猶豫(或許是因?yàn)榉植际焦芾砜刂频脑颍?。但是過了兩三年,我們開始看到有許多大型公司都把他們的技術(shù)開發(fā)團(tuán)隊(duì)遷移到了***的版本控制系統(tǒng)中??吹竭@么多不同的開發(fā)方法感覺特別有意思。Git可以支持結(jié)構(gòu)化的工作流,還可以支持更靈活的工作流。
提問:你聽到的用戶最多的反饋是什么?GitHub對(duì)于用戶來說意味著什么?
Zach:讓我印象深刻的是用戶覺得擁有了GitHub之后減少了工作中的一些困擾。舉個(gè)例子,開發(fā)者原來花費(fèi)大量的時(shí)間研究如何將復(fù)雜的分支進(jìn)行合并,現(xiàn)在他們只需要專注做好他們的產(chǎn)品就好了。久而久之,使用GitHub的人們?nèi)绱藢W⒌毓ぷ饕灾劣谒麄兺苏麄€(gè)GitHub的存在,一切的編程、設(shè)計(jì)和計(jì)劃變得十分純粹,這是我們最希望看到的結(jié)果。
提問:教育用戶是如何使用GitHub的?對(duì)他們有沒有什么特殊的技術(shù)支持?為什么要發(fā)展教育用戶?學(xué)生們的反饋如何?
Zach:我們?cè)贕itHub上看到了許多學(xué)生,特別是近幾年。我們?yōu)榻逃脩籼峁┝艘粋€(gè)免費(fèi)的私人存儲(chǔ)庫,這在學(xué)生中的反響很好。其實(shí)這是一件特別有意義的事情,當(dāng)你大學(xué)畢業(yè)之后,等待著你的是一個(gè)相對(duì)真實(shí)的世界。如果你已經(jīng)提前學(xué)會(huì)了如何在這個(gè)新世界中使用工具,無需過度的話,何樂而不為呢?
提問:你對(duì)中國的編程環(huán)境的***印象是什么?
Zach:提起中國,我總是對(duì)這個(gè)國家的編程環(huán)境很感興趣。我知道在中國有很多天才在編程和數(shù)據(jù)分析上有著很高的造詣,我希望能在GitHub中看到越來越多的中國程序員。事實(shí)上, 據(jù)我所知,有一些名聲非常好的項(xiàng)目都是來自中國的。
我從來沒來過中國,不過十分巧合的是,我已經(jīng)計(jì)劃在今年十月份來到中國參加一年一度的Ruby大會(huì),迫不及待地想跟大家見面了。