如何理解開源精神?

不知道是否有人提過,我搜索了一下似乎沒有。

其實這個問題是因為看到了:http://www.zhihu.com/question/20557173/answer/15476888,這裡下面出現了關於開源,自由,黑客精神以及商業化的爭論。

關於開源的比較公認的看法我知道,只是想知道知乎的個體對於開源以及其衍生話題的看法,包括但不僅限於:

你是如何理解的?

開源和商業化是否矛盾?自由呢?

你是如何看待收費軟體的?(希望不要糾結於價格的高低,我知道很多軟體是天價,但是希望能僅就收費進行討論,我們就假設軟體的價格都是不會影響大家生活的合適價格好了。)

你是如何看待開源軟體的其他獲利方式的?(很多開源項目都有其他獲利方式,參與者也有。)

收費和其他獲利方式在你看來有何區別?

如果真的所有的東西都免費自由,互聯網怎麼活?(我們取極端假設,比如和那討論一樣,所有的公司都連廣告都不準發了,任何費用都不準收,反正就是不準從用戶那裡獲得任何錢)

等等……

發現邀請搜索方式有點奇怪啊,搜不到我想請的@乙振斐 和@馬大偉(還是我打開的方式不對),能有人邀請一下么?


有人創造了一個東西,然後拿出來,讓大家都能用,開源就是這麼簡單!

但是這個美好的想法的背後有很多細節,以下討論幾個主要的:

1、用這個東西是不是要尊重作者的勞動成果?

2、用這個東西,是否需要付錢給作者?

3、用這個東西是否受限制(比如說不能用於非科研途徑,不能用於商業途徑等等)?

4、用這個東西出了問題誰負責?

5、我能不能複製這個東西?

6、我能不能傳播複製的東西?

7、我能不能在這個東西的基礎上造新的東西?

8、我能不能傳播在這個基礎上新造的東西?

9、如果我在這個東西的基礎上造了新的東西,這個新東西的1-8應該怎麼回答?

大多數商業軟體對5-9的回答均是否定的,而前幾個問題,有各種各樣的回答。

我最熟悉的GPL對這幾個問題的回答(GPL是自由軟體基金會維護的公共許可證,至今已經有3個版本,自由軟體基金會同時還維護了LGPL、FDL等許可證):

1、需要,必須尊重作者的著作權,且不能篡改作品的命名和作者的署名

2、由作者決定

3、不受任何限制

4、使用者自己負責

5、可以,而且必須完整的複製(包括源代碼和所有的注釋、文檔、操作手冊)

6、可以,但必須以同樣的許可證(比如GPL)授權

7、可以

8、可以,但是必須以完整的形式,在同樣的許可證下傳播

9、對於衍生的作品,1-8的回答相同

由於GPL許可證要求傳播和修改後再傳播的作品必須以同樣的許可證發布,被人稱為病毒式的許可證:強制自由軟體不會變成不自由的軟體。

》》

插入一些內容:有人認為GPL的病毒式做法不妥,認為開源就應該給予使用者完全的自由,包括不開源的自由(比如BSD License、X11(MIT) License和超級簡單的Zlib許可證zlib License),甚至包括抹去原作者署名的自由,比如:

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2004 Sam Hocevar &

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.

《《

即便是在這樣的極端的開源許可證下,仍然沒有限定你是否可以收費。開源從來不涉及收費問題,但是現實是,如果你向大眾開源,不採用免費策略往往難以吸引到足夠的用戶;而開源的生命力就在於大眾的參與,因而,免費是開源軟體生存的優勢策略,在可預見的將來,絕大部分開源軟體依然會免費下去。

開源的精神本質,就是「我做了一個東西,大家來用吧」!這樣一種Geek的精神,同時也有讓世界變得更加美好的願望。

兩個著名開源軟體,Firefox和Blender,前生都是商業軟體,但是公司玩不轉了,要倒閉了;前者干不過捆綁在Windows里的IE,代碼的所有者(當年紅極一時的Netscape公司)就把其當時一個試驗性的Mozilla Suite開源了(P.S.本人用的第一個非IE的瀏覽器就是Firefox 0.9);後者則是主要開發者之一的Ton Roosendaal募集資金組建的Blender基金會買下,並開源了。後面的故事大家都知道了,開源使得原本註定要給公司陪葬的代碼獲得了新生。

對於商業軟體公司來說,程序員出賣的是自己的代碼,公司用代碼去賺錢,然後養著程序員;而對於開源軟體來說,程序員並不出賣自己的代碼,雖然主要作者的收入大都和軟體有關,但無一例外的都是他們的代碼屬於他們自己,而不是屬於公司。從這個角度來說,開源軟體的從業人員和傳統商業軟體是不同的,他們更多的是自由職業者,個人收入與對軟體的貢獻沒有直接關係。


強答一番

自由軟體精神包括兩個方面

1.用戶的自由:軟體不應該干涉和限制用戶對機器的完全控制。在fsf宣稱的的自由軟體哲學裡面這被叫做四個自由。當然,這包括用戶任意修改軟體行為的自由和再發布的自由,因此在這個層面上自由軟體必須是開源的,但不必須是copyleft的。

2.知識傳播的自由:copyleft。一個思想只有傳播才能體現價值,只有整個社區的合作才能帶來社區的發展。copyleft精神雖然是一種理想主義,但是這種理想主義是具有現實意義的,尤其是,在著作權和專利成了阻礙創新的壁壘,而不是鼓勵創新的動力的今天。

雖然邏輯上自由軟體和商業化不衝突,但實際上自由軟體精神是和商業化相悖的。

1.對於用戶的自由:雖然用戶願意為自由軟體付費,但是商業軟體不會允許用戶擁有再分發的自由。而且,為了進一步保障自己的利潤,商業軟體通常會在很大程度上限制用戶對軟體行為的修改。

2.對於copyleft:商業軟體當然不會願意進行copyleft授權,而且使用copyleft授權的軟體具有「外部性」。

我所理解的自由更多的是對知識自由傳播的自由,也就是copyleft的自由。因為現在的copyright模式催生了大量的專利流氓和畸形的出版商,尤其是學術出版領域。而知識傳播的自由自然會帶來用戶的自由。

前一段時間有個新聞,說某大學因為知網授權費太貴而停止付費,可見學術出版商的收費是有多麼驚人,而學術出版之所以能夠收取如此多的授權費用,是因為著作權在出版商手中,而不在作者手中。甚至作者為了看自己的文章,還需要向出版商付費,簡直是滑稽。

同樣的事情在軟體行業也大量存在,程序員親手寫出的代碼,著作權居然不在程序員本人手中,程序員不能隨意使用僱主的代碼,即使那是他自己寫的。

再比如,軟體領域的專利流氓,實際上創業者完全無法繞過這些專利,只能向專利持有者付費。這並不是應該是正常的商業模式。

cc-by-nc-sa 4.0


剛好寫過一篇博客《什麼是開源精神》: 什麼是開源精神 · Issue #167 · lifesinger/lifesinger.github.com · GitHub

歡迎討論


剛發現盆子你居然關注這個....

1.你是如何理解的?

我對開源精神的理解,或者說希望採取的開源方式是:在保持署名權利的基礎上,(並根據意願)儘可能放棄其他的權利。

2.開源和商業化是否矛盾?自由呢?

從「精神」角度講,開源和商業化不矛盾,和自由也不矛盾。

不過自由和商業應該是矛盾的,核心問題在於:我如果根據自由許可拿到了一款商業軟體,那麼我可以無限的賣它的拷貝或衍生物。甚至如果基於某些原因(幾乎是不可能的),我沒拿到它的源代碼,那麼默認我通過逆向手段對其進行分析修改不違反協議。

3.你是如何看待收費軟體的?(希望不要糾結於價格的高低,我知道很多軟體是天價,但是希望能僅就收費進行討論,我們就假設軟體的價格都是不會影響大家生活的合適價格好了。)

理所應當。一個「軟體」不僅只有技術,GUI設計,交互體驗等等,都需要經過長時間的打磨。

4.你是如何看待開源軟體的其他獲利方式的?(很多開源項目都有其他獲利方式,參與者也有。)

理所應當。開源並不意味著非商業,項目維護也需要投入成本。

4.收費和其他獲利方式在你看來有何區別?

沒有區別。但我個人認為銷售開源軟體有違開源精神。

4.如果真的所有的東西都免費自由,互聯網怎麼活?(我們取極端假設,比如和那討論一樣,所有的公司都連廣告都不準發了,任何費用都不準收,反正就是不準從用戶那裡獲得任何錢)

活不成……我覺得這不是開源,也不是自由,是霸權和暴力。

4.等等……

開源≠自由≠非商業。

我自己非常喜歡寫和用開源的東西,非常有成就感,看著一點點增長的star和fork,有人提交代碼,甚至哪怕有不斷增長的錯誤報告,都是非常有成就感的事情。不過我會有選擇的使用開源協議。

如何選擇開源許可證? - 阮一峰的網路日誌中有張圖片:

可以看出來的是,GPL許可具有無與倫比的傳染性……不止是修改源碼,實際上,任何使用了GPL協議的東西,在分發時都必須使用GPL許可,這幾乎禁止了GPL協議的組件出現在商業項目中,除非項目並不需要分發行為,比如一個網站。而到了GPLv3的時候,甚至移動設備的嵌入都受到了極大的限制,Linux還在使用GPLv2,Linus和RMS撕了好久……

我個人更傾向於圖片提到的BSD和MIT許可——大致的思路就是我除了署名外不做其他要求——所以我一般會選擇更簡單的CC協議,而且僅使用CC BY,它既是開源的,又是自由的。

PS:我也寫過很多不開源的東西,除了代碼簡單且丑之外,另一個原因是因為有些東西不是「技術性」的,但有「成果性」和「經驗性」,我不願意自己的勞動成果被人直接拿來用。

這個一點我不知道怎麼才能準確表述,如果舉例的話,就是比如一些修改器或者破解包(當然這些行為本身是違法的……),很多關鍵的東西要得到或許並不需要多高明的技術和技巧,但都需要經過大量逆向調試,對於這樣數據或者說結論我不願意公開。


我的理解,開源精神並沒有一個統一、公認的定義。即使都是開源軟體,根據協議的不同其精神也大相徑庭。


GNU Free Software是這麼定義其所謂的「自由」的:

1. 出於任何目的使用該軟體的自由;

2. 研究、修改該軟體以使其實現你的目的的自由;源碼的公開是實現此項的前提條件;

3. 傳播該軟體的拷貝以使其他人受益的自由;

4. 傳播你所修改過的軟體拷貝的自由。

說實話我覺得題主把很多東西混在一起了。首先,開源精神是不錯,但只是一種可能的選擇,而且主要是針對開發者而言的,和免費軟體不是一回事。沒有任何立場要求別人的軟體都開源。商業軟體沒什麼不好,開發者付出勞動掙錢,這是再正常不過的商業模式。開源的軟體要麼是為了興趣小打小鬧,要麼就是有非直接針對該軟體付費的商業模式(基金會,技術諮詢,用於自身業務…)來支持其開發。沒人能不吃飯整天幫別人寫軟體。

另一方面,大部分互聯網公司今天提供的已經不是單純意義上的軟體,而是服務,包含了從人力到硬體各種資源的運營成本。你想想就算優酷把他的代碼開源了,你自己能跑得起來嗎?所以說優酷該不該收錢和開源精神沒半毛錢關係。


開源精神是 Free Open Source,意思是自由及開放源代碼,Free指的是自由不是免費。

自由及開放源代碼軟體

Free and open-source software


開源精神,就是反正我也賺不著錢,不如大家一起來關注一下我的代碼,從而賺個吆喝的精神


無利而不往!


對於個人,開源我認為是一種學習交流。從中提高自己的能力,交一些極客朋友。雜亂無章,不可持續的,奉獻非常有限。


對於公司,其一圈地盤,只有大公司才會玩得起,投入巨大,賠本的事。他們的目的是創建一種技術氛圍,和其他的語言對抗。很多大公司給Apache,Linux提供代碼,資金的支持。以構建一套和Windows抗衡的環境。其二培養需求,比如我是資料庫廠商,全世界只有10個系統,再怎麼賣也是10套的錢,現在因為開源有100套系統使用了我資助的開源資料庫了,那麼他們可能成為我的客戶,我可以賣第11套了。


我從中國2000多年來的儒學文化來和你探討一下。

當埃及只能面對迷一樣的金字塔和都不懂的楔形文字的時候,

當兩河文明只留下大流士和居魯士的傳說的時候,

當樓蘭古城只剩下最後關於吐火羅語的回憶時。

我們,中華文化,為什麼在歷經五千年歷史的淘汰後,在面對多項的文化入侵後,不僅沒有削弱,反而卻更加雄厚?

除了軍事上防禦型的理念,文化中儒的思想在這裡做了不能否認的一部分貢獻!

那麼,何為儒?很多人都似乎知道,又似乎不知道。儒,本身可以有很多定義,因為它是開源的!儒者人需也。孔子等人建立儒的思想,並不是一味的定一堆教條,框住民眾,而是建立一個平台和規則,

這個平台叫作禮儀社會的追求系統,規則是注經必須與現實印證。換句話說,就是,理論聯繫實際,實踐產生理論。

五四運動後,似乎我們現在已經儒學,變得什麼都不是了。其實不然,我們之前推翻的,是儒學version 3.0.現在也許可以叫作儒學version4.0。


推薦閱讀:

有什麼比較好的開源搜索引擎?
我公司開發的軟體使用到了開源軟體(如消息中間件)但不修改它,有版權問題嗎,自己的代碼是否也必須開源?
每個軟體都可以開源嗎?
有什麼適合提高 C/C++ 網路編程能力的開源項目推薦?
那些開源軟體真的會有人去閱讀嗎?

TAG:互聯網 | 開源軟體 |