蜘蛛絲 4

X-Men 2

This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

你試試觀察這些商業戰爭,你會發現很有趣。參戰各方,原本生存於互不相干的勢力範圍。第一方在水星、第二方在冥王星、第三方在祝融星 … 例如: Amazon(網上書店)的根據地是「網絡銷售圖書」市場;Apple 的根據地是「高檔電腦」市場;Microsoft 的根據地是「作業系統程式」市場;Google 的根據地是「網絡搜尋器」市場;Nokia 的根據地是「流動電話」市場。

但是,不知怎樣,它們加入了同一堆戰團。Amazon 透過它在「網上書店」的優勢,推出「電子圖書閱讀機 Amazon Kindle」;Apple 透過它在「iPod(隨身音樂播放器)」的優勢,推出「流動智能電話 iPhone」,與 Nokia 一較高下;Google 透過它在「網絡搜尋器」的優勢,推出 Google Phone,與 Apple iPhone 一決雌雄;Apple 透過它在 iPhone 的優勢,推出「平板電腦 iPad」,與 Amazon Kindle 高手過招。

— Me@2010.11.03

There’s an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.

— Bjarne Stroustrup

2010.11.03 Wednesday (c) All rights reserved by ACHK

Copyleft 5.4

問題是,如何將自己編寫的程式作品,發表成「自由軟件」呢?

即使直接「釋放」了自己軟件作品的版權,容許別人任意複製,都不能保證該作品永久是「自由軟件」。你自己沒有保留版權的話,心地不好的人就可以把你的程式修改一點,然後宣稱「版權所有」,從而限制其他人複製。

所以,Richard Stallman 決定保留自己作品的 copyright(版權),不直接「釋放」。取而代之,他用一種很特別的 copyright,名叫「copyleft」。他發表自己的電腦程式時,都是用「copyleft」這種版權。一個程式用「copyleft」版權的話,即是作者容許用家任意複製該程式。作者甚至提供了程式的 source code(源程式碼),讓用家修改該程式。改進了程式後,除了自己使用外,用家還可以把新版本再發表,甚至售予其他人。Copyleft 唯一的「限制」是,「再發表」的程式,一定要是用 copyleft 本身作為版權。這個「限制」,保證了「自由軟件」永久是「自由軟件」。

注意,字面上,copyleft(著佐權)好像是 copyright(著作權)的相反。實際上,copyleft 是 copyright 的一種。

原本,Richard Stallman 不滿現存的 software copyright(軟件版權)制度。但是,他卻發明了 copyleft 來推廣「自由軟件」。他就好像在 copyright 制度上,安裝了一個 virtual machine(虛擬機器)– copyleft,用來制衡 copyright 本身。或者說,copyleft 的存在,是為了彌補 copyright 制度的不足。

Copyleft 的確切執行,建基於完善的 copyright 制度。當一個地方的著作權(copyright)制度還未成熟時,著佐權(copyleft)不能有效發展。

— Me@2010.10.19

2010.10.19 Tuesday (c) All rights reserved by ACHK

Copyleft 5.3

This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

他創立了 Free Software Foundation(自由軟件基金會)和啟動了 GNU Project(GNU 項目)。Free Software Foundation 的存在目的,是製作各式各樣的電腦程式,然後將其發表成「自由軟件」。而眾多種類的程式之中,最關鍵的是 Operating System(作業系統程式),所以,GNU Project 的目標是,編寫一個 Free Operating System(自由的作業系統程式)。「Free」的意思是指「自由」。「自由」的意思是,用家買了該個程式後,可以自由複製,甚至複製給朋友使用。

「Free」這個英文字有兩個可能的意思。一個是指「自由」;另一個是指「免費」。在 GNU Project 開始時,Richard Stallman 還沒有分清楚這兩個意思。後來,他再三強調,「Free Software」的意思是指「自由軟件」,不是指「免費軟件」。「自由軟件」是否「免費」,並不是他直接關心的事情。他指出,程式員都可以靠售賣「自由軟件」為生。重點是,不應限制買家如何利用、修改 和 複製 買回來的程式。

問題是,如何將自己編寫的程式作品,發表成「自由軟件」呢?

即使直接「釋放」了自己軟件作品的版權,容許別人任意複製,都不能保證該作品永久是「自由軟件」。你自己沒有保留版權的話,心地不好的人就可以把你的程式修改一點,然後宣稱「版權所有」,從而限制其他人複製。

— Me@2010.10.16

2010.10.16 Saturday (c) All rights reserved by ACHK

Copyleft 5.2

另外,「Copyleft」都是運用了「Virtual Machine」概念。還有,更「驚嚇」的是,「Copyleft」其實一個完美的「Virtual Machine」。你記不記得「Copyleft」的原意是什麼?

(安:「Copyleft」的原意是,令到電腦程式免費?)

不是。完全不是這個意思。

Richard Stallman 覺得電腦程式應該給人互相複製。「電腦程式」的本質就是「極容易複製」,因為「複製程式」的成本近乎是零。Richard Stallman 覺得,既然是這樣,我們就不單不應該阻止電腦程式用家複製程式,而且還應該鼓勵,以推動人類電腦知識的傳播和發展。

我有沒有講過 Richard Stallman 的故事?

(安:沒有詳細講。)

有關 Richard Stallman 的詳細生平事跡,你可以參閱《維基百科全書》。我現在只講一些重點。Richard Stallman 不喜歡現在的 software(電腦軟件/程式)的 copyright(版權)制度,因為 copyright 禁止用家之間互相複製程式。但是,要以一人之力,一下子改變現時的 software copyright 制度,又沒有什麼可能。所以,Richard Stallman 採取了以下的策略。

他創立了 Free Software Foundation(自由軟件基金會)和啟動了 GNU Project(GNU 項目)。GNU Project 的目標是,編寫一個 Free Operating System(自由的「作業系統程式」)。

— Me@2010.10.14

2010.10.14 Thursday (c) All rights reserved by ACHK

虛擬機器 5

Copyleft 5

(安:不如延續上次有關電腦的一些話題。)

上次我們講到,「中國特色社會主義」其實是運用了「Virtual Machine」(虛擬機器)這個概念:在「共產主義」的「作業系統」上,運用「資本主義」的程式。

當然,電腦的「Virtual Machine」(虛擬機器)未必可以百分百替代「真實機器」。例如,有些 Virtual Machine 程式寫得不好,未能偵測和連接我的掌上電腦,導致不能和我的掌上電腦交換資料。

雖然 Virtual Machine 程式有時未臻完美,但是它本身已經為電腦民族帶來無數的方便。還有,「Virtual Machine」這個概念本身,已經變成了我一個主要的神奇思考工具。

(安:我都覺得這個概念很有趣。)

另外,「Copyleft」都是運用了「Virtual Machine」概念。還有,更「驚嚇」的是,「Copyleft」其實一個完美的「Virtual Machine」。

— Me@2010.10.11

2010.10.12 Tuesday (c) All rights reserved by ACHK

種子意念 4

「意念」和「人」的關係是:

平庸意念落到上佳的人身上的話,上佳的人會「點石成金」;

上佳意念落到平庸的人身上的話,平庸的人會「點金成石」。

— Me@2010.09.29

If you give a good idea to a mediocre group, they’ll screw it up. If you give a mediocre idea to a good group, they’ll fix it. Or they’ll throw it away and come up with something else.

— Edwin Catmull

2010.09.29 Wednesday (c) All rights reserved by ACHK

虛擬機器 2

(安:又例如,「中國特色社會主義」其實是 Virtual Machine(虛擬機器)的一個大例子。

中國想實行「資本主義」。但是,當年要一下子更換掉「社會主義」硬件並不可行。所以,中國在已有的「社會主義」硬件上,安裝了「中國特色」Virtual Machine。以後,就可以在「中國特色」這個 Virtual Machine 上,運行「資本主義」程式。)

— Me@2010.09.02

2010.09.02 Thursday (c) All rights reserved by ACHK

虛擬機器

心靈作業系統 5.3

如果有一個程式(A),與你電腦的作業系統不 compatible(兼容),而你又堅持要用的話,你可以:

3. 在原本的作業系統(Operating System)上,安裝一個 Virtual Machine(虛擬機器)。再在 Virtual Machine 上,安裝另一個作業系統。

(安:回到剛才「學習新事物」的比喻。如果新知識與自己原有的「思考作業系統」有衝突、不兼容的話,除了剛才所提及的解決辦法外,還有另一個可能,就是在自己原有的「思考作業系統」上,安裝一個 Virtual Machine。那樣,你就可以在保留自己的「思考作業系統」,而又毋須作任何修改的情況下,去駕馭新知識。)

這個想法很有趣。但是,這個比喻不是太有效。例如,怎樣為之「在自己原有的『思考作業系統』上,安裝一個 Virtual Machine」呢?

不過,如果不是用來比喻「學習新事物」的話,Virtual Machine 這個概念,可以有效地比喻其他東西。

例如,「演戲」其實是一個運作 Virtual Machine 的過程。假設,我將要在一齣電影中,飾演「愛因斯坦」。事前,除了背誦對白外,我還要大量閱讀「愛因斯坦」的生平事蹟、思想學說,以求逼真的演繹。我所做的這些功夫,就是安裝 Virtual Machine 的過程。到最後,電影中出現的角色,既不是我自己,亦不是真正的「愛因斯坦」,而是在我思想中的一個「虛擬愛因斯坦」。

(安:又例如,「中國特色社會主義」其實是 Virtual Machine 的一個大例子。)

— Me@2010.08.31

2010.08.31 Tuesday (c) All rights reserved by ACHK

心靈作業系統 5.2

「Virtual Machine」(虛擬機器)的另外一個用途是:

有一個程式(A)很吸引,你很想買來用。但是,程式 A 只可以在 Microsoft Windows(視窗)上運行。而你電腦的作業系統(Operating System)卻是 MacOS(蘋果電腦作業系統)。解決的辦法是,你可以在你的 MacOS 上,先安裝一個 Virtual Machine 程式,然後再在 Virtual Machine 上,安裝一個 Microsoft Windows。那樣,你就可以安裝 程式 A 來使用,而毋須特意買過另一部(以 Microsoft Windows 為作業系統的)電腦。

作暫時的總結:

如果有一個程式(A),與你電腦的作業系統不 compatible(兼容),而你又堅持要用的話,你可以:

1. 更換作業系統,或者 買另一部(用另一個作業系統的)電腦;或

2. 修改原本的作業系統,令它與新程式兼容:前提是,你電腦的作業系統是 open source(開源,開放源程式碼)的;或

3. 在原本的作業系統上,安裝一個 Virtual Machine。再在 Virtual Machine 上,安裝另一個作業系統。

— Me@2010.08.29

2010.08.29 Sunday (c) All rights reserved by ACHK

心靈作業系統 5.1

有一種 software(程式),叫做「Virtual Machine」(虛擬機器)。

假設,我是一個 programmer(程式員)。我用來寫程式的電腦是用 Windows XP Operating Systems(作業系統)的。我想試試我所寫的程式,在其他作業系統上,例如 Windows 2000,能不能暢順運行。本來,我需要再買另一部電腦,然後專門安裝 Windows 2000,用來測試該個我所寫的程式。

但是,如果我用 Virtual Machine 的話,我就毋須再買另一部電腦。我只需要先在原本電腦的 Windows XP 上,安裝一個 Virtual Machine 程式;然後,再在該個 Virtual Machine 上,安裝一個 Windows 2000。那樣,我就可以在那個 Windows 2000,安裝我所寫的程式,看它能否在 Windows 2000 上正常運作。

— Me@2010.08.26

2010.08.26 Thursday (c) All rights reserved by ACHK

Free Software

自由軟體

GNU GPLv3 Logo

“Free software” does not mean “noncommercial.” A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.

自由軟體因此並不是「非商業軟體」。自由軟體必須適用於商業用途。自由軟體的商業開發模式已很常見;這樣的自由商業軟體相當重要。

— The Free Software Definition, Free Software Foundation, Inc.

2010.03.02 Tuesday ACHK