用户:潘俊成/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等。