偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何開始一個開源項目

移動開發(fā)
關(guān)于第二點(diǎn),程序員或非程序員同樣地需要能夠明白到底你需要什么,這樣他們就可以認(rèn)識到他們的貢獻(xiàn)(方向)。有時就像MongoDB解決方案架構(gòu)師Henrik Ingo告訴我那樣,"一個聰明的人可以貢獻(xiàn)很棒的代碼,但是項目成員不能理解它(代碼)",如果在組織內(nèi)承認(rèn)這個貢獻(xiàn)并且研究后理解,那么這就不是一個糟糕的問題。

[[121367]]

循序漸進(jìn)的指導(dǎo)

你有這個問題:你已經(jīng)權(quán)衡了開源代碼的優(yōu)劣勢,你也已經(jīng)知道你的軟件需要成為一個開源項目,但是,你不知道怎么做好的開源項目。

當(dāng)然,你也許已經(jīng)知道如何創(chuàng)建Github帳號并開始,但是這些事實(shí)上是做開源比較簡單的部分。而真真正正難的部分是如何讓足夠多的人,關(guān)注你的項目并給你的項目做貢獻(xiàn)。

接下來的原則是會指導(dǎo)你構(gòu)建和發(fā)布其他人愿意關(guān)注的代碼。

基本原則

選擇開源可能有許多原因。也許你希望吸引一個社區(qū)來幫助編寫你的代碼。也許,總所周知,你明白“開源--一個開發(fā)小團(tuán)隊內(nèi)部編寫代碼的倍增器。”

或者你只是認(rèn)為這是必須做的事,如同英國政府一樣。

無論何種原因,為了開源能夠成功,是必須要做很多的計劃去給將來使用這個軟件的人們。如同我在2005寫道,如果你“需要大量的人做貢獻(xiàn)(bug修復(fù),擴(kuò)展等等)”,那么你需要“寫一個好的文檔,使用易于接受的編程語言,和使用模型架構(gòu)”。

對了,你也需要寫人們在乎的軟件。

每天思考你依靠的技術(shù):操作系統(tǒng),web應(yīng)用框架,數(shù)據(jù)庫,等等。遠(yuǎn)離像航天這樣,特殊行業(yè)的小生態(tài)技術(shù),讓開源擁有更多的可能性以便外部的(人的)產(chǎn)生興趣和做出貢獻(xiàn)。更廣泛的應(yīng)用技術(shù),找到更多的貢獻(xiàn)者和用戶。

總的來說,任何成功的開源項目有以下共同點(diǎn):

1.***的時間時機(jī)(解決市場實(shí)際需求)

2.一個健壯,包括開發(fā)者和非開發(fā)者的團(tuán)隊

3.一個易于參與的結(jié)構(gòu)(更多詳見下文)

4.模塊化編碼,使新貢獻(xiàn)者更容易找到一個項目損壞的部分去貢獻(xiàn),比強(qiáng)迫他們理解巨大的代碼的每一部分要好

5.代碼可以廣泛應(yīng)用(或者達(dá)到一個狹窄的流行都比一個“自生自滅的”小生態(tài)更吸引人)

6.很好初始源碼(如果你放垃圾在Github,你也只會得到垃圾回報)

7.一個自由的許可證-我個人更愛Apache型的許可證,因為它讓開發(fā)者采用時障礙***,當(dāng)然許多成功的項目(如Linux和MySQL)使用GPL許可證也有很棒的效果。

上述幾項,是一個項目成功邀請參與者最難的部分。這是因為他們不是關(guān)于代碼而是關(guān)于人。

開源不單是一個許可證

今年,最棒的一件事是我讀到是來自 Vitorio Miliano (@vitor_io)的文章,他是用戶體驗交互設(shè)計師,來自德州的奧斯丁。Miliano指出,那些不在你的項目上工作的人才是“外行”,從本質(zhì)上說無論他們技術(shù)能力的級別,他們僅僅懂一點(diǎn)代碼(也沒關(guān)系)。

所以你的工作,他認(rèn)為,是使人加入,為你貢獻(xiàn)你的代碼變得簡單。當(dāng)闡述如何涉及非程序員到開源項目中,他指出項目的一些事項,項目領(lǐng)導(dǎo)應(yīng)需要有效地得加入一些任何技術(shù)或不懂技術(shù)的人到開源項目。

1.一種方法去了解你的項目價值

2.一種方法去了解他們可以為項目提供的價值

3.一種方法去了解他們可以從貢獻(xiàn)代碼獲得的價值

4.一種方法去了解貢獻(xiàn)流程,端到端

5.貢獻(xiàn)機(jī)制適用于現(xiàn)有的工作流

經(jīng)常,項目***想要集中于上述的第五步,卻不提供理解1到4的路徑。如果潛在的貢獻(xiàn)者不欣賞“為什么”,“如何”共享就變得不重要了。

注意,至關(guān)重要的,Miliano寫道,建立擁有一個通俗易懂的簡介的項目很有價值,如同任何時候通過簡介給每一個人演示可訪問性和包容性。他斷言道,這增加了額外的好處,文檔和其他的版本介紹的內(nèi)容變得通俗易懂。

關(guān)于第二點(diǎn),程序員或非程序員同樣地需要能夠明白到底你需要什么,這樣他們就可以認(rèn)識到他們的貢獻(xiàn)(方向)。有時就像MongoDB解決方案架構(gòu)師Henrik Ingo告訴我那樣,"一個聰明的人可以貢獻(xiàn)很棒的代碼,但是項目成員不能理解它(代碼)",如果在組織內(nèi)承認(rèn)這個貢獻(xiàn)并且研究后理解,那么這就不是一個糟糕的問題。

但是不會經(jīng)常發(fā)生。

你真的想領(lǐng)導(dǎo)一個開源項目嗎?

許多開源項目的領(lǐng)導(dǎo)提倡包容性,但是他們擁有任何事除了包容。如果你不想要人們做貢獻(xiàn),不要假裝開源。

是的,有時這是老生常談的話題。就像HackerNews最近的報道一個開發(fā)者的開發(fā)工作。

小項目可以得到很多,基本不需要很多人合作來完成。我看到了他們的進(jìn)步,但是我沒有看到我自己的進(jìn)步:如果我?guī)椭怂麄儯@然,如果我花費(fèi)了有限的時間在與那些計算機(jī)科學(xué)的碩士管理合作上,而沒有參與編碼,這不是我想要的。所以我忽略了他們。

這是一個保持理智的的好方法,但這個態(tài)度并不能預(yù)示著這個項目會被廣闊的分享。

如果你確實(shí)很少關(guān)心非程序員設(shè)計的貢獻(xiàn)、文檔,或者無論其他什么,那么請首先了解那些。再次強(qiáng)調(diào),如果這是實(shí)情,你的項目就不能成為一個開源項目。

當(dāng)然,排除感覺不總是可靠的。 就像ActiveState的副總裁Bernard Golden告訴過我,“一些將會成為開發(fā)人員將會對現(xiàn)有的“小集團(tuán)”開發(fā)團(tuán)體這種感覺感到恐懼,雖然這不一定正確。”

現(xiàn)在,若使了解開發(fā)人員為什么要貢獻(xiàn)并邀請做開發(fā),意味著更多的開源項目投資,更長久地生存。

本文鏈接:http://www.cocoachina.com/programmer/20141020/9970.html

責(zé)任編輯:chenqingxiang 來源: linux
相關(guān)推薦

2015-07-29 10:00:16

開源項目

2021-03-02 14:50:57

開源技術(shù) 項目

2024-07-02 08:28:17

開源代碼社區(qū)

2013-08-19 12:40:18

開源項目

2022-01-04 09:01:10

開源項目開源技術(shù)

2012-06-27 10:16:12

開源項目CodePlex

2015-09-11 10:29:13

開源項目閱讀

2015-09-08 10:32:21

開源項目選擇方式

2017-11-07 11:36:57

開源項目代碼

2021-11-17 09:54:10

代碼開發(fā)工具

2015-08-24 11:03:14

android建項目

2025-06-13 09:40:45

2015-07-28 11:02:15

androidapp開發(fā)

2022-02-28 08:23:02

開源項目重構(gòu)

2021-06-24 09:53:05

前端架構(gòu)開源

2016-09-26 17:26:20

2019-04-26 13:07:14

GitHub開源代碼倉庫

2020-04-10 10:15:29

算法開源Github

2024-03-22 08:51:36

分庫分表項目
點(diǎn)贊
收藏

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