歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux業界

我是怎麼做開源的

      我最近發現我對開源(Open Source)的看法和我的很多朋友不一樣。我對開源的態度一貫是:

      這段代碼能夠很好的解決我的問題。假如它也能解決你的問題,我很欣慰。但是假如它不能,我願意做一些改進,但是我也會拒絕一些讓代碼變的臃腫的的想 法。最後,做一個成熟的庫大約需要幾年的時間。成熟我是指足夠的穩定來發布一個最終的版本,或者有人做了一個高級版本。我不認為一個開源的項目能說明我在 這個行業的成就。

      但是和別人的交流我發現他們不願意做開源的原因如下:

1. 代碼不夠成熟

2. 不想寫文檔

3. 不想被需求和各種郵件占用太多時間

      我完全理解這幾點,但是我開發生涯中的一些事件改變了我的看法。

      那是我的第一個開源項目,我一直不敢拿出來開源,直到我把他用在生產環境中穩定的運行了一年,我有足夠的自信相信我這個項目能解決一些問題。它是一 個 .NET 對象關系映射庫,叫做 NORM,在2005年發布。我相信你沒有聽說過這個項目。我花了好幾個月的時間來完善這個項目,但是沒有人在乎。然後我就不想再發布什麼東西了。我現在 相信不論我發布什麼都不會引起人們的注意,所以我最好還是盡快的發布,如果不行,那就承認失敗,然後繼續前進。

      沒有人會為自己寫文檔,他們為其他將要用這個軟件的人寫文檔。人們很少從使用他們開源軟件的人那裡得到什麼。這個簡單的現實導致文檔的稀缺。但是,缺乏文檔不代表你不能開源你的軟件,它只是意味著你的軟件推廣起來會比較慢。

      我兩年以前開源了 expectations, 沒有任何文檔,並且在一年之內都沒有任何文檔。在這一年中,很少有人關注了這個項目。但是這個項目確實對一些人來講很有用,所以還是有一些應用。最終,有 一些用戶開始產生一些 pull request,提交一些文檔。他們的共享讓我產生了撰寫文檔的動力。我沒有動力為潛在的使用者提供文檔。但是我把代碼放在那裡,有人用了,這個就讓我產 生了動力,因為這些使用者實實在在就在那裡。

      如果你很幸運的創建了一個廣泛使用的項目,你將毫無疑問的被各種郵件淹沒。剛開始,我相信任何人都會被這種成功沖昏頭腦,認為增加的工作量不是什麼 大問題。但是慢慢的你會發現,這就像是第二份全職工作,然後你會想著究竟是為了什麼?在開發者中的聲譽並不能讓你提早退休。不管怎樣,這不能成為你不做開 源的借口。還有,我相信 GitHut 已經改變了游戲規則。如果你的項目托管在 GitHut,當你打算停止維護這個項目的時候,會有很多人願意 fork 你的項目,繼續開發的。

      我並沒有因為離開自己的項目而良心不安。如果你的想法真的有價值,會有人願意接替你的位置的。很有可能是有幾個人願意接替你,然後最強的那個生存了下來。我見到的類似的項目有 Capistrano。Jamis Buck 在2009年高調的離開了這個項目,但是我知道還是有很多人到今天還在使用它。我堅信假如你的項目真的很好,即使有一天你決定去做其他事情,這個項目也會活的很好。

      我看起來不像是一個開源的好公民,過早的發布,過早的離開。如果真的是這樣的話,我願意接受批評,但在我看來事實並不是這樣。

Copyright © Linux教程網 All Rights Reserved