2015年1月7日 星期三

2014.12.24 Linux 筆記


  • 在維基百科新增一個條目真不是一件簡單的事,我新增了一個「輔仁大學圖書資訊學系圖書館服務隊」的條目,還沒編完就按到儲存編輯,接著我就收到「XXX將此條目申請管理員刪除」,我沒理會繼續加緊腳步編輯,沒想到等我再次儲存時,系統告訴我「此條目已於15分鐘前刪除」......,管理員覺得我是在打廣告,一下午的心血都白費了。
  • 維基百科五大支柱
  1. 百科全書:Not攻略、資料庫
  2. 中立原則:述而不作、繁簡(標題 先搶先贏)、政治(尊重現況)
  3. 版權開放:不禁止商業
  4. 以禮相待:善意推定、妥協
  5. 不墨守成規:勇敢編輯討論
 

2015年1月6日 星期二

2014.12.19 Linux 筆記

○軟體寫得好還必須有其他人做測試,因為自己測試總會有盲點在,看不到漏洞與缺點

○GPL
GPL由斯托曼撰寫,用於GNU計劃。它以GNU Emacs、GDB、GCC的授權條款的早期版本為藍本。這些授權條款都包含有一些GPL的版權思想,但僅只針對特定程式。斯托曼的目標就是創造出一種四海之內皆可使用的授權條款,這樣就能為許多原始碼共享計劃帶來福音。GPL版本1就這樣,在1989年1月誕生。

到1990年時,因為一些程式庫而出現了對比GPL更寬鬆的授權條款的需求。所以當GPL版本2在1991年6月釋出時,另一授權條款——程式庫通用授權條款(Library General Public License,簡稱LGPL)也隨之釋出,並記作「版本2」以示對GPL的補充。版本號在LGPL版本2.1釋出時不再相同,而LGPL也被重新命名為GNU較寬鬆公共授權條款以體現GNU哲學觀。

GPLv1
GPL版本1,即最初的版本,釋出於1989年一月,其目的是防止那些阻礙自由軟體的行為,而這些阻礙軟體開源的行為主要有兩種(一種是軟體釋出者只釋出可執行的二進制代碼而不釋出具體原始碼,一種是軟體釋出者在軟體許可加入限制性條款)。因此按照GPLv1,如果釋出了可執行的二進制代碼,就必須同時釋出可讀的原始碼,並且在釋出任何基於GPL許可的軟體時,不能添加任何限制性的條款。

GPLv2
理察·斯托曼在GPLv2中所做的最大的改動就是增加了「自由還是死亡」("Liberty or Death")這章條款,即第七章liberty-or-death Presentation。這章中申明道,如果哪個人在釋出源於GPL的軟體的時候,同時添加強制的條款,以在一定程度上保障和尊重其它一些人的自由和權益(也就是說在一些國家裡,人們只能以二進制代碼的形式釋出軟體,以保護開發軟體者的版權),那麼他將根本無權釋出該軟體。

到了1990年,人們普遍認為一個限制性弱的授權條款對於自由軟體的發展是有戰略意義上的好處的;因此,當GPL的第二個版本(GPLv2)在1991年6月釋出時,與此同時第二個授權條款程式庫GNU通用公眾授權條款(LGPL, Library General Public License)也被釋出出來並且一開始就將其版本定為第2版本以表示其和GPLv2的互補性。這個版本一直延續到1999年,並分支出一個衍生的LGPL版本號為2.1,並將其重新命名為輕量級通用公眾授權條款(又稱寬通用公眾授權條款,Lesser General Public License)以反映其在整個GNU哲學中的位置。

GPLv3(第三版)

理察·斯托曼(Richard Stallman)起草了第一份GNU GPLv3草案,在美國麻州劍橋市的MIT大學。在他右邊(在照片左邊)是哥倫比亞法律教授伊本·莫格林(Eben Moglen),軟體自由法律中心主席
到2005年,GPL版本3正由斯托曼起草,由伊本·莫格林和軟體自由法律中心(Software Freedom Law Center)提供法律諮詢。

斯托曼在2006年2月25日自由及開源軟體開發者歐洲會議的演講上說:

在所有的改動中,最重要的四個是:
解決軟體專利問題;
與其他授權條款的相容性;
原始碼分割和組成的定義;
解決數位版權管理問題。
2006年,自由軟體基金會針對GPL的可能的修改開始了12個月的公共諮詢。

在公眾諮詢過程中,有962條評論被提交給第一稿草稿。最終總共有2,636條評論被提交。

GPLv3草稿於2006年1月16日開始可用。。

2007年3月28日正式啟用。

2007年6月29日,自由軟體基金會正式釋出了GPL第3版。

但是Linux社群的領導者林納斯·托瓦茲等人決定不讓Linux使用GPLv3授權,仍然使用GPLv2授權。此事曾引起理察·斯托曼的不滿。



○Copyleft
GPL不會授予授權條款接受人無限的權利。再發行權的授予需要授權條款接受人開放軟體的原始碼,及所有修改。且複製件、修改版本,都必須以GPL為授權條款。

這些要求就是copyleft,它的基礎就是作品在法律上版權所有。由於它版權所有,授權條款接受人就無權進行修改和再發行(除合理使用),除非它有一個copyleft條款。如果某人想行使通常被法律所禁止的權利,只需同意GPL的條款。相反地,如果某人發行軟體違反了GPL(比如不開放原始碼),他就有可能被原作者起訴。

copyleft利用版權法來達到與其相反的目的:copyleft給人不可剝奪的權利,而不是版權法所規定的諸多限制。這也是GPL被稱作「被黑的版權法」的原因。

許多GPL軟體發行者都把原始碼與可執行程式捆綁起來。另一方式就是以物理介質(比如CD)為載體提供原始碼。在實踐中,許多GPL軟體都是在網際網路上發行的,原始碼也有許多可以FTP方式得到。

copyleft只在程式再發行時發生效力。對軟體的修改可以不公開或開放原始碼,只要不發行。注意copyleft只對軟體有效力,而對軟體的輸出並無效力(除非輸出的是軟體本身)。不過這在GPL版本3中可能會有改動。




○版權所有人
GPL文字是版權所有的,且著作權人是自由軟體基金會。但是,自由軟體基金會沒有在GPL下發行作品的著作權(除非作者指定自由軟體基金會是著作權人)。通常認為,只有著作權人才有權對授權條款的違反進行起訴,但是那並不準確。法國的一個教育組織AFPA於2000年從Edu4購買課堂使用的電腦裝置發現其使用GPL軟體但並未附帶原始碼。[13][14]

自由軟體基金會允許人們使用以GPL為基礎的其他授權條款,但不允許演繹的授權條款未經授權地使用GPL的前言。不過像這樣的授權條款通常與GPL不相容。[15]

GNU計劃創立的其他授權條款包括:GNU較寬鬆公共授權條款和GNU自由文件授權條款。