2010-03-14 68 views
4

由於維基百科是開源的,我可以修改任何我想要的。但是如果有人刪除,添加不良內容,修改有用的內容會發生什麼?維基百科做什麼來防止這種情況發生?開源公司如何避免有害貢獻並找到有用的貢獻?

最後一個問題是可用於任何其它的開源軟件:LINUX,PHP等,他們怎麼知道它的貢獻是有用的,哪些是有害的? 謝謝。

+2

通過審查它..並保持每一個變化的歷史.. 看看http://en.wikipedia.org/wiki/Wikipedia:關於 –

+0

爲什麼會問StackOverflow一個關於維基百科?維基百科本身有許多解釋性頁面,例如http://en.wikipedia.org/wiki/Wikipedia:About#Strengths.2C_weaknesses.2C_and_article_quality_in_Wikipedia –

+1

不要混淆維基百科與開源項目的合作方式。 Evryone可以下載代碼(並在本地進行修改),但不能將代碼上傳到項目中。您發送您的貢獻,運行該項目的人員在審覈後確定進入的內容以及保留的內容。 – MAK

回答

6

開源開發與維基百科不太一樣。首先,開發人員仍然可以控制他們接受的代碼。另一方面,沒有什麼可以阻止您通過自定義更改創建自己的版本。這可以在向上遊提交之前對其進行測試,或者對於應該或不應該進入的內容有不同意見。

開放源碼開發人員通常會查看,運行並測試他們收到的所有代碼,並依靠聲譽來確定某人的代碼需要多少仔細審查。

Linux內核是一個很好的例子。我用Con Kolivas的補丁集運行一個內核。這些補丁可能永遠不會被接受到主內核中,但他會在自己的網站上保存補丁以防有人想要使用他的修改。這並不像他創建了一個全新的內核,他只是需要不斷更新補丁,以便他們仍然可以工作。

Linus Torvalds的介紹一些這些想法在他的谷歌技術談論他的Git VCS:
http://www.youtube.com/watch?v=4XpnKHJAok8
特別有趣的是他的一個「信任網」和他的任命負責人的某些部分的戰略的概念內核(例如,Alan Cox曾經負責TTY代碼,並親自批准了該部分代碼的所有補丁)。

Eric S. Raymond還撰寫了大量有關開源開發的資料一般來說。他的相關論文在這裏列出:
http://catb.org/esr/writings/homesteading/

+0

謝謝(全部)你的時間 –

3

審查過程

在維基百科的情況下,這是一個特設的方法,通過與一些例外同行做。有較強爭議的頁面需要審覈,更改必須獲得批准。

同樣,當一個補丁被提交到一個開源項目,一個審查過程做是爲了確保補丁不增加新的bug或不是惡意的。當然,審查過程永遠不可能是完美的,並且可能會發現修補程序可能導致的所有可能的錯誤,但通常會在尊敬的開源項目中觀察到盡職調查。

2

有項目如何開源保持了惡意代碼一個典型的例子,當一個攻擊者試圖補丁提交到包含允許root訪問權限後門的Linux內核。有關於企圖攻擊的文章here

發現當警報評論家注意到了可疑的變化。見here。惡意更改在進入官方內核版本之前就已被捕獲。

0

看到優秀的「生產開源軟件」一書的code review部分。

它歸結爲有一個版本控制系統(跟蹤和需要還原更改時),並已具備了良好的代碼審查制度。