2009-10-21 49 views
16

我問過一些開發人員他們不再維護或讓他們死亡,他們爲什麼不開源軟件並讓其他開發人員它轉發並加強它。或者至少不要讓它消失。「我不爲自己的代碼感到自豪」藉口不開放源代碼應用程序

大部分藉口都是關於代碼質量的。他們不想開源,因爲他們爲自己編碼的內容感到羞恥。 在我看來,如果軟件能夠正常工作,人們正在下載並使用它,這就足以說明軟件。沒有人爲自己的代碼感到自豪。如果任何人看着他們一年前的代碼,你肯定會決定現在可以做得更好。我已經使用了一些不錯的軟件不再存在。我覺得這是浪費良好的資源。

爲什麼一些開發人員更願意讓他們的軟件消失而不是將其提供給公衆?我能想到的一個原因是他們使用別人的IP,他們不想被暴露。是否應鼓勵開發者開放他們的軟件來源,如果他們現在或未來無意從中獲利?

+6

- CW可能是 - 主觀和議論 – dirkgently 2009-10-21 22:35:31

+6

不是所有的主觀問題都需要關閉... – 2009-10-21 23:15:33

+3

討論問題應該關閉。這不是論壇,留言板或新聞組。還有很多真正的論壇,留言板和專門討論這些主題的新聞組;爲什麼鼓勵人們使用錯誤的工具*? – Shog9 2009-10-25 23:50:18

回答

8

有些人真的不希望他們的代碼受到批評,也不想清理它。儘管我同意這樣做有點合法,但它確實可以阻止有用的代碼走出社區。這不是表面證據,他們正在使用他們不應該使用的IP。

+0

「...不想清理它」 - 當然,開源的重點是讓其他人清理它?作者可能不會花費精力清理代碼庫,他們可能不會再次觸摸。 – DisgruntledGoat 2009-10-23 12:35:52

+1

但是你錯過了第一部分;作者可能不希望受到批評或批評他們的代碼。 – BobbyShaftoe 2009-10-23 15:53:23

+0

所有這些批評發生的事情,人們都害怕從哪裏來?我已經監視了CodePlex上的一些討論,並沒有看到任何。願意學習的編碼人員應該能夠吸收一些熱量並且欣賞反饋。不要生活在一個洞裏。 – 2009-10-23 19:37:48

8

也許是因爲打開一個軟件的代碼需要一些努力,他們不願意花費。

+0

把它交給喜歡這個軟件並願意付出努力的人。 – 2009-10-22 05:18:16

3

沒有人爲自己的代碼感到滿足? Don't believe you

我們將鼓勵您開發程序員的三大優點: 懶惰,急躁和傲慢。 - Larry Wall

+0

+1引用Larry Wall(!) – ZJR 2009-10-21 23:04:43

3

我可以理解你從哪裏來。該軟件可以工作,而這纔是真正重要的。我也可以理解開發者來自哪裏。許多程序員在編碼時會發展壞習慣(即不評論)。有時候我自己有罪。在我看來,我認爲這不應該限制他們保持應用程序的封閉源代碼。如果你打開你的來源,你打開了所有新的可能性的大門。如果你不再爲某個程序工作,爲什麼不發佈源代碼?人們可以採取你所知道的,應用它,使它變得更好,並最終使你的應用程序保持最新,並且比以前更好。總的來說,開發者應該更加公開他們的源代碼,尤其是如果沒有盈利的話。

+0

這也是一種非常好的學習方法,開發人員可以改進代碼,修復錯誤,添加註釋等。回過頭來看看代碼,然後轉到「該開發人員使用了更好的算法,更優化的功能......我正在學習。「通過查看其他人如何修改自己的代碼,您可以成爲更好的代碼。 – 2009-10-22 05:28:32

9

如果有人真的希望發佈代碼但感到羞恥,那麼合理的解決方案是從源代碼中刪除其作者身份的所有痕跡,然後將其發佈到公有領域或將版權分配給其他人。

這且不說,有可能種種原因對一個作家不釋放源代碼:

  • 也許代碼真的是廢話,筆者不希望未來潛在的僱主他交往/她一起。
  • 也許作者對他/她的同事的(可能的)批評過於敏感。
  • 也許作者認爲代碼不值得爲保存而努力,並且試圖阻止其他人浪費他們的時間。
  • 也許有潛在的知識產權問題是,筆者並不想花時間整理出:
    • 一些開源代碼可能已經被複制,而不適當的歸屬或根據錯誤的許可證,
    • 一些封閉源代碼代碼可能已被複制,
    • 可能已經使用了一些專利方法。 (另外:任何人都可以確定他們的代碼沒有使用專利方法嗎?不!)
    • 作者真的不記得他/她在N年前可能採取了哪些捷徑......
  • 也許代碼包含筆者並不想透露的祕密:
    • 也許它不會做什麼,他/她聲稱它在一些研究論文,或一些這樣的
    • 也許他/她認爲它可能會讓競爭對手(例如其他學者)看到他的代碼使用的「祕密醬油」技術的優勢。
  • 也許作者的夢想,有一天他/她將能夠出售大量的錢的代碼。
  • 也許作者夢想有一天他/她會找到時間和精力來修復代碼,在開放源代碼許可下發布,並像Linus一樣出名。 (是啊.. 萊納斯!)

或許筆者只是簡單地不感興趣,而「我很慚愧我的代碼」的藉口只是一種策略,使你走了:-) 。

+5

我認爲最後一段指出了它。 – 2009-10-21 23:23:42

+0

刪除所有權,名稱,..等等的所有痕跡,並將其交給像codeplex.org這樣的組織。並且不要打擾清理代碼。這絕不會發生。這與五年前決定清理車庫或閣樓類似!你總會發現一些更重要和更有趣的事情。 – 2009-10-22 05:23:10

0

我最近遇到了這個問題,並得出結論認爲將代碼放在那裏並使其可被發現可能只是第一步。如果沒有人對此感興趣,那麼您並沒有失去任何東西,並且如果您開始累積用戶羣,則可以隨後改進文檔和代碼質量。

我認爲人們理解軟件開發所涉及的資源約束,並且能夠智能地制定和解釋折衷比預先投入所有時間來編寫100%良好的嗅覺代碼更重要。有時你需要加速 - 這就是重構的目的!

2

我已經回答了發佈的問題,按順序。是的,這些都是有見地的。

[你有這個作爲一個研究的地方嗎?這很有趣。只是模糊的參考和量詞不是很令人興奮。]

也許代碼是爲了好玩,學習,當時的工作盈利而編寫的,因爲「它可以完成」,或者出於其他一些激勵原因。它有一個目的;也許目的已經消失 - 以及背後的動機。它需要努力尋找舊代碼,發佈舊代碼,並回答愚蠢的電子郵件或有關舊代碼的問題。 (對某些人來說,它需要努力不在乎別人怎麼想。)

我會猶豫的想法跳的代碼存隱患「侵犯知識產權」。沒有更好的證據,這是一個不公平和毫無根據的假設。

鼓勵?也許。強制?編號代碼是一種創作,並且與任何藝術一樣,它是創作者的產物。除非他們將權利轉讓給其他人,否則這是作者的工作。也許它被認爲是可怕的,並永遠被掩埋 - 就這樣吧。其他藝術形式也一樣。

+1

隱藏的IP可能是非常無意的。您可能會從其他項目中複製一些代碼,但不知道您侵犯了某些版權。 (旁註:SCO試圖起訴Linux) – 2009-10-22 05:35:30

+0

不再...(關於SCO: - /) – 2009-10-22 06:43:41

+0

回覆:SCO的旁註 - SCO從未能夠在Linux代碼庫中生成任何侵犯版權的實例。 – 2010-06-17 07:56:04

3

我完全可以理解這一點。

十年前我爲志願者組織編寫了一些軟件。他們仍然在使用它,它「有效」。但它很醜。我現在知道如何設計軟件。甚至不得不對它進行更新和修改是很痛苦的。我想花一些時間清理它,但我沒有時間。我真的不希望任何人接管這個項目,因爲我很尷尬地讓我的名字與代碼相關 - 即使我的名字實際上並不在代碼中。它仍然反映在我身上,儘管我現在可能會更清楚。

從邏輯上講,我知道的更好。這種想法很愚蠢。但我無法克服心理。這是非常真實的,這是一個艱難的困境。我不會假設知識產權或隱藏動機的問題。

0

我認爲這可能是因爲開發人員認爲軟件沒有死機,他/她可以重新開始編寫和使用它。

但這裏真正的問題是:在開放源代碼下釋放源代碼以幫助其他人的努力?有時候,應用程序本身太過本地化,或者記錄不完整,開發人員認爲它沒有足夠的幫助。維護開源項目可能很難(你必須記錄它,控制它,修補它等)。

此外,應用程序本來可能會使用一些專有代碼(當您爲其他人工作時正在開發的代碼),並且他/她不能在沒有適合法律的情況下發布它。

最後但同樣重要的是,當有人批評他們的代碼時,開發人員會很高興嗎?我認爲沒有人喜歡這個。

相關問題