軟體與宗教

很久很久以前,記得有人問過我一個問題,覺得怎樣的程式碼看起來最不舒服?我想了想,給了一個連我自己都很訝異的答案:

"
我覺得沒有在程式碼前面加上 license 宣告很不舒服"

這幾年,軟體 license 的觀念像顆隕石般重重衝擊著電腦科學的世界,但在真實的世界中,有多少人真的懂得去尊重這些 license。自由軟體 (Free Software) 與開放原始碼軟體 (Open Source Software) 有什麼差別?GPL v2GPL v3LGPLBSD LicenseMIT LicenseApache LicenseMPLEPL…...到底又有什麼分別?法律專家真的懂得這些 license?如果專家都不懂,我們又該怎麼去尊重這些 license

或許我們能夠有個更簡單的角度來看待這些 license。人們從不同的角度、不同的立場,延伸出對於軟體 license 不同的解釋,我聽過的有:安全的與不安全的、會感染的與不會感染的、看得懂的與看不懂的、邪惡的與正義的、爽的與不爽的…...用這些方式來說明 license,簡單多了!但我個人比較喜歡把這些軟體 license 當作是一種信仰,每個 license 就是一門宗教,各有各的信念,各有各的神。

信仰是一種力量,看看我們這個還不至於失序的世界就知道,這對於軟體也一樣。偉人、偉大的國家都有消失的一天,但宗教信仰往往可以一直長存在這世界,同樣地,有著信仰的軟體也可以千秋萬世,有著 license 的軟體跟宗教一樣都是人類社會莫大的資產,這樣無形卻強大的力量不是任何人、任何組織、任何企業可以去抵抗的。

很多人看著自由軟體與開放原始碼軟體的社群在辯論的時候常常都一頭霧水,這其實跟十六世紀歐洲的宗教戰爭一樣,基督教可以有新舊教,自由的軟體當然也可以有不同的定義。但不要重蹈歷史的覆轍,我們要懂得尊重彼此的觀點,欣賞彼此的堅持,讓軟體好像中國古時百家爭鳴般地豐富精彩。

我喜歡看著同事們為 license 的問題而爭吵:
"
整合這個軟體進來吧!它是用 Apache License 的,不會影響到我們原有設計的元件。"

我也喜歡聽著客戶質疑產品的 license 問題:
"
你們的軟體沒有問題吧?有沒有侵犯到 GPL?我們公司很大很有名,別亂搞啊!"

有些人覺得軟體工程師只是個枯燥、死腦筋、關心電腦勝過一切的史前生物,但重視 license 的軟體工程師,是有信仰的,心靈是富足的,有著強烈且超越一切的精神世界,有著一個像電影中描述的 Matrix。重視 license 的軟體工程師不再只是個冷血的工匠,而是個熱情洋溢的藝術家,是個可以獨領風騷的大師。相反地,我不相信一個不尊重 license 的枯萎靈魂可以編織出有生命力的軟體,寫程式卻不重視 license,就好像出門旅遊時, 面對著有著悠久歷史的雄偉建築只能讚嘆著:"哇,好大喔...好美喔......"

打開你心愛的程式編輯器,在程式碼前面加上一小段 license,哪怕只是小心翼翼地寫個 "All Rights Reserved.",這就是你的歌、你的電影、你的蒙娜麗莎,你自己。

0 意見: