Qomo項目中有很多人給我mail,說自己是新手,沒有多少經驗,不知道能不能加入Qomo。
關於這個問題,首先給個答案,只要願意參與開源項目,即使是不會寫Code,也能夠在項目中找到自己的位置。Qomo亦然。我不會拒絕任何人加入Qomo的申請,沒有回mail並不表明你被否決了,只因為(目前)項目還沒有正式展開,因此也沒有項目角色的指派。
之所以提到這個問題,是因為今天在CCF裡看到另一個開源項目(shellweb)的負責人alexe寫了一篇給新手的貼子,覺得他對這個問題的解釋能夠讓新手們在開源項目中找到一條自己的道路:
(轉貼自CCF)
---------------------
看到有很多人問關於初學者的問題,在這裡就忍不住要解釋一下。
其實每個開源項目對於你所擁有的能力都沒有任何要求,由於項目是有分工的,所以有很多的工作需要人來做。這樣,對於不同能力的人自然會有不同的可以勝任的工作。
你是一個初學者,當然有初學者可以勝任的工作。例如,項目周邊的事情,更新各種項目的資料,負責簡單的答疑等等。如果,你想加入進開源項目,自然應該從這裡做起,慢慢熟悉項目。當你熟悉項目後,自然就比其他人有更多的優勢來參與近開發工作,這時你想升級為開發人員就自然容易很多。
我也清楚有很多的初學者加入前都會說:”我是初學者,可能幫不上什麼忙?“但是,這恰恰錯了,你是初學者那麼自然就不會有很難的任務給你,因為這樣的話項目就停滯了,誰也不會那麼做,你自己也不願意承擔。
關鍵點:在於你自己。加入項目後,由於各自都各自的想法或者工作,所以沒有人來過問你。但是,你卻可以自由的根據自己的能力來提問,而且在項目中,應該會有很多相應的文檔可以瀏覽,或者別人的討論可以看到,這時你就可以更加輕易的理解項目,關鍵點在於你自 己,是否上心,只要稍微有心就可以負責某些工作,再稍微用點心,你就會發現自己可以編寫某些方面的代碼。當你真的有心的話,你就可以融入項目中,這時誰也不會在意你的能力,而且項目離開了你就是一種損失,因為某些方面的工作沒有人來做了。
大家在同一個項目中的主要目的是為了讓項目成功,對於學習大家都是贊同的,因為只有學習了,才可能更加有助於為項目的成功出力,而且誰都需要學習。
但是,如果你只是學習,這裡的學習僅僅是......怎麼表達呢?在一旁看?或者只是詢問別人某些事情?我想那根本不是學習,那隻是你自己的一種幻覺,因為你根本沒有學習到什麼東西。你從不動手,你從不想去如何解決某些問題,你又不負責項目的任何工作,你 只是看?那和一個普通的旁人有什麼區別呢?你高興了可以來看看,不高興就放在一邊,這樣也能叫做學習?再說,你沒有付給任何人工資,別人又怎麼能主動的來教你什麼呢?
所以,在開源項目中的學習就是實際的動手,實際的討論,實際的負責,不斷的在實踐中學習到各種知識。
上面談了這麼多,不清楚對於初學者有沒有協助認識開源項目。
也許對於初學者來說,更加註重的是得到了什麼,對於自己的付出並不在意,而開源項目似乎更加強調你付出了什麼。
在我看來,其實這兩點都是各自被自身的想法而擴大化了,其實參與一個開源項目,你在付出的同時你肯定得到了相當的知識與經驗(這可以說是你人生的資本,如果你能聲稱你參與了linux核心的編寫,相信你的工作之路會十分的順暢,如果你聲稱參與了firef ox的編寫,我想同樣也不壞);而你在開源項目中,大家在協助你的同時,也得到了你的協助。
這樣,才是一種正常的良性迴圈。