一窺開源 Python/ target=_blank class=infotextkey>Python 項目保持平穩(wěn)運行的社區(qū)幕后。
Jannis Leidel 是 Jazzband社區(qū)的一部分。Jazzband 是一個協(xié)作社區(qū),共同承擔(dān)維護(hù)基于Python的項目。
Jazzband 的誕生源于長期獨自維護(hù)一個開源項目的壓力。Jannis 是“roadie”,這意味著他負(fù)責(zé)管理任務(wù)并確保團(tuán)隊中的人可以在他們想要的時候參與。
Jazzband 并不是他的第一個開源志愿者工作——他是前 Django核心開發(fā)人員,Django 軟件基金會董事會成員,編寫了許多 Django 應(yīng)用程序和 Python 項目,曾是pip和virtualenv核心開發(fā)人員和發(fā)布經(jīng)理,共同創(chuàng)立了Python 打包機(jī)構(gòu)Python Packaging Authority,還擔(dān)任過PyPI管理員。在社區(qū)方面,他共同創(chuàng)立了德國 Django 協(xié)會,擔(dān)任DjangoCon Europe2010 聯(lián)合主席,在多個會議上發(fā)言,并在去年擔(dān)任了Python 軟件基金會董事和聯(lián)席主席。
Moshe Zadka: 你是如何開始編程的?
Jannis Leidel:我開始接觸編程是在高中的常規(guī)德國計算機(jī)科學(xué)課程中,在那里我涉獵了 Turbo Pascal 和 Prolog。我很快就進(jìn)入了 Web 開發(fā)的世界,并使用 php3、Perl5和MySQL編寫了一些小型網(wǎng)站。后來在大學(xué)里,我在從事媒體藝術(shù)項目時再次學(xué)習(xí)了編程,發(fā)現(xiàn)Ruby、Perl 和 Python 特別有用。我最終堅持使用 Python,因為它的多功能性和易用性。從那時起,我很高興能夠在我的職業(yè)生涯中使用 Python 和開放 Web 技術(shù)(html/JS/css)。
Zadka: 你是如何開始接觸開源的?
Leidel:作為大學(xué)藝術(shù)項目的一部分,我需要一種與各種 Web 服務(wù)對話并與一些電子設(shè)備交互的方法,但發(fā)現(xiàn)我之前的 PHP 技能無法勝任這項任務(wù)。因此,我參加了有關(guān)使用 Python 編程的課程,相比庫,我對學(xué)習(xí)更多有關(guān)框架如何工作更感興趣,因為它們進(jìn)一步體現(xiàn)了我想了解的最佳實踐。特別是,新生的 Django Web 框架對我很有吸引力,因為它傾向于一種務(wù)實的方法,并為如何開發(fā) Web 應(yīng)用程序提供了大量指導(dǎo)。 2007 年,我作為學(xué)生參與了 google Summer of Code for Django,后來為 Django 及其可重用組件生態(tài)系統(tǒng)做出了更多貢獻(xiàn),不久我也成為了 Django 核心開發(fā)人員。在完成學(xué)位期間,我能夠利用這些技能成為一名自由職業(yè)者,并花時間在 Django 社區(qū)的許多不同部分工作。在那時,橫向移動到更廣泛的 Python 社區(qū)不過是很自然的。
Zadka: 你的日常工作是什么?
Leidel:我是 Mozilla 的一名軟件工程師,致力于為 Firefox 數(shù)據(jù)管道開發(fā)數(shù)據(jù)工具。實際上,這意味著我在更廣泛的 Firefox 工程團(tuán)隊中工作,從事各種內(nèi)部和面向公眾的基于 Web 的項目,這些項目幫助 Mozilla 員工和社區(qū)成員理解 Firefox Web 瀏覽器發(fā)送的遙測數(shù)據(jù)。我目前的部分重點是維護(hù)我們的數(shù)據(jù)分析和可視化平臺,該平臺基于開源項目 Redash,并對其做出貢獻(xiàn)。我參與的其他項目是我們的下一代遙測系統(tǒng)Glean和一個允許你在瀏覽器(包括 Scientific Python 堆棧)中進(jìn)行數(shù)據(jù)科學(xué)的工具Iodide。
Zadka: 你是如何參與 Jazzband 的?
Leidel:早在 2015 年,我就對單獨維護(hù)很多人所依賴的項目感到沮喪,并看到我的許多社區(qū)同行都在為類似的問題苦苦掙扎。我不知道有什么好方法可以讓社區(qū)中更多的人對長期維護(hù)感興趣。在某些情況下,我覺得新的“社會編碼”范式的社會性的不足,而且常常是孤立的,有時甚至對新老貢獻(xiàn)者來說都是創(chuàng)傷。我相信在我們的社區(qū)中,我現(xiàn)在覺得無法容忍的不平等現(xiàn)象在當(dāng)時更加猖獗,這使得為貢獻(xiàn)者提供一個安全的環(huán)境變得困難——我們現(xiàn)在知道這對于穩(wěn)定的項目維護(hù)至關(guān)重要。我想知道我們是否缺少一種更具協(xié)作性和包容性的軟件開發(fā)方法。
Jazzband 項目的啟動是為了降低進(jìn)入維護(hù)的門檻,并簡化其中一些較無聊的方面(例如,圍繞 CI的最佳實踐)。
Zadka: 你最喜歡 Jazzband 的哪一點?
Leidel:我最喜歡 Jazzband 的一點是,我們確保了許多人所依賴的許多項目的維護(hù),同時還確保任何經(jīng)驗水平的新貢獻(xiàn)者都可以加入。
Zadka: Jazzband 的“roadie”的工作是什么?
Leidel:“roadie”是指處理 Jazzband 幕后所有事務(wù)的人。這意味著,例如,處理新項目的進(jìn)入、維護(hù) Jazzband 網(wǎng)站以處理用戶管理和項目發(fā)布、充當(dāng)安全或行為準(zhǔn)則事件的第一響應(yīng)者等等。“roadie”這個詞是從音樂和演出行業(yè)借來的,指的是支持人員,他們負(fù)責(zé)在巡回演出中幾乎所有需要做的事情,除了實際的藝術(shù)表演。在 Jazzband,他們的存在是為了確保成員可以在項目中工作。這也意味著,在有意義的情況下,某些任務(wù)是部分或完全自動化的,并且最佳實踐被應(yīng)用于大多數(shù) Jazzband 項目,如打包設(shè)置、文檔托管或持續(xù)集成。
Zadka: 作為 Jazzband 的“roadie”,你工作中最具挑戰(zhàn)性的方面是什么?
Leidel:目前,我作為“roadie”的工作中最具挑戰(zhàn)性的方面是實施社區(qū)成員提出的 Jazzband 改進(jìn),而不影響他們所依賴的工作流程。換句話說,Jazzband 越大,在概念級別上擴(kuò)展項目變得越困難。具有諷刺意味的是,我是目前唯一的“roadie”,獨自處理一些任務(wù),而 Jazzband 卻試圖阻止其項目發(fā)生這種情況。這是 Jazzband 未來的一大擔(dān)憂。
Zadka: 對于有興趣想知道能否加入 Jazzband 的人,你有什么想說的?
Leidel:如果你有興趣加入一群相信協(xié)作工作比單獨工作更好的人,或者如果你一直在為自己的維護(hù)負(fù)擔(dān)而苦苦掙扎,并且不知道如何繼續(xù),請考慮加入 Jazzband。它簡化了新貢獻(xiàn)者的進(jìn)入流程,提供了一個爭議解決框架,并自動發(fā)布到 PyPI。有許多最佳實踐可以很好地降低項目無人維護(hù)的風(fēng)險。
Zadka: 你還有什么想告訴我們的讀者的嗎?
Leidel:我鼓勵每個從事開源項目的人都考慮屏幕另一邊的人。要有同理心,記住你自己的經(jīng)歷可能不是你同齡人的經(jīng)歷。要明白你是全球多元化社區(qū)的成員,這要求我們始終尊重我們之間的差異。
via: https://opensource.com/article/20/2/python-maintained
作者:Moshe Zadka選題:lujun9972譯者:stevenzdg988校對:wxy
本文由 LCTT原創(chuàng)編譯,linux中國榮譽推出