一名开源拓荒者的 Apache 之旅
今年是 Apache 軟件基金會20周年慶,作為一家全球性的以開發開源軟件為公共利益的慈善組織,正在變得更加的多元化、日漸豐富與完善。從本土軟件產業的角度而言,須以站在世界的角度來認識、參與、貢獻,進而領導,讓更多的人受益。從個人而言,就是要經歷觀察、學習、奮斗、參與的過程。
目前 ASF 全球活躍成員(Member)有700多名,其中華人約有28名,目前住址在中國的有 10 位(其中今年新當選 6 位華人里住址在中國的有 3 位)。這三位來自中國新當選的 ASF Member 分別是陳亮,堵俊平(請參考開源社公眾號4月18日發布的文章),張乎興。
今天為大家推薦的故事是新當選的 ASF Member - Apache CarbonData 項目委員會主席 - 陳亮,這是一個關于本土開發者成長的歷程,一個讓我們從中看出崛起與趨勢的走向。
Apache CarbonData 作為本土企業里第一個捐贈給 ASF 的開源項目、第一個走入 ASF 孵化器、也是第一個從 ASF 孵化器順利畢業成為頂級項目的本土開源項目。作為一個本土大企業內第一位開路先鋒的篳路藍縷、披荊斬棘正是點滴在心頭,如今貢獻社區成就自身,當選為 ASF Member ,可謂是實至名歸。以下陳亮將為大家娓娓道來。
陳亮簡介 :2005年加入華為,一直從事大數據和 AI 相關的研發工作,對開源軟件有深入理解。
“下面以華為云 EI 布道師身份給大家分享下我的 Apache 故事。”
01我的Apache故事前言
很高興2019年4月受邀成為全球最大開源社區?Apache 軟件基金會的 Member?,
ASF member?與?Apache 項目 PMC/Committer?主要的區別是,前者是參與基金會層面的事務,后者是具體項目層面的事務。
?
今年也是 Apache 基金會成立20周年,為幫助中國更多的項目和個人參與到 Apache,社區朋友建議我抽空分享下我的 Apache 故事和經驗。
我的 Apache 故事與華為的 Apache 相關的大數據開源歷程幾乎一樣,在華為很難找出第2個人,像我這樣全程參與了整個工作。
02開啟 Apache 之旅
2011-2014年我被外派到華為印度研究所,負責軟件平臺工作,當時根據印度員工兩個優勢(語言+軟件),公司將大數據開源相關業務交由我的團隊負責。華為在 2012 年 HBase 峰會上,分享并開源了 HBase 二級索引方案 hindex
https://github.com/Huawei-Hadoop/hindex
這在業界引起極大的反響和關注,有人認為,如果華為早點公布這個方案,HBase 多列組合快速查詢的問題早就解決了。
我是在 2012 年開啟了 Apache 之旅,開始研究開源文化和 Apache Way 的精髓,下面這些理念,我個人比較認可,分享給大家,摘自艾里克.斯蒂芬.雷蒙《大教堂與集市》,“只要眼球足夠多,所有臭蟲都好捉”,開源軟件和開放性內容興起的背后是社會信息結構變革。技術和知識在公共領域的暢通促進發展、公平和機遇,破除與經濟和政治權力綁結的知識壟斷。然而草根能量需要一個健康的進化機制來真正推動社會的進步,其中核心是知識生產和傳播的可靠性、可信度。
03參與 Apache 社區,積累個人的功勛值 ( Merit )
幾乎所有知名的大數據開源軟件全在 Apache 基金會下管理,每天社區都在發生很大的變化。華為是業界最早提供大數據套件發行版廠商之一,為了給客戶提供穩定可靠的大數據軟件,我們積極參與 Apache 大數據項目的內核特性開發,并貢獻回饋到開源社區,多次在華為公司園區內組織 Apache 項目線下技術交流(2014年與陳超@七牛云技術總監,一起組織了杭州第一次 Apache Spark 技術 Meetup)
2016年華為將研究開發多年的大數據項目?CarbonData?開源,并捐贈給 Apache 軟件基金會,進入 Apache Incubator(孵化器),經過來自華為、Intel 、Talend 、交通銀行、上汽、攜程等眾多公司架構師和開發人員的努力,CarbonData?經過不到一年的時間,于2017年4月順利地由孵化器畢業,正式成為 Apache 社區頂級項目,并由我本人擔任此項目的 PMC Chair(項目委員會主席)。在此要特別感謝3位 Apache mentors(孵化項目導師 - 法國人 JB,印度人 UMA,印尼裔 Henry)對?Apache CarbonData?項目的貢獻和幫助。同時也要感謝 Apache Kylin 項目負責人 Luke Han (韓卿),前期給了不少指導。這幾年參與 Apache 項目,積累了大量經驗,希望可以幫助到更多項目進入 Apache 孵化,回饋社區。
?
由于端到端負責過 Apache 孵化項目,且參與過多個 Apache 社區項目(Hadoop 、Spark 、Flink 、Hive等),我很快被 Apache Incubator(孵化器)接納為 PMC 成員。除了未曾擔任 Apache 基金會的 Board Member 和 Officers,基本上 Apache 其他所有的角色,我都擔任過。
(User->Contributor->Committer->PMC->PMC Chair->Member->IPMC)
?
04Apache 經驗共享
?
Apache Way 總結:
?
?
?
開源項目到 Apache 的關鍵路徑:
?
?
?
Apache 、Linux 開源社區的對比分析:
?
?
?
本人總結的一套 Committer 腳本:
git clone
https://git-wip-us.apache.org/repos/asf/projectname
cd projectname
git remote rename origin apache
git remote add github
https://github.com/apache/projectname
git config --local --add remote.github.fetch '+refs/pull/*/head:refs/remotes/github/pr/*'
git fetch --all
git checkout -b pr-1062 github/pr/1062
git rebase -i apache/master (-i squash some commits.)
pick fda59df commit 1
squash x536897 commit 2
squash c01a668 commit 3
(This means, you take the first commit, and squash the following onto it)
git log -- get the commit info
git checkout apache/master
git cherry-pick 0e1c3b09ccc3493ca50a0a41ae993260a9a30493(To be merged PR's commit info)
git commit --amend -m "PR title" -m "PR description" -m "This closes #1062"
git push apache HEAD:master
?
05感想、收獲
?
-
早期國內有 Apache 孵化項目經驗的人還比較少(2015年時只有 eBay 中國研究院的3個 Apache 孵化項目),不像現在這么多(目前源自中國的 Apache 頂級項目有8個,Apache 孵化項目有6個),有些問題可以直接問,少走彎路。當時?CarbonData?在孵化時,也碰到了很多問題和挑戰,解決問題的辦法就是去仔細閱讀 Apache 官網的規定,以及去學習社區 Mailing list(郵件列表)大家曾經討論過的問題。
-
在 Apache 社區絕大多數人都是很?OPEN?和?NICE?的,當有人對你的項目提出問題時,其實別人是在幫助你的項目,切記不能用帶著情緒化的語言去回復和爭吵,且回復時就在公共的 mailing list 里公開答復。(之前有一個例子,項目成員私信去和提問題的人確認問題,最后被人家拿出來說事,被質問為什么不在社區公開討論,結果囧大了!)
?
-
參與 Apache 開源社區,確實要花很多時間去做貢獻,但相比收獲、學習到的知識、朋友、人脈等,一路走來,絕對值得!
?
社區福利(數量有限,僅限前50名):如想獲得華為云 ModelArts 免費云資源使用券,可以聯系?chenliang613@apache.org?。(ModelArts 是面向AI開發者的一站式開發平臺,提供海量數據預處理及半自動化標注、大規模分布式訓練、自動化模型生成,及端-邊-云模型按需部署能力,幫助用戶快速創建和部署模型,管理全周期 AI 工作流)
購買華為云請點擊立即購買
轉載于:https://my.oschina.net/u/4146444/blog/3060686
總結
以上是生活随笔為你收集整理的一名开源拓荒者的 Apache 之旅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Navicat Premium 导入SQ
- 下一篇: 完美解决织梦CMS加入lian666自动