2014年12月11日 星期四

1212Linux

自由軟體(Free Software)的定義界定了一個特定的軟體能否乎合自由軟體的準則。為了解決一些細節的問題,我們不時會重新審視這些準則。可以從以下的更新記錄了解這個定義的演變。「自由軟體」指尊重使用者及社群自由的軟體。簡單來說使用者可以自由運行、複製、發佈、學習、修改及改良軟體。他們有操控軟體用途的權利。

如果使用者不能控制軟體,就會反被軟體操控,而軟體開發者就可以透過軟體操控使用者。這些不自由(nonfree)或專有(proprietary)的軟體就成為不公義勢力的利器。
所以「自由軟體」是自由、權利的問題,而不是價格的問題。自由軟體的性質就跟「自由言論」一樣,而不是「免費啤酒」[按1]。
如果軟體使用者有以下四項自由,那軟體就是自由軟體︰

以任何目的運行該程式 (自由0)[按2]。
取得軟體的代碼(source code)並學習程式的運作、修改為你想要的樣子 (自由1)
隨意發佈軟體副本以幫助別人 (自由2)。
隨意分發你修改的版本(包括代碼)給別人 (自由 3)。此舉可使你的版本惠及社群。

自由軟體參考資料:http://www.gnu.org/philosophy/free-sw.zh-tw.html

開放原始碼軟體 (Open Source Software),指的是符合開放源碼促進會 (Open Source Initiative, OSI) 所訂定開放源碼定義 (Open Source Definition, OSD) 的軟體。
開放源碼定義由 Bruce Perens 所擬,其曾經為 Debian 開發計畫的領導人,並為 Debian 草擬「Debian 自由軟體指導綱要(The Debian Free Software Guidelines, DFSG,註二)」,用來判斷 Debian 計畫中的程式是否為自由軟體,之後裴倫斯將 DFSG 加以修改成為開放源碼定義的第 1 版。目前開放源碼定義由 OSI 維護,最新版本為第 1.9 版,共有十項要件(註三):

1.自由再散布 (Free Distribution):允許自由再散布程式,並且不可以因此而收取授權金,不過仍然可以收取授權金以外的費用。
2.原始碼 (Source Code):為了使程式可以被修改,所以必須允許程式以原始碼形式散布。散布原始碼的形式不拘,可以透過電子媒介,也可以透過紙本。而除了直接提供原始碼外,也可以先單獨散布程式的執行檔,若收到執行檔之人想要原始碼時,可以再向散布執行檔著索取原始碼,現行常見的做法,是將程式執行檔與原始碼的下載連結置於同一網頁上,於固定網址中提供他人自行下載。
3.衍生著作 (Derived Works):必須允許他人可以修改原程式,並且允許他人散布修改過的程式。授權條款可以要求修改過的程式必須採用與原程式相同的授權內容,不過此並非是這項定義中強制性的要求。
4.原創作者程式原始碼的完整性 (Integrity of The Author's Source Code):為了保持原作者原始碼的完整性,授權條款可以要求修改版本冠以不同的版本編號,用來和原程式做區別,或者是要求以修正檔 (patch files) 附加於原程式的形式來散布修改程式。這項定義並不是強制性。
5.不得對任何人或團體有差別待遇 (No Discrimination Against Persons or Groups):為了讓開放源碼軟體可以廣泛地散布,授權條款內容不得歧視任何人或團體。不過某些國家對於特定種類的軟體設有輸出限制,授權條款中可以提醒使用者可能有這樣的規定必須遵守,不過條款本身則不可以有輸出限制的內容。
6.對程式在任何領域內的利用不得有差別待遇 (No Discrimination Against Fields of Endeavor):基於和第五項定義同樣的理由,授權條款內容不得限制程式僅可以或不可以在特定領域中運用,當然也不得限制程式在商業領域中的運用。
7.散布授權條款 (Distribution of License):授權條款中的權利繼續適用於收到程式的所有使用者。這項要件的重點並非在於,修改過的程式仍然必須適用相同的授權條款,因此像 GPL 這樣的授權條款也符合這項要件。
8.授權條款不得專屬於特定產品 (License Must Not Be Specific to a Product):這一項定義是防止開放源碼軟體的程式被封閉起來。若多個程式一同以一個開放源碼套裝軟體 (package) 的形式散布時,若其中一個程式單獨被拿出來散布時,授權條款不可以限制這個程式繼續以開放源碼授權條款散布。
9.授權條款不得限制其他軟體 (License Must Not Restrict Other Software):一個開放源碼程式與其他程式在透過同一個散布媒介體散布,例如 CD-ROM,此時開放源碼授權條款不得限制其他一同散布的程式也必須是開放源碼的。
10.授權條款必須技術中立 (License Must Be Technology-Neutral):授權條款必須技術中立,必須使程式可以在非網際網路環境以及在非圖形化使用者環境 (non-GUI) 下散布。若是授權條款規定「點選即視為同意 (click-wrap)」的程序作為使用者接受條款的要件,這樣的規定會阻礙程式透過紙本散布,就不符合技術中立要件的要求。

參考資料:http://www.openfoundry.org/tw/news/520

1205Linux

今天課堂介紹IP位址
1. 網際網路協定位址(Internet Protocol Address),又譯為網際協定位址。
2.分為IPv4與IPv6兩大類。
3.浮動IP
https://zh.wikipedia.org/wiki/IP%E5%9C%B0%E5%9D%80

IP分發架構為Iana=>1.AfriNIC 2.APNIC 3.ARIN 4.LACNIC 5.RIPE NCC(依地區區分)







IANA
網際網路號碼分配局(英語:Internet Assigned Numbers Authority,縮寫IANA),是一家網際網路位址指派機構,管理國際網際網路中使用的IP位址、網域名稱和許多其它參數的機構。IP位址、自治系統成員以及許多頂級和二級網域名稱分配的日常職責由網際網路註冊中心(IR)和地區註冊中心承擔。IANA是由ICANN管理的。官網:http://www.iana.org/

RFC
徵求修正意見書(英語:Request For Comments,縮寫為RFC),是由網際網路工程任務組(IETF)發行的一系列備忘錄。檔案收集了有關網際網路相關資訊,以及UNIX和網際網路社群的軟體檔案,以編號排定。目前RFC檔案是由網際網路協會(ISOC)贊助發行。
常見網際網路協定的RFC編號
IP:791

Domain Name
網域名稱(英語:Domain Name),又稱網域、網域名稱,是由一串用點分隔的名字組成的Internet上某一台電腦或電腦組的名稱,用於在資料傳輸時標識電腦的電子方位(有時也指地理位置)。DNS(網網域名稱稱系統,Domain Name System,有時也簡稱為網域名稱)是網際網路的一項核心服務,它作為可以將網域名稱和IP位址相互對映的一個分布式資料庫,能夠使人更方便的存取網際網路,而不用去記住能夠被機器直接讀取的IP位址數串。
例如,www.wikipedia.org作為一個網域名稱,便和IP位址208.80.152.2相對應。DNS就像是一個自動的電話號碼簿,我們可以直接撥打wikipedia的名字來代替電話號碼(IP位址)。DNS在我們直接呼叫網站的名字以後就會將像www.wikipedia.org一樣便於人類使用的名字轉化成像208.80.152.2一樣便於機器識別的IP位址。

2014年12月4日 星期四

1121Linux

今天介紹的是GNU計劃,是一種自由軟體共享的協定
GNU計劃(英語:GNU Project),有譯為「革奴計劃」,是由李察·斯托曼在1983年9月27日公開發起的自由軟體集體協作計畫。它的目標是建立一套完全自由的作業系統GNU。李察·斯托曼最早是在net.unix-wizards新聞群組上公布該訊息,並附帶一份《GNU宣言》等解釋為何發起該計劃的文章,其中一個理由就是要「重現當年軟體界合作互助的團結精神」。
UNIX是一種廣泛使用的商業作業系統的名稱。由於GNU將要實現UNIX系統的介面標準,因此GNU計劃可以分別開發不同的作業系統。GNU計劃採用了部分當時已經可自由使用的軟體,例如TeX排版系統和X Window視窗系統等。不過GNU計劃也開發了大批其他的自由軟體,這些軟體也被移植到其他作業系統平台上,例如Microsoft Windows、BSD家族、Solaris及Mac OS。為保證GNU軟體可以自由地「使用、複製、修改和釋出」,所有GNU軟體都包含一份在禁止其他人添加任何限制的情況下,授權所有權利給任何人的協定條款,GNU通用公眾授權條款(GNU General Public License,GPL)。這個就是被稱為「公共版權」的概念。GNU也針對不同場合,提供GNU較寬鬆公共許可證與GNU自由文件授權條款這兩種協定條款。

GNU計劃的官方網站:http://www.gnu.org/home.en.html

1107Linux

今天毛老師講到自由是包含能在自由的軟體中使用不自由的軟體,Debian即為Linux的發行版
Linux發行版(GNU/Linux 發行版),為使用者預先整合好的Linux作業系統及軟體。使用者不需要重新編譯,小幅度更改設定即可,通常以軟體包管理系統來進行應用軟體的管理。Linux發行版通包含桌面環境、辦公套件、媒體播放器、資料庫等應用軟體。並依程度分為嘗試、不穩定及穩定階段
以下舉幾個例子:

(1) Linux Mint:是對使用者友好而功能強大的作業系統。理想之一是把先進技術,以簡單的方式呈現給使用者,以此來成為最優秀的作業系統。

(2) Ubuntu:目標是為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟體構建而成的作業系統。現今具有龐大的社群力量,用戶可以方便地從社群獲得幫助。
(3) Fedora:較具知名度的Linux發行套件之一,由Fedora 專案社群開發、紅帽公司贊助,目標是建立一套新穎、多功能並且自由的作業系統。
(4) Debian GNU/Linux:是由GPL和其他自由軟體許可協議授權的自由軟體組成的作業系統,由Debian計畫組織維護。
(5) openSUSE:是以Linux核心為基礎,提供符合一般日常使用的作業系統。
(6) Arch Linux:是朝向輕量以及簡單的Linux發行版。其中「簡單」被定義為「避免不必要或複雜的修改」,也就是說,是由開發者角度定義,而非使用者角度思考。
(7) PCLinuxOS:以LiveCD的形式發行,既可在光碟機中執行,也可安裝在硬碟上。PCLinuxOS和其他基於Mandriva的發行版不同的是使用APT包來安裝軟體。
(8) CentOS:來自於Red Hat Enterprise Linux依照開放原始碼規定釋出的原始碼所編譯而成。由於出自同樣的原始碼,因此有些要求高度穩定性的伺服器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在於CentOS並不包含封閉原始碼軟體。CentOS 對上游代碼的主要修改是為了移除不能自由使用的商標。
(9) Mageia:是一個非營利組織及其主導的Linux發行版的名稱。
(10) Slackware Linux:與其他的發行版本不同,它力圖成為「UNIX風格」的Linux發行版本。只吸收穩定版本的應用程式,並且缺少其他linux版本中那些為發行版本客製的配置工具。