User:潘俊成/freeSoftware

以下為自由軟體相關資訊

自由軟體的世界

有趣的話


  • 1998年07月10日:林納斯·托瓦茲:「我對授權問題的看法是:程式撰寫者選擇授權方式,他人毋庸異議,嘀咕專利授權的人無非是在發牢騷而已」。
    (由此可知林納斯·托瓦茲屬務實派)[2]
  • 朱利亞(Aleandre Juliard):「這個名稱(WINE)有兩個意義,原意是『視窗模擬器』(WINdows Emulator),另一個意義則是『Wine不是模擬器』(Wine Is Not Emulator)的字首」
  • 思想是自由的,它應該保持自由並被給予自由精神的法則:我們給予越多,我們將得到越多[3]

羅斯福的四大自由

  • 人物:美國羅斯福總統
  • 時間:1941年01月06日
  • 地點:美國第77屆國會
  • 內容:
    1. 言論自由 (freedom of speech and expression)
    2. 崇敬自由 (freedom of every person to worship God in his own way)
    3. 免於匱乏的自由 (freedom from want)
    4. 免於恐懼的自由 (freedom from fear)

自由軟體四大自由

  • 人物:史托曼
  • 時間:
  • 地點:
  • 內容:
    1. 自由之零(使用軟體的自由):不論目的為何,有使用該軟體的自由。
    2. 自由之一(研究軟體的自由):有研究該軟體如何運作的自由,並且得以覆寫該軟體來符合使用者自身的需求。取得該軟體之源碼為達成此目的之前提。
    3. 自由之二(散布軟體的自由):有重新散布該軟體的自由,所以每個人都可以藉由散布自由軟體來敦親睦鄰。
    4. 自由之三(改良軟體的自由):有改善再利用該軟體的自由,並且可以發表覆寫版供公眾使用,如此一來,整個社群都可以受惠。如前項,取得該軟體之源碼為達成此目的之前提。

開放原始碼九大定義

  • 人物:
  • 時間:
  • 地點:
  • 內容:
    1. 自由散佈,免費或收費, 原著者不得要求授權費。
    2. 公開原始碼, 不得有意混淆或編譯成其他型式。
    3. 可修改成或衍生成其他的產品。
    4. 修改後的作品, 以繼續公開原始碼為原則, 或允許以修補檔方式訂正原軟體的錯誤。
    5. 不得針對特定自然人或法人設限。
    6. 不得限制使用的範圍。
    7. 不需重複取得授權。
    8. 不得採用適用特定軟體的授權。
    9. 不能規範其他的授權。
  • 人物:Bruce Perens(是Debian第二任領導者,亦是開放原始碼的創始者之一)
  • 時間:
  • 地點:
  • 內容:
    1. 自由再散布(Free Distribution):允許獲得原始碼的人可自由再將此原始碼散佈。
    2. 原始碼(Source Code):程式的可執行檔在散佈時,必需以隨附完整原始碼或是可讓人方便的事後取得原始碼。
    3. 衍生著作(Derived Works):讓人可依此原始碼修改後,在依照同一授權條款的情形下再散佈。
    4. 原創作者程式原始碼的完整性(Integrity of The Author’s Source Code):意即修改後的版本,需以不同的版本號碼以與原始的程式碼做分別,保障原始的程式碼完整性。
    5. 不得對任何人或團體有差別待遇(No Discrimination Against Persons or Groups):開放原始碼軟體不得因性別、團體、國家、族群等設定限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟體的出口)。
    6. 對程式在任何領域內的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業使用。
    7. 散布授權條款(Distribution of License):若軟體再散佈,必需以同一條款散佈之。
    8. 授權條款不得專屬於特定產品(License Must Not Be Specific to a Product):若多個程式組合成一套軟體,則當某一開放原始碼的程式單獨散佈時,也必需要符合開放原始碼的條件。
    9. 授權條款不得限制其他軟體(License Must Not Restrict Other Software):當某一開放原始碼軟體與其他非開放原始碼軟體一起散佈時(例如放在同一光碟片),不得限制其他軟體的授權條件也要遵照開放原始碼的授權。
    10. 授權條款必須技術中立(License Must Be Technology-Neutral):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。

相對開放原始碼而言,封閉原始碼軟體的簡稱。 只要原始碼不容易取得,就被視為閉源軟體。

違反以下任意一條,即為閉源軟體:

  1. 自由再散布(Free Distribution):允許獲得原始碼的人可自由再將此原始碼散布。
  2. 原始碼(Source Code):程式的可執行檔在散布時,必需以隨附完整原始碼或是可讓人方便的事後取得原始碼。
  3. 衍生著作(Derived Works):讓人可依此原始碼修改後,在依照同一授權條款的情形下再散布。
  4. 原創作者程式原始碼的完整性(Integrity of The Author』s Source Code):意即修改後的版本,需以不同的版本號碼以與原始的程式碼做分別,保障原始的程式碼完整性。
  5. 不得對任何人或團體有差別待遇(No Discrimination Against Persons or Groups):開放原始碼軟體不得因性別、團體、國家、族群等設定限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟體的出口)。
  6. 對程式在任何領域內的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業使用。
  7. 散布授權條款(Distribution of License):若軟體再散布,必需以同一條款散布之。
  8. 授權條款不得專屬於特定產品(License Must Not Be Specific to a Product):若多個程式組合成一套軟體,則當某一開放原始碼的程式單獨散布時,也必需要符合開放原始碼的條件。
  9. 授權條款不得限制其他軟體(License Must Not Restrict Other Software):當某一開放原始碼軟體與其他非開放原始碼軟體一起散布時(例如放在同一光碟片),不得限制其他軟體的授權條件也要遵照開放原始碼的授權。
  10. 授權條款必須技術中立(License Must Be Technology-Neutral):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。

閉源軟體,通常是在電子遊戲開發中,付足夠的費用即可得到部分原始碼,如torque引擎,但一定是有限使用(通常為次數和不准透露),故不是開源軟體。

《教堂觀與市集觀》[4]的格言

《教堂觀與市集觀》的十九個格言
  1. 好軟體都是起源於程式發展者要解決切身之痛。
    • Every good work of software starts by scratching a developer's personal itch.
  2. 優秀的程式師知道要寫程式,偉大的程式師知道要改寫(和重覆利用)程式。
    • Good programmers know what to write. Great ones know what to rewrite (and reuse).
  3. 計畫好如何捨棄一條路吧,你遲早會想盡辦法這麼做的。[5]
    • Plan to throw one away; you will, anyhow.
  4. 抱持正確的態度,就會發現有趣的問題。
    • If you have the right attitude, interesting problems will find you.
  5. 當你對一個問題不再感興趣時,你最後的責任就是找位能勝任的接棒人。
    • When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
  6. 把你的使用者視為協同發展人,可以讓你傷最少的腦筋,但做到原始碼的快速改善,程式的除錯有績效。
    • Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
  7. 儘早,經常發表新版本,並且傾聽使用者的意見。
    • Release early. Release often. And listen to your customers.
  8. 以足夠多的 beta 版測試者和協同發展者做基礎,幾乎程式中的每一個問題都可以很快地找出來,並且對某些人而言,,針對發現的問題的解決方法是顯而易見的。
    • Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
  9. 聰明的資料結構配上笨拙的程式碼要比相反的組合好。[6]
    • Smart data structures and dumb code works a lot better than the other way around.
  10. 如果你視 beta 版測試者如同你最珍貴的資源,那麼他們會以此做為回報。
    • If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
  11. 體認你使用者提供的巧思,以獲取好點子,有時候越後到的越好。
    • The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
  12. 通常,最適切和最有創意的解題法來自發覺自己對問題原先的觀念是錯誤的。
    • Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
  13. 設計上完美,不是沒有東西能再被加入,而是沒有東西能再被移出
    • Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
  14. 任何的工具以我們所知道的方法來使用都會有用,但一個真正了不起的工具會以你從未想過的使用方法來發揮它的功能。
    • Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
  15. 寫作任何的通信閘軟體時,要盡可能地不去擾動到通訊的資料流 -- 並且絕對不要丟掉其中任何的資訊,除非接收方強迫你這麼做。
    • When writing gateway software of any kind, take pains to disturb the data stream as little as possible -- and *never* throw away information unless the recipient forces you to!
  16. 當你設計的語言不是嚴謹到完全 Turing,你可以採用比較平易的語法。
    • When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
  17. 一個保密系統是否安全依存於它隱藏的秘密,注意不要有虛擬秘密[7]
    • A security system is only as secure as its secret. Beware of pseudo-secrets.
  18. 為了要解有趣的問題,開始找你感興趣的問題吧!
    • To solve an interesting problem, start by finding a problem that is interesting to you.
  19. 假如專案發展協調者擁有至少跟網際網路一樣好的媒體,而他也不靠強制力來領導,那麼一群人必定勝過一個人。
    • Provided the development coordinator has a medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.

有趣文件

備註:本書目前尚無中文版
  • 萬聖節文件:於1998年10月由微軟內部流出。因為時間接近萬聖節,因此被稱為萬聖節文件。
  • 世界人權宣言:聯合國大會於1948年12月10日第217A(III)號決議通過

自由軟體參考書目

  • 《Linux 傳奇:讓比爾蓋茲坐立難安的天才》:作者是葛林·穆迪(Glyn Moody)、譯者是杜默;2001年05月07日中譯。

有趣網站

  • 社群網站
  1. TOSSUG:全名是「台北開放原始碼使用者社群(Taipei Open Source Software User Group,簡稱TOSSUG,或者土虱)」,這是目前較常去的社群。
  • 個人網站

軟體的歷史

1950年代

1950年代
  • 1950年
  • 1951年
    1. 1951年:Lotus之父誕生
  • 1952年
  • 1953年
    1. 1953年03月16日:史托曼誕生
  • 1954年
  • 1955年
  • 1956年
  • 1957年
    1. 1957年12月04日:雷蒙出生於美國波士頓
  • 1958年
  • 1959年

1960年代

1960年代

1970年代

1970年代
  • 1970年
  • 1971年
    1. 1971年:史托曼進入MIT AI實驗室工作
  • 1972年
  • 1973年
    1. 1973年:TCP/IP誕生
  • 1974年
  • 1975年
  • 1976年
    1. 1976年02月03日:比爾蓋茲發表一封公開信, 被看作是軟體通過商業授權獲取收入的真正開端。
    2. 1976年12月:APPLE II問世
  • 1977年
    1. 1977年:Bill Joy發表BSD
  • 1978年
  • 1979年
    1. 1979年:AT&T基於商業考量,於是想收回UNIX版權。例如:1979年發行的第七版UNIX提到「不可對學生提供原始碼」的嚴格限制。

1980年代

1980年代
  • 1980年
    1. 1980年:微軟買下西雅圖電腦公司的86-DOS
    2. 1980年:IBM決定加入個人電腦市場
  • 1981年
    1. 1981年01月:史托曼離開MIT AI實驗室
    2. 1981年:微軟以86-DOS為基礎,推出MS-DOS 1.0
  • 1982年
  • 1983年
    1. 1983年02月:微軟推出MS-DOS 2.0
    2. 1983年09月27日:史托曼創立了GNU計劃
    3. 1983年:比雅尼·史特勞斯特魯普為擴展C語言而開發了C++
    4. 1983年:美國司法部停止對IBM反托拉斯法控訴。
  • 1984年
    1. 1984年11月04日:麥可·戴爾成立戴爾電腦[8]
    2. 1984年:美國司法部依據《反托拉斯法》拆分AT&T,分拆出一個繼承了母公司名稱的新AT&T公司(專營長途電話業務)和七個本地電話公司(即「貝爾七兄弟」),
    3. 1984年:思科Cisco)成立
    4. 1984年:聯想成立
    5. 1984年:MIT發表X Window系統
  • 1985年
    1. 1985年10月:史托曼成立自由軟體基金會(Free Software Foundation,簡稱FSF)來為GNU計劃提供技術、法律以及財政支持
  • 1986年
    1. 1986年:Perl誕生
  • 1987年
    1. 1987年04月:微軟推出MS-DOS 3.3
    2. 1987年:譚寧邦(Andrew Tanenbaum)發明Minix
  • 1988年
    1. 1988年:XFree86成立
  • 1989年
    1. 1989年:史托曼發表GPL1.0版

1990年代

1990年代
  • 1990年
    1. 1990年:雷蒙出版《新黑客字典》
  • 1991年
    1. 1991年02月:Guido van Rossum發表「派森(Python)」
    2. 1991年10月25日:托瓦茲發表Linux 0.01,當時他21歲。
    3. 1991年:GPL 2.0公布
  • 1992年
    1. 1992年10月:Peter MacDonald發表SLS
  • 1993年
    1. 1993年:AT&T將UNIX賣給Novell
    2. 1993年06月:「WINE工程」開始
    3. 1993年06月:Patrick Volkerding發表第一個商業化Linux版本:Slackware
  • 1994年
    1. 1994年03月:Linux 1.0版推出
    2. 1994年04月04日:馬克·安德森(Marc Andreessen)和吉姆·克拉克(Jim Clark)共同創立「馬賽克通訊公司」(Mosaic Communications Corporation),1994年11月14日改名為網景
    3. 1994年08月:Linux商標引起爭論
    4. 1994年10月13日:馬賽克通訊公司發表Mosaic Netscape 0.9。
    5. 1994年11月14日:馬賽克通訊公司改名為網景
    6. 1994年:紅帽RedHat)成立
  • 1995年:網路年
    1. 1995年03月:Linux 1.2版推出
    2. 1995年05月:微軟推出 Windows 3.0
    3. 1995年:Apache誕生
    4. 1995年:Novell將UNIX賣給Santa Cruz
  • 1996年
    1. 1996年06月:Linux 2.0版推出
    2. 1996年12月:托瓦茲的得第一個女兒(Miranda)的誕生,促使托瓦茲想改變與Linux的長期關係(結果全家搬到美國)。
    3. 1996年:托瓦茲全家從芬蘭赫爾辛基搬到美國,於全美達Transmeta)公司工作,於2003年07月因致力開發Linux核心決定離開全美達至OSDL(Open Source Development Labs)。
    4. 1996年:托瓦茲選中Larry Ewing所畫的企鵝當做LINUX的吉祥物,James Hughes根據「Torvalds's Unix」為它取了名字Tux
    5. 1996年:雷蒙出版《黑客文化簡史》
  • 1997年
    1. 1997年05月27日:雷蒙發表《大教堂和市集
    2. 1997年08月:GNOME計劃
    3. 1997年10月:Linux 2.1版推出
  • 1998年
    1. 1998年01月22日:網景宣佈開放其瀏覽器的原始碼[9]
    2. 1998年02月03日:開放原始碼(Open Source)運動
    3. 1998年02月:雷蒙成立開放原始碼促進會Open Source Initiative,簡稱OSI)
    4. 1998年05月18日:微軟遭美國聯邦政府以反托拉斯法控訴
    5. 1998年09月27日:IBM宣布支持Linux
    6. 1998年07月21日:甲骨文(Oracle)宣布正式支持Linux平台的Oracle 8.0,及開發Linux平台的Oracle應用程式
    7. 1998年10月:萬聖節文件事件。
    8. 1998年11月:美國線上(AOL)併購網景[10]
    9. 1998年:微軟發表Windows 98
    10. 1998年:Debian 2.0發表
    11. 1998年:FSG 成立,發展LSB標準
  • 1999年
    1. 1999年01月:Linux 2.2推出
    2. 1999年:雷蒙出版《大教堂和市集》,本書相當於自由軟體界的聖經
    3. 1999年:SUN買下德國 StarDivision 公司,取得該公司主要產品 StarOffice 5.2的所有權

2000年代

2000年代
  • 2000年
    1. 2000年06月:SUN把 StarOffice 5.2 的原始碼交給自由軟體社群 OpenOffice.org,開放給社會各界使用,並把用來發展 StarOffice 的技術轉移給 OpenOffic.org 社群。
  • 2001年
    1. 2001年01月:Linux 2.4版發布。
    2. 2001年02月:微軟副總傑‧歐欽告訴美國國會議員:「開放原始碼只會破壞智慧財產權」
    3. 2001年春天:托瓦茲完成其自傳《Just for Fun》
  • 2002年
    1. 2002年06月:歐盟公佈147頁的文件-「為開放原碼加油」,要求政府機關把軟體"捐"出來,讓大家再利用它們。
    2. 2002年07月:英國的政府商務局要求政府機關必須使用自由軟體,採用開放原碼的數十種授權之一。
  • 2003年
    1. 2003年12月:Linux 2.6版發布
    2. 2003年07月:托瓦茲離開全美達Transmeta)公司,跳到OSDL(Open Source Development Labs)[11],全新開發Linux核心。
    3. 2003年:Novell收購SUSE
  • 2004年
  • 2005年
    1. 2005年05月01日聯想以17.5億美元的價格完成對IBM PC事業部的收購,並獲得在5年內使用IBM品牌權
  • 2006年
  • 2007年
    1. 2007年04月20日:Oracle 收購 SUN
    2. 2007年:SUN 收購 MySQL AB

2010年代

2010年代

備註

  1. ^ 陸群. 《傳奇與神話的戰爭:Linux VS Microsoft的愛恨情仇》. 山東大學出版社. 2008. ISBN 978-7-5607-3665-5. 
  2. ^ 葛林·穆迪(Glyn Moody). 《Linux 傳奇:讓比爾蓋茲坐立難安的天才》. BIG叢書. 時報文化. 2001. ISBN 957-13-3363-8. 
  3. ^ 英國彼得羅素
  4. ^ 教堂觀與市集觀
  5. ^ Frederick P. Brooks, Jr,《人月神話:軟體專案管理之道》,台北:經濟新潮社,2004年:第十一章 ISBN 9867889185
  6. ^ 相反的組合指笨拙的資料結構配上聰明的程式碼
  7. ^ 以 fetchmail 為例,隱藏的秘密是指通行密碼虛擬秘密是指把通行密碼編碼後存於設定檔中。
  8. ^ 創立之初公司的名稱是PC's Limited,1987年改為戴爾電腦。
  9. ^ Linux傳奇,頁212
  10. ^ Linux傳奇,頁251
  11. ^ OSDL成立於2000年,乃一非營利機構,主要目標是加速Linux在企業中的應用,它的成員包括IBM、HP及INTEL等。