將OpenJDK遷移到GitHub,這個(gè)主意不錯(cuò)!
這個(gè)月的OpenJDK社區(qū)出現(xiàn)了一個(gè)新的JEP(JDK Enhancement Proposal) , 即JEP 369 : 把OpenJDK的源代碼遷移到GitHub。
原來(lái)的OpenJDK源碼是存放在Mercurial (hg) 中的,這是個(gè)老牌的分布式版本管理系統(tǒng),非常容易上手,快速,簡(jiǎn)單。
hg用得好好的,為什么要遷移呢?
主要有這些原因:
1.Git元數(shù)據(jù)更小,jdk目錄的.git 是300M, .hg是1.2G。
2.GitHub在網(wǎng)絡(luò)和可用性方面有出色的表現(xiàn),clone和pull的時(shí)間會(huì)大大減少。
3. GitHub提供了良好的結(jié)構(gòu)化的API,可以和各種工具輕松集成,如編輯器(Emacs,VSCode,Atom),IDE(Eclipse, Visual Studio , Intellij),命令行等,讓程序員和平臺(tái)輕松交互。
4. 把OpenJDK放到GitHub,能極大地拓展OpenJDK社區(qū)。
其實(shí)說(shuō)白了就一句話:GitHub是大勢(shì)所趨。
我一直認(rèn)為,如果沒(méi)有GitHub這個(gè)全球最大的“同性交友網(wǎng)站”作為Killer,Git是不會(huì)這么火爆的,雖然它是Linus本人親自操刀開(kāi)發(fā)的。
但是一旦火起來(lái),那就出現(xiàn)“強(qiáng)者更強(qiáng)”的效應(yīng),大量的項(xiàng)目遷移到GitHub,開(kāi)發(fā)人員大量涌入,大量的周邊工具會(huì)被開(kāi)發(fā)出來(lái),主流的編輯器,IDE都會(huì)大力支持,最后吃掉整個(gè)市場(chǎng)。
聯(lián)想到最近微軟加入OpenJDK社區(qū), 現(xiàn)在OpenJDK又想入駐屬于微軟的GitHub,這事兒有點(diǎn)意思。
最后能不能遷移成功,讓我們拭目以待。 但這不是今天的重點(diǎn),今天的重點(diǎn)是我想說(shuō)一下看了這個(gè)JEP的格式后引發(fā)的一些聯(lián)想。
有很多人問(wèn)過(guò)我這么一個(gè)問(wèn)題:在枯燥的業(yè)務(wù)需求開(kāi)發(fā)之外,想升職加薪,想給自己的簡(jiǎn)歷增光添彩以便跳槽,該怎么辦?
一個(gè)重要的辦法就是你要推動(dòng)著項(xiàng)目能做出一點(diǎn)改變,例如實(shí)施單元測(cè)試,敏捷,DevOps等等。
當(dāng)你有了一個(gè)想改變的想法,怎么去實(shí)施呢? 可以找領(lǐng)導(dǎo)談,努力說(shuō)服領(lǐng)導(dǎo),可以在項(xiàng)目開(kāi)會(huì)的時(shí)候提出來(lái),說(shuō)服組員。如果你有這樣的表達(dá)能力和溝通能力,那就不用浪費(fèi)時(shí)間繼續(xù)看了。
否則請(qǐng)看JEP這個(gè)優(yōu)秀的模板:
1.摘要
在GitHub上托管OpenJDK的代碼倉(cāng)庫(kù),包括JDK11 以后的feature relase, update release......
2.目標(biāo)
在GitHub上托管OpenJDK的代碼倉(cāng)庫(kù) 在每個(gè)push之前運(yùn)行jcheck 保持所有元數(shù)據(jù) 確保工作流和現(xiàn)在的類似 ......
3.非目標(biāo)
不改變OpenJDK社區(qū)的issue tracker,wiki .....
4.成功的度量標(biāo)準(zhǔn)
更快的clone和pull,更好的可用性......
5.動(dòng)機(jī)
為什么要遷移到外部的代碼托管商?
.....
為什么要選擇GitHub?
......
6.描述
具體的做法
7.可選方案分析
GitLab EE, BitBucket.....
8.風(fēng)險(xiǎn)
遷移的風(fēng)險(xiǎn)是Skara項(xiàng)目要考慮的首要因素,下面的一些設(shè)計(jì)決定保證我們不會(huì)被外部的平臺(tái)(如GitHub)鎖定:
......
看起來(lái)非常專業(yè),對(duì)不對(duì)?
這個(gè)模板中包含了想要做的事情的方方面面,需要深入地調(diào)查、分析、對(duì)比,然后才能做出來(lái),而不僅僅是拍腦門:咱們做這個(gè)吧!
有些人很討厭寫文檔,如果我們?cè)诠ぷ髦刑峤ㄗh的時(shí)候,也能給領(lǐng)導(dǎo)呈現(xiàn)這樣的文檔報(bào)告,總結(jié)分析了這個(gè)問(wèn)題的各個(gè)方面,是不是大大增加了被接受的可能性呢?至少在這個(gè)基礎(chǔ)上進(jìn)行小組討論會(huì)更加有效。
看到了項(xiàng)目的問(wèn)題和困難,只是抱怨沒(méi)啥用處,能夠推動(dòng)做改變的人才是真正厲害的人,改變的時(shí)候要有策略,要有扎實(shí)的分析和調(diào)查。
從今天開(kāi)始,仔細(xì)想一想,你能推動(dòng)項(xiàng)目做出哪些改變?立刻開(kāi)始行動(dòng)吧!
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】