- 期中考
1. 試述美國自由軟體基金會對自由軟體的定義。
Ans:
美國自由軟體基金會對自由軟體的定義:
其使用者有使用、複製、散佈、研究、改寫、再利用該軟體的自由。
更精確地說,自由軟體賦予使用者四種自由,使之完全具備以下四種權益:
- 自由之零:
不論任何目的,有使用該軟體的自由。
- 自由之一:
有研究該軟體如何運作,並且得以改寫來符合使用者自身需求的自由。
→ 前提:取得該軟體之源碼
- 自由之二:
有重新散佈該軟體的自由,每個人都可以藉由散佈自由軟體來敦親睦鄰。可以放在別的網站供大眾下載,也可以包在其他軟體中,或供其他軟體使用其中的功能碼等等。
- 自由之三:
有改善再利用該軟體的自由,並且得以發表改寫版供公眾使用,使整個社群受惠。→ 前提:取得該軟體之源碼
2. 試述開放原始碼促進會 (Open Source Initiative,OSI) 對開放原始碼的定義
Ans:開放原始碼促進會 (Open Source Initiative,簡稱OSI) 對開放原始碼的定義:
不僅要讓使用者近用原始碼,其授權條款必須完全符合十項範疇:
- 自由再散佈:
允許自由再散佈程式,並且不可收取授權金,不過仍然可以收取授權金以外的費用。 - 公開原始碼:
以原始碼形式散佈程式,以備他人修改。 - 衍生作品:
允許他人修改原程式, 並且得以散佈修改過的程式。 - 完整的原始碼:
必須保持原始碼的完整性,散佈修改程式時,應以不同的版本編號呈現修改過的版本,或附加修正檔於原程式。 - 不得對任何人或團體有差別待遇:
讓開放原始碼軟體得以廣泛散佈。 - 不得對使用範圍有差別待遇或限制:
可以在任何範圍內運用,不僅限於免費公益使用,還包括商業領域,可作為賺錢的工具。 - 授權條款中的權利適用於收到程式的所有使用者收到程式的人就要接受這個授權條款。
- 不得專屬於特定產品:
通用的,不得因產品別而特別制定另一個授權條款,仍應使用相同的授權條款,態度一致。 - 不得限制其他軟體:
多個程式一併散佈時,不得限制其他程式必須是開放原始碼。 - 技術中立:
可以在任何環境散佈,包括非網際網路、非圖形化使用者環境。
3. 試述 Debian 的社群契約。請問契約對象為何?
Ans:
Debian 的社群契約 Debian Social Contract
對象:Debian社群 與 自由軟體社群 (非所有使用者,參加自由軟體社群者才需要訂立此份契約)
標的:Debian中的軟體
內容:
- Debian始終是高質量100%的自由軟體 Debian will remain 100% free同時支持在Debian上開發及使用自由或非自由軟體,容許使用者使用非自由軟體,不加上任何限制,而這個系統不會依賴於任何非自由軟體。
- 回報自由軟體社群 We will give back to the free software community
反饋錯誤(bug)的修正、改良的意見、使用者的需求等資訊,不會私自流傳,力盡所能打造最優秀的系統,以利自由軟體得到最廣泛的使用及散布。 - 絕不隱瞞問題 We will
not hide problems
始終把整個的錯誤報告資料庫開放給公眾閱讀。 - 優先考慮我們的使用者及自由軟體 Our priorities are our users and free software
- 哪些作品不符合我們的自由軟體規範
Works that do not meet our free software standards
FTP 庫中留出「contrib」、「non-free」目錄,不自由的軟體會被特別放在不自由的目錄下,在這些目錄下的套件,儘管已被配置成可以在Debian下使用,仍然不屬於 Debian 系統,例如:skype。
此外,開發者為了非自由軟體,提供公共資源,例如:程式錯誤追蹤系統、通信論壇。
4. 試述 Debian 社群的行為準則?
Ans:
Debian社群的行為準則 Debian Code of Conduct
對象:Debian 開發者 (Debian producer)
- 尊重 Be respectful
例如:對盲人(視覺功能障礙),以純文字顯示,最後將一列列的文字顯示在點字機上供其觸摸辨識,基本上沒有圖,即使有圖,在圖本身內也會顯示註明,告知並解釋說明,不能放了圖後就什麼都不做。 - 假設大家都是正直的人 Assume good faith
- 願意與人合作 Be collaborative
- 精簡程式 Try to be concise
- 公開開放 Be open
- 發生問題時要體諒他人 In case of problems
5. 以實例列舉三個 Linux的 shell command,指出其用途。
Ans:
1.
2.
(1) cd
資料夾名稱 → 變更目錄 (change to directory)
(2) cd ..
→
回到上一層目錄
(3) cd ~(毛毛蟲);cd
→
回到使用者的家目錄
(1) ls 目錄名稱 → 列舉目錄資料夾中的檔案 (List files)
(2) ls
*.* = ls *
→ 列出在目錄中的所有檔案(包含任意副檔名)
3.
(1) cat 檔案名稱 → 將檔案內容列印到螢幕上直接檢視
(2) cat >>檔案名稱 → 輸入資料新增進原檔最後端
註:實現自由的前提是授權 ⇒ 自由軟體必須授權才是自由軟體
沒有留言:
張貼留言