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

CM創(chuàng)始人:在 Github 上成為一個(gè)開源服務(wù)的園丁

開發(fā)
筆者做了很多開源工作,但是我對(duì)開源最有價(jià)值的貢獻(xiàn)并不是寫代碼。寫補(bǔ)丁是開源最簡(jiǎn)單的一項(xiàng)工作,實(shí)際上,除了寫補(bǔ)丁以外,其他所有開源的工作都非常難。

本文發(fā)布在CM創(chuàng)始人,安卓全球定制之父,開源狂人Steve Klabnik的個(gè)人博客上,闡述了他自己在Github上親身為Rails開源服務(wù)的經(jīng)歷和看法,值得國(guó)內(nèi)為開源做支持的人借鑒,尤其是其中對(duì)篩選問(wèn)題的算法值得一試。

[[111945]]

CM創(chuàng)始人:如何在Github上成為一個(gè)為開源服務(wù)的園丁

筆者做了很多開源工作,但是我對(duì)開源最有價(jià)值的貢獻(xiàn)并不是寫代碼。寫補(bǔ)丁是開源最簡(jiǎn)單的一項(xiàng)工作,實(shí)際上,除了寫補(bǔ)丁以外,其他所有開源的工作都非 常難,比如,跟蹤Bug,管理郵件列表(mailing list),開發(fā)文檔(documentation),以及其他管理任務(wù)等等。本文將給大家介紹一下筆者在開源這條道路上學(xué)到的經(jīng)驗(yàn)和教訓(xùn)。

讓 我們先回到RailsConf 2012大會(huì)上,筆者作為一名與會(huì)者參加了小組討論,當(dāng)時(shí)在Github的 rails/rails開源目錄下有許多小毛病(issues),數(shù)量大概有 800個(gè),而且不少一直都沒(méi)有得到解決。因此,他們非常希望能解決兩個(gè)問(wèn)題,一個(gè)是如何讓這些問(wèn)題的數(shù)量有所下降,另一個(gè)就是如何讓開源社區(qū)提供幫助。***,他們覺(jué)得***的辦法,就是能組織一個(gè)“問(wèn)題排除團(tuán)隊(duì)”,這個(gè)團(tuán)隊(duì)的工作,就是優(yōu)先解決問(wèn)題。筆者也自愿加入了這個(gè)團(tuán)隊(duì)。

但是,“問(wèn)題 處理”到底準(zhǔn)確的意思又是什么呢?好吧,在一個(gè)像Rails這么大的項(xiàng)目里面,會(huì)有許多小毛病得不到解決,有些問(wèn)題***就不了了之了, 有些則需要提供更多信息,等等,一般程序員不太喜歡干這種“臟活累活”,所以,此時(shí)這個(gè)項(xiàng)目就需要一個(gè)“園丁”,他的工作的就是去“除草”,而且是經(jīng)常、 有規(guī)律地除草。

不過(guò),在我們討論如何“除草”之前,先來(lái)搞清楚自己手頭上到底是個(gè)什么樣的“花園”吧。

這些問(wèn)題Issues什么?

如果你***開始一個(gè)項(xiàng)目,那么就需要搞清楚問(wèn)題應(yīng)該是什么,對(duì)于不同項(xiàng)目來(lái)說(shuō),問(wèn)題是不一樣的。舉個(gè)例子,在Rails項(xiàng)目倉(cāng)庫(kù)里,我們的問(wèn)題只為 解決Bug服務(wù)。我們把問(wèn)題解決放在Stack Overflow(棧溢出)處理,新功能和要求則放在rails核心的mailing list里面。而在Rust項(xiàng)目倉(cāng)庫(kù)里面,我們會(huì)在issues里面處理各種問(wèn)題,比如功能請(qǐng)求,元問(wèn)題……等等。對(duì)于其他某些開源倉(cāng)庫(kù),解決所有的問(wèn)題 并不可行,可能還有一些開源倉(cāng)庫(kù),一個(gè)問(wèn)題都沒(méi)有,比如Sequel。

我個(gè)人比較喜歡的處理開源問(wèn)題的方式,就是Rails這種。理想情況下,你的項(xiàng)目是無(wú)瑕疵的,你也可以專門找一個(gè)地方去討論一下項(xiàng)目功能。但事實(shí)上,在Issues上提前規(guī)劃好,是開源的***步。

定期照顧

那么,現(xiàn)在的問(wèn)題是,你如何處理800多個(gè)問(wèn)題呢?我所能知道的唯一方法,就是把所有問(wèn)題都過(guò)一遍。沒(méi)錯(cuò),我就是這么做的:我會(huì)花上周六或周日一整 天,進(jìn)入到Issues問(wèn)題列表,然后再右鍵點(diǎn)擊,把所有問(wèn)題逐個(gè)在新網(wǎng)頁(yè)標(biāo)簽里面打開。我會(huì)在一個(gè)網(wǎng)頁(yè)里面打開31個(gè)標(biāo)簽,里面有30個(gè)不同的 issues(問(wèn)題),之后再重新開一個(gè)新頁(yè)面。接下來(lái),我會(huì)進(jìn)入到每個(gè)問(wèn)題里面,把內(nèi)容全部閱讀一遍,包括評(píng)論。如果我完成了頁(yè)面***一個(gè)的標(biāo)簽,就會(huì) 把當(dāng)前頁(yè)面關(guān)閉,然后進(jìn)入下一個(gè)頁(yè)面,搞定其他的問(wèn)題,周而復(fù)始!

看看吧,人們都說(shuō)開源是一個(gè)富有魅力的工作,但事實(shí)上完全不是這么一回事兒。要是為開源工作,你需要把自己整個(gè)周末都搭進(jìn)去,閱讀800個(gè)問(wèn)題。

好了,不論以何種方式吧,一旦我把所有的問(wèn)題都過(guò)了一遍,就會(huì)對(duì)當(dāng)前Rails項(xiàng)目所遇到哪些類型的問(wèn)題有一個(gè)大致的了解。好了,現(xiàn)在我手頭上有了一大堆常見疑問(wèn),評(píng)論,還有各種問(wèn)題。

那么下一步我要做的,就是把所有工作再做一遍。

等一下,再來(lái)一遍?為什么呢?好吧,現(xiàn)在我不是該去處理問(wèn)題嗎?我不應(yīng)該趕緊干活,去解決實(shí)際問(wèn)題嗎?問(wèn)題是,在我真正著手解決問(wèn)題的之前,面前是 如此海量的問(wèn)題,我可能會(huì)遇到許多重復(fù)問(wèn)題,我可能不知道每個(gè)問(wèn)題里有哪些是無(wú)關(guān)痛癢的評(píng)論,我甚至也不知道哪些是普遍的常見問(wèn)題,總之呢,需要我要搞定 的事情,變得越來(lái)越困難了。

不過(guò),現(xiàn)在我已經(jīng)把所有的問(wèn)題都過(guò)了一遍,為了解決上面的問(wèn)題,我開發(fā)了一個(gè)算法來(lái)搞定:

1、這個(gè)問(wèn)題是否是一個(gè)功能請(qǐng)求?如果是的,復(fù)制/粘帖一個(gè)我曾經(jīng)寫過(guò)的答案,然后把它們引入到Mailing list里面,然后點(diǎn)擊關(guān)閉。

2、這個(gè)問(wèn)題是否是在請(qǐng)求幫助?如果是的,復(fù)制/粘帖一個(gè)我曾經(jīng)寫過(guò)的答案,然后把它們引入到StackOverflowt里面,然后點(diǎn)擊關(guān)閉。

3、這個(gè)問(wèn)題是否是Rails以往版本的問(wèn)題,而非當(dāng)前支持的版本?如果是的,復(fù)制/粘帖一個(gè)我曾經(jīng)寫過(guò)的答案,然后詢問(wèn)有沒(méi)有人知道該問(wèn)題是否會(huì)應(yīng)該Rails的可支持版本。

4、這個(gè)問(wèn)題是否提供了足夠的信息,去重現(xiàn)錯(cuò)誤?如果沒(méi)有,復(fù)制/粘帖一個(gè)我曾經(jīng)寫過(guò)的答案,然后詢問(wèn)有沒(méi)有人能夠提供一個(gè)錯(cuò)誤重現(xiàn)。

5、如果這個(gè)問(wèn)題已經(jīng)有了錯(cuò)誤重現(xiàn),而且它并非發(fā)生在在***的Rails上面,嘗試一下HEAD請(qǐng)求,如果之后還發(fā)生這個(gè)問(wèn)題,那么就留一個(gè)評(píng)論,告訴該問(wèn)題發(fā)布人這個(gè)仍將是個(gè)問(wèn)題。

6、如果我們到了這一步,可以判斷出,現(xiàn)在這個(gè)問(wèn)題絕對(duì)是一個(gè)很明確的問(wèn)題了。我會(huì)留一個(gè)評(píng)論,告訴該問(wèn)題發(fā)布人我會(huì)處理解決,然后把這個(gè)問(wèn)題抄送給Rails相關(guān)子系統(tǒng)的維護(hù)員,這樣他們就能找到屬于各自處理的問(wèn)題。

原文鏈接:www.leiphone.com/how-to-be-an-open-source-gardener.html

責(zé)任編輯:林師授 來(lái)源: 雷鋒網(wǎng) 編譯
相關(guān)推薦

2014-04-24 13:54:04

GitHub創(chuàng)始人

2013-10-29 09:05:30

OpenStack亞馬遜API開源云

2013-04-23 10:00:45

創(chuàng)業(yè)創(chuàng)始人

2011-01-30 20:02:44

YunTable吳朱華云計(jì)算

2010-03-15 14:36:07

Python編程語(yǔ)言

2023-11-21 11:30:38

OpenAI執(zhí)行官

2022-03-21 09:40:04

數(shù)據(jù)庫(kù)開源社區(qū)開源項(xiàng)目

2022-08-29 08:44:39

RocketMQ數(shù)據(jù)結(jié)構(gòu)

2010-05-04 16:22:45

Unix系統(tǒng)

2024-06-25 10:41:03

2009-05-14 17:16:45

MySQL開源數(shù)據(jù)庫(kù)

2009-05-14 10:38:40

MySQLMonty Siden開源數(shù)據(jù)庫(kù)

2010-06-17 15:43:50

UML創(chuàng)始人

2013-04-08 10:38:00

2015-09-06 12:07:35

Tiny框架開源

2012-06-14 16:21:24

LinuxLinus Torva

2013-01-09 17:19:45

Win 8操作系統(tǒng)

2022-12-06 07:18:56

DedeCMS創(chuàng)始人林學(xué)

2010-03-17 09:42:39

Twitter創(chuàng)始人

2013-07-29 09:16:33

點(diǎn)贊
收藏

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