顯示廣告
隱藏 ✕
※ 本文為 overthrowCPC 轉寄自 ptt.cc 更新時間: 2016-02-25 09:24:58
看板 Gossiping
作者 snaketsai (さいでんし)
標題 Re: [問卦] 有沒有open source的八卦
時間 Wed Feb 24 18:25:19 2016


Open Source在台灣發展好一段時間了

以下是我個人理解的歷史,
板上比我更熟知的人是鐵定有的,
也還請老前輩們不吝指教(苦笑)


在台灣對Open Source想法還很鮮為人知的時代
有幾位中研院的院士、研究員為了推廣開源活動
舉辦了Open Source Workshop (OSW)

進而擴大成ICOS研討會 (International Conference on Open Source)

後來政府便以以中研院資科所,
成立了「自由軟體鑄造場」為火車頭
( http://www.openfoundry.org/ )
開放你的自由軟體專案 - OpenFoundry
順應國內外自由軟體應用日益普及的潮流,中央研究院資訊科學研究所於民國92年接受經濟部工業局「自由軟體產業推動計畫」的補助,成立自由軟體鑄造場 (Open Source Software Foundry,以下簡稱 OSSF ),以擴大自由軟體在臺灣的應用幅度與研發能量。目前經費的來源,部分來自行政院國家科學委員會的補助,部分則來自於中央研究院資訊科技創新研究中心。 OSSF 重點任務為培植本土自由軟體社群與人才,實際工作有: (一)推廣自由軟體概念 (二)集結國內自由軟體社群 (三)促進臺灣人才培育與產業合作 (四)與國際趨勢交流接軌 ...

 
帶動了一整票的活動、組織


但由於ICOS領導人的願景跟內部一些成員的設想有落差
(當然有很多理念爭執啦......這塊因為我輩分小,在這邊也不方便說是非)
導致後來有前輩因此fork出來台灣現下最大的開源盛會— —COSCUP
Conference for Open Source Coder, User, Promoter
亦即開放原始碼撰寫者、使用者、推廣者研討會,而官方直接統稱「開源人年會」

至此,Open Source運動在政府機關有Open Foundry的挹注(場地、經費補貼
於社群活動有COSCUP、輔以各地愛好者的User Group
開源運動在台灣便進入了顯學的領域中


這中間曾經還有一個我個人非常喜歡的Conference — — OSDC,
相較於COSCUP的比較貼近用戶大拜拜風格,OSDC比較則偏向CODER大拜拜
但後來OSDC的創辦人覺得可以功成身退了,所以就停辦了......QQ

= = = =

而除了歷史之外
我們必須理解Open Source的概念並不是統一的,
按照思想光譜上大致可以分成兩大體系:

近乎社會主意思維的有以Richard Stallamn的GNU GPL那一派
他們甚至強調不要稱呼使用GPL授權的專案為開源珠專案,要稱呼「自由軟體」
(copy-left的定義可以去看wikipedia跟open foundry上面葛冬梅女士的文章)
因為Richard Stallman有提出一套「自由軟體的定義」。


礙於篇幅我不精確地這樣描述:
在這個專利授權氾濫的年代,我們相信分享、開放才能保持人類社會的進化;
但為了相容於這個以copyright為圭臬設計出來的法律世界,
我們包裝出了一種copyright、卻是為了反copyright — —

你要用我們設計出來的東西,就要跟著一起開放,不然就是違反我的copyright



自由軟體的思想還有一個重要的概念是:「放棄『自由』並非是一種自由。」
有點投票不能拿來禁止投票的味道
所以一個基於GPL授權專案做出來的演伸開發,不能再變回閉源的
很近似此生永不再為奴的概念
(朝陽洪朝貴老師將GNU翻譯為「革奴」)



然而,也因為GNU他們有這樣強烈的領域性,讓另外一派思想與之相互輝映
雖然這派就較為鬆散、各家林立,但大致上可以列舉出如:
BSD、MIT、Apache、zlib......等等比較有名的作法

其中各別的詳細規則不一,尤其BSD還有所謂的4-clause,3、2-clause的版本
但他們的核心理念大致是相通的:
「放棄自由也是種自由。」
今天我放出來的Source Code是我自己高興,你要拿去做什麼隨你便
你願意改善後放出來很好;你想要改善後拿去賣錢,我也不想管(或著要分我一杯羹)

- -

但這下問題就來了:
萬一你的開發同時基於兩種專案怎麼辦?

單方向地將一個修改過的BSD-like專案重新以GPL發布是可行的
這點在國際的OSI (開放程式碼促進會) 上面聲明為GPL-compatible的授權大致上相同

而反方向,則是吊詭的地方
由於GPL 2授權在條文上有一些未設想完全的地方
也讓〝GPL shim layer〞這種迴避的方式出現
大抵上就是:你要我開放?好啊那我就寫一個包裝你的程式,然後開放它。

這樣鑽空子的作法自然引起GPL擁護者的不滿,也提出了GPL 3授權
可是麻煩來了,按照不溯汲的原則,之前以GPL 2授權出去的東西沒辦法自動相容於新版
要開發者自己重新re-claim

然而世界上最大的開源計畫,Linux 很值得玩味的的
Linus本人以及28個主要開發者都不願意以GPL 3重新授權

至於原因就是論戰火藥庫了,我也不敢多談
也讓Richard Stallman跟Linus Trovalds原本就不合的狀況更加決裂
(他們兩個為了稱呼問題從很早以前就在吵架了)



我為什麼要提這件事情?
因為有人提到台灣廠商的開源問題

1. 開放原始碼是個鬆散的概念,裡面甚至包含扞格不入的兩派思想

2. 開放原始碼並不反對商業(Richard Satllman也同意這點)
   GPL甚至允許你可以對程式碼的散步收一定程度的費用
   (這通常只能收第一次,因為可能會有人買完馬上無償轉給別人)

3. 以法律來說,GPL shim layer不違反GPL 2的字面意義
   你可以說他不道德,但既然要談違不違法就要照法律思維走


所以今天台灣廠商不開放他的原始碼,要看他到底用了什麼專案
那個專案又是什麼授權,甚至要看是那個授權方式的哪個版本。




好像沒什麼掛點,隨便講點小八卦好了......
Richard Stallman在2014年來過台灣,新竹場的演講我也有去
結果有一個學生問問題時沒有想清楚(好像是有關安全問題的),
結果被RMS電到飛起來XDDDDDDDDDDDDD

你面對的可是前AT&T AI Lab的「前」神級coder

至於為什麼我自己是個BSD派,會跑去聽演講呢......

言論自由嘛,尊重彼此、了解彼此不就是這個開放社會的初衷嗎? :-)


--
Linux is the bone of my world.
Kernel is mybody, and initramfs is myblood,
have created over a thousand Distros.

Unknown to impossibility.
Nor known to limitation.

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.72.31
※ 文章代碼(AID): #1MpOKKnw (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1456309524.A.C7A.html
tj386: 不稍微過濾一下就整篇貼上來1F 02/24 18:27
?過濾什麼?
※ 編輯: snaketsai (140.113.72.31), 02/24/2016 18:32:29
Gold740716: 總之是好的。2F 02/24 18:33
Gold740716: 不太懂 GPL skim layer, 有介紹嗎?
snaketsai: 很少人直接講這名詞,可以參考Androi的作法:4F 02/24 18:37
snaketsai: http://goo.gl/F9TjCo
Android 的區隔 GPL 感染機制 - OpenFoundry
兩個月前談過「分開散佈.責任轉嫁」這種用來避開 GPL 感染的一種方法,今天要談的是另外一種方法:區隔機制。 所謂的區隔機制就是在 GPL 程式與 nonGPL 程式中間插入一個中介的介面,這個介面寫得夠好,讓 nonGPL 程式透過介面與 GPL 程式互動,nonGPL 程式因此不會包含任何的 GPL 程式碼,所以 nonGPL 程式不受到 GPL 感染。而這個介面可以是 LGPL、BSD 或 ...

 
Gold740716: 那是你文章裡的啊……,難怪我 google 不到。6F 02/24 18:44
snaketsai: 的確有人用shim layer這個terminology啊~7F 02/24 18:45
snaketsai: e.g. https://lwn.net/Articles/529518/
snaketsai: shim的原意:https://goo.gl/cSLT5b9F 02/24 18:46
Shim (computing) - Wikipedia, the free encyclopedia
[圖]
In computer programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere.[1][2] Shims typically come about when the behavior of an API changes, thereby causing compatibility issues  ...
 
snaketsai: 的確把兩個接在一起是我的conined word就是了lol10F 02/24 18:47
bloodashih: 感謝分享!11F 02/24 19:28
sgi9: 雖然不懂 還是認真看完了12F 02/24 19:38
SmithPLVS: 11313F 02/24 19:42
geniusturtle: 推14F 02/24 19:51
zero00072: 大概就是那一包裝層是否有感染性可傳染給連接到的碼。15F 02/24 20:39

--
※ 看板: Gossiping 文章推薦值: 1 目前人氣: 0 累積人氣: 2640 
分享網址: 複製 已複製
( ̄︶ ̄)b ggcow 說讚!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇