自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從GitHub到“GitLab plus” —— 用開源的方式做“內(nèi)源”

開發(fā) 前端
2016年4月23日華為開發(fā)匯上海站,有講師提到了一個(gè)新穎的名詞——“內(nèi)源”,本文是這次沙龍有關(guān)“內(nèi)源”概念的心得體會(huì)。華為開發(fā)者匯(Huawei Developers Gathering, HDG) 是華為開發(fā)者社區(qū)在2016 年的系列線下沙龍 ,旨在為廣大開發(fā)者分享華為內(nèi)部、合作伙伴以及社區(qū)成員的干貨,營(yíng)造一個(gè)自由、開放、分享的技術(shù)交流平臺(tái)。是華為一個(gè)重要的技術(shù)交流活動(dòng),將在全國(guó)各個(gè)地區(qū)舉辦。

說起GitHub,資深開發(fā)者可能都如數(shù)家珍。

作為全球***的社交編程及代碼托管網(wǎng)站,GitHub以其開創(chuàng)性的軟件開發(fā)方式,吸引了大量程序員和開源項(xiàng)目入駐。“Social Coding(社交化編程)”是其引以為傲的特性。

如果你的代碼屬于開源項(xiàng)目,那公布到GitHub的好處不言自明。全世界的開發(fā)者都能幫你Review代碼,幫你擴(kuò)展功能。哪怕萍水相逢也沒關(guān)系,只要他們對(duì)這個(gè)項(xiàng)目感興趣即可。

從技術(shù)上講,在GitHub為一個(gè)項(xiàng)目貢獻(xiàn)代碼非常簡(jiǎn)單。點(diǎn)擊項(xiàng)目首頁的“fork”按鈕,然后將修改后的代碼加入到剛才保存的代碼庫中,***通過“pull request”機(jī)制向項(xiàng)目負(fù)責(zé)人申請(qǐng)代碼合并。只要項(xiàng)目負(fù)責(zé)人同意,別人遞交的代碼就在主庫中生效了。

GitHub的***執(zhí)行官Chris.Wanstrath說過:“在我理想的世界里,協(xié)同工作將比獨(dú)立工作簡(jiǎn)單的多。在那個(gè)世界中,軟件開發(fā)會(huì)是一個(gè)充滿欣喜的過程,我認(rèn)為GitHub正在推進(jìn)這一愿景的實(shí)現(xiàn)。”

OK,一群陌生人為了同一個(gè)目標(biāo)協(xié)同工作的確很Cool,但那些私有項(xiàng)目怎么辦?比如那些不便公開,只能在同事之間交流的代碼。

有的朋友可能會(huì)說了,可以購(gòu)買GitHub的Private repositories(私有倉庫)版本啊。

那我們的代碼特別敏感,而且我們公司有防火墻屏蔽GitHub怎么辦?

在上海站的華為開發(fā)者沙龍上,講師們不約而同的提到了一個(gè)名叫“GitLab”的東西。

GitLab是一個(gè)自托管的開源倉庫軟件。和GitHub的用法類似,程序員只要會(huì)Git這樣的版本控制系統(tǒng),就可以輕松管理自己的代碼。它還提供問題列表、Wiki等功能,并且支持Markdown,相當(dāng)于內(nèi)網(wǎng)版本的GitHub。

聽上去不錯(cuò),很多創(chuàng)業(yè)公司都部署了這個(gè)GitLab。這樣既不用在GitHub上花錢買私有倉庫,又可以享受Git一貫的便捷體驗(yàn),安全度還很高。

But……

我們是一個(gè)追求開發(fā)效率的大廠怎么辦?我們不光要托管和維護(hù)大量的代碼,還要讓開發(fā)人員更有積極性,讓整個(gè)生產(chǎn)環(huán)境更加智能化……那就不是單純裝一個(gè)GitLab能做到的了。

這時(shí),華為的架構(gòu)師又向大家提出了一個(gè)“內(nèi)源平臺(tái)”概念。

在參加華為上海站的開發(fā)者沙龍之前,筆者也沒聽過“內(nèi)源平臺(tái)”的說法。

經(jīng)過華為的幾個(gè)講師布道后終于明白,原來他們說的“內(nèi)源”是指在內(nèi)部開放的閉源代碼平臺(tái),或者說是專門對(duì)內(nèi)的“開源”。

原來,他們的理念是“用開源的方式做內(nèi)部開發(fā)平臺(tái)“。

乍一聽好像沒什么,但再認(rèn)真想一下GitHub的***亮點(diǎn)就明白了 。和傳統(tǒng)的內(nèi)部開發(fā)平臺(tái)相比,Social Network對(duì)開發(fā)者的激勵(lì)作用太強(qiáng)了。你的代碼只有你的組長(zhǎng)或老板看時(shí),你可能只是應(yīng)付一下差事;而你的代碼被一群人看,一群人討論,甚至一群人修改時(shí),那這勁頭就完全不是一個(gè)量級(jí)了 —— Yep, you are the Rockstar.

華為就是這樣干的。

據(jù)了解,華為現(xiàn)在有兩套內(nèi)源平臺(tái),分別叫做“Code Club”和“iSource”,幾乎都引入了 “Social Coding”概念,其創(chuàng)始人分別是胡智勇和莊表偉。

比如路由器研發(fā)團(tuán)隊(duì)在內(nèi)源平臺(tái)上公布了一套代碼,防火墻團(tuán)隊(duì)的開發(fā)者看到后發(fā)現(xiàn)有可以擴(kuò)展的地方,馬上就可以把自己實(shí)現(xiàn)的功能代碼遞交過去。然后路由器團(tuán)隊(duì)的負(fù)責(zé)人經(jīng)過審核發(fā)現(xiàn)這個(gè)功能很好,就可以合并到主庫。這個(gè)遞交代碼的防火墻團(tuán)隊(duì)開發(fā)者ID也將被加到這套代碼的貢獻(xiàn)者列表里。

又或者防火墻團(tuán)隊(duì)的開發(fā)者想要加入一個(gè)新功能,看到路由器研發(fā)團(tuán)隊(duì)已經(jīng)實(shí)現(xiàn)了。那這個(gè)時(shí)候他完全可以直接把代碼拿過來用,避免重復(fù)開發(fā),加快研發(fā)進(jìn)度。

按照iSource創(chuàng)始人莊表偉的說法,內(nèi)源平臺(tái)的一個(gè)重要的作用就是互通有無,降低研發(fā)成本。

當(dāng)然,除了“Social Coding”之外,華為的內(nèi)源平臺(tái)還和生產(chǎn)環(huán)境緊密連接。比如智能的軟件測(cè)試,自動(dòng)化部署,持續(xù)集成等等。這就不再是簡(jiǎn)單的GitLab可以搞定了,至少得二次開發(fā)或是重構(gòu),以達(dá)到“GitLab plus”級(jí)別。

看到這里大家可能已經(jīng)明白了,“內(nèi)源”也是可以做成一個(gè)生態(tài)的。

目前,華為的“Code Club”已有17,000+用戶,14,000+項(xiàng)目倉庫,并且對(duì)接到公司其他研發(fā)工具平臺(tái)和系統(tǒng)。而“iSource”支持的都是動(dòng)輒2000人以上的Big Team,發(fā)展勢(shì)頭也很迅猛。其“內(nèi)源”熱度可見一斑。

兩套平臺(tái)雖然有相似之處,但兩個(gè)創(chuàng)始人打造產(chǎn)品的風(fēng)格倒是完全不同。胡智勇傾向于“自下而上“的變革,而莊表偉更傾向于“從上而下”的推進(jìn)。當(dāng)然,兩人都是在為內(nèi)源開發(fā)更有效率、更有活力這一愿景在努力,各有各的好處。

需要注意的是,這樣的內(nèi)源平臺(tái)比較適合產(chǎn)品線較多的大中型企業(yè)。出于成本和復(fù)雜度的考慮,可能不太適合產(chǎn)品線較少的創(chuàng)業(yè)型公司。畢竟這么有意思的平臺(tái),人多才能玩的起來。

用開源的方式做內(nèi)源,不僅要在技術(shù)方面下功夫,還要運(yùn)營(yíng)和溝通等方面花很多心思。如何說服各團(tuán)隊(duì)開放自己的代碼,如何設(shè)定內(nèi)部訪問的權(quán)限,如何頂住高并發(fā),如何獎(jiǎng)勵(lì)那些貢獻(xiàn)度較高的員工,如何讓平臺(tái)把大量用戶和不同的生產(chǎn)環(huán)境連接在一起……這都是值得探討的問題。

內(nèi)源之路并不平坦。用Code Club創(chuàng)始人胡智勇引述的一句《馬太福音》來說:“引到永生,那門是窄的,路是小的,找著的人也少。”

但我們不能輕易放棄,對(duì)嗎? 

華為開發(fā)者社區(qū)  

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2022-05-18 09:48:07

ArmGitHubGitLab

2018-06-28 15:46:54

微軟GitHub開發(fā)者

2023-01-09 10:19:38

2020-08-31 15:26:44

開發(fā)技能代碼

2022-03-24 15:24:47

開源軟件供應(yīng)鏈安全

2020-07-07 16:58:21

開源技術(shù) 工具

2015-02-27 11:05:12

開源云計(jì)算程序員

2022-05-09 08:35:43

面試產(chǎn)品互聯(lián)網(wǎng)

2020-12-31 11:28:09

GitLabCICD

2012-08-01 16:41:31

紅帽RHELOpenShift

2011-07-18 09:28:44

開源開放

2025-04-29 02:10:00

2013-08-09 10:41:58

2016-10-18 21:10:17

GitHubBitbucketGitLab

2018-03-24 20:27:58

GitHub代碼開發(fā)者

2024-01-19 16:35:23

2013-09-04 09:35:46

2013-09-11 09:57:00

2012-12-25 11:59:00

GitHubHadoopOpenStack

2020-03-27 12:00:14

GitHub開源移動(dòng)應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)