2016年12月22日 星期四

1223linux心得

今天上課首先以42大學開始,再者說明圖書館軟體宣言,最後再回到Introduction to Free Software,以下為此次心得與筆記:

42大學 為一個無文貧的大學,學費免費,大多的學生念一年就離開了,因為裡面有提供工作機會,念一年就去工作了。
網路遊民,錄取75個人在12個城市,為期1年,每個地方停留1個月。
圖書軟體理宣言(Library Software Manifesto):
分為三部份:
1.消費者(圖書館軟體消費者)的權益
(1)我有權知道,現在有什麼、未來走向
(2)圖書館買的軟體有權利使用
(3)買軟體的界面大家都看得懂
(4)圖書館可以得到更多完整的文件
(5)有權利使用自己的資料
(6)有權利近2用唯獨資料庫
(7)應該把複雜東西便簡單
(8)已知購買方向
(9)提出系統性問題
(10)不會成為產品白老鼠
(11)產品升級(功能.bug)
2.消費者的責任
(1)有責任知道使用者的需求
(2)需求是否確實為它所要
(3)需求要清楚準確提出
(4)確認提出需求為所需要的,文字敘述是否一致
(5)能判斷需求之優先順序
(6)要求不能是特例
(7)選擇軟體程序要公平合理
(8)有責任去報告其錯誤,故這個軟體就有依據去修改(沒有軟體是有錯誤的)
(9)錯誤非重複性3要將其描述出來,環境要報告出來
(10)檢視其設定,檢視時要用批判性眼光
3.共享的責任
(1)圖書館要尊重開者
(2)要有良好的溝通
(3)程序要強化,並且要建立維護,要合理
(4)始終維持使用者需求為第一優先
(5)祝大家快樂高興(不要要求現今技術做不到的事情)
_________________________________________________________________________
BSD( 是個授權)
(1)要將COPYRIGHT文整內容放入
(2)binary要放進去
(3)這些人的名字不能當作保證(若我修改過不能說這是誰寫的所以沒問題,我修改過就是我的了,不能說我修改誰所以沒問題)

as is

食品安全在包裝上要註明,但軟體無法註明。

其他授權:
1.X Window licence(圖形介面)版本目前為11
專門散播,windows不使用,使用幾乎都是unix系統
也可以叫MIT licence

The GNU General Public Licence (GNU GPL)考試要全稱
licence本身就是使用gpl授權
在新鮮的肉這個網站統計70%都使用gpl

以著作權法為基礎來反對著作權法
gpl授權是保障使用者權利
它定義為copyleft
簡單來說使用到gpl軟體所寫的城市也是使用gpl授權
gpl的作用:保障source code的自由,GPL沒有限制自由是最沒有自由的

就像那個42大學,因為它沒有老師,沒有規則,等到錯了之後直接被退學,相較於輔仁大學,雖然有許多對於自由的限制,但卻很清楚知道哪些不能做或做錯有老師會告訴你。有限制的自由反而自由。

第三版不允許硬體限制其硬體只能用在某特定範圍
在GPL授權只能在自由軟體中。為了擴充自由軟體領域,於是產生了gnu
GPL與lgpl有何不同:gpl給軟體系統使用,若軟體為gpl授權或使用,那本身也必須是GPL授權。那llgpl的l是程式庫,不一定要特定的授權限制皆可使用。


補充:自由軟體為何會優於專屬軟體
就算使用微軟也能使用libreoffice,他的授權是lgpl

LaTEX
是一種基於TEX的排版系統,由美國電腦科學家萊斯利·蘭伯特在20世紀80年代初期開發,利用這種格式,即使使用者沒有排版和程式設計的知識也可以充分發揮由TEX所提供的強大功能。這是一個排版軟體,個人決得很有趣,如:可利用此軟體與簡單的語法排出
主題宏包範例圖對應語法(或有截取)
圍棋igo
中國象棋cchessLaTeX象棋.pdf
\normalboard
\begin{position}
\piece{a}{1}{r}
\piece{i}{1}{r}
\piece{b}{1}{n}
\piece{h}{1}{n}
\piece{c}{1}{b}
\end{position}
西洋棋skakLaTeX西洋棋.pdf
\fenboard{%
r5k1/%
1b1p1ppp/%
p7/%
1p1Q4/%
2p1r3/%
PP4Pq/%
BBP2b1P/%
R4R1K w - - 0 20}
\mbox{}\showboard

決的相當有趣,以上為此次的心得與筆記,還請老師與同學不吝指教!謝謝老師!





2016年12月17日 星期六

1216linux上課心得

今天上課內容首先為Debian國際化,述說Debian有一個計畫有很多人在進行翻譯,(當然我們也可以)。他們些了一種程式,供大家可直接翻譯存檔,內容就能直接呈現出該國家之語言,以下為此次上課之心得與筆記:

Debian國際化
工作用英文做出來
起點為英文
工作不只是製作軟體,還有文件與軟體安裝
在地化
I18n
個國語言可以用l10n的架構去處理
Debian中文化
Alioth是一個軟體,debian用這個來維護它的語言
Wiki共比
翻譯的部分:手冊、安裝器(Installer)manu
自由軟體不是一個張揚的團體
l   Debian Chinese Team
Translating and localization

國際化的目的是在地化,軟體要國際化資料要在地化。在設計軟體時將軟體獨立出來,不要跟軟體綁再一起,大概到1995這項技術才成熟。
舉例:
msgid "%s %s %s Item waiting at "ð原文
msgstr "%s %s %s 待機中のアイテム: "ð翻譯寫在這
此為程式碼
在翻譯中有困難通常用程式解決,使用環境變數


補充:環境變數
在網路上查詢,通常是說明在Linux裡設置環境變數PATH的方法,那甚麼事PATH呢?
ð在一個可以允許多人共用的系統中,系統環境變數的設定,會套用至每個登入的使用者,而使用者環境變數則只影響個別使用者。當你開啟一個文字模式時,所獲得的 環境變數,會是系統環境變數再「附加」上使用者環境變數。
(參考資料:PATH 是什麼?。2016/12/17取自:http://openhome.cc/Gossip/JavaEssence/WhatPath.html)

接下來看到Linux中文檔案計畫
雖然目前已停止更新,但由於前人的努力,我們現在才有中文版本可以使用,真的很感謝他們的努力,最後更新時間為2003年。
Linux中文檔案計畫
輔仁大學的網路是台灣學術網路,學術網路可以用在公益事業
linux中套件的包裝常用有的有兩種:debrpm
GNUGPL通用公共授權條款

以上為此次上課心得與筆記,還請老師與同學多多指教!謝謝大家!

2016年12月10日 星期六

1209linux心得

今天要'ˋ的課程內容是:Introduction to Free Software,以下為此次上課之心得與筆記:

這學會本來是在西班牙
授權給妳COPY

上課時老師帶著我們看第3項:

3. Legal aspects法律層面
大部分這麼想自由軟體開放員馬沒有著作權,但並不是,其實他有授權,這之中就寫出了他的授權
這授權在軟體方面來說可以自由共享與改變
特別只說一由軟體本身
3.1intellectual property有四種
3.1.1著作權跟版權不同,版權是版面
3.1.2Trade secret
3.1.3專利(先到為主)
3.1.4商標(長久經營,民眾看到就知道其背後意義)
3.2自由軟體的授權(有三種授權)(所有的授權都可以複製修改散佈)
3.2.1被動授權
3.2.2強力授權
3.2.3授權有好幾種,我可以選擇要用哪個
J
聯合過教科文組織下的國際資產局,現在全放到WTO
Declaration of Human Rights世界人權宣言,第27(考試會考內容,背下來)
1.人人有權自由參加社會的文化生活,享受藝術,並分享科學進步及其產生的福
利。
2.人人對由於他所創作的任何科學、文學或美術作品而產生的精神的和物質的利
益,有享受保護的權利。社會和國際的秩序
每個人都有權利保障自己的智慧protection財產權與實體財產權materia
但實際上不是,現在都轉換到公司,將所有買下來,((雖然台灣法律規定人格權不行,但商業都辦得道))
去想如何讓我做出來的東西大家也能用
智慧財產權不是人權,是政府特許的,經過一段時間會失效
複製不會去騎士任何團體,但盜版就不一樣了
我們的創意是逐步增加累積的(漸悟),再創造新東西時其實是不斷抄別人的
COPYRIGHT著作權保障的是內容表達,而非內容本身
伯恩習藝(保障文學與藝術品)
1.      散佈作品的權益在座者手上
2.      藉這個作品獲取利益
iNTERNATION RIGHT在台灣是作者死後50
台灣授權中國許可證
現在科技會產生像web這種東西(數位),數位複製就容易,所以羧就為是否惡意
若沒有得到許可就去做就叫妳海盜”(侵犯別人的著作,通常只複製)
著作財產權如何為護自己權利:數位權利管理:美用一次記錄一次(自由軟體界用:數位限制管理)
著作權法:(不滿意的部分)
三大目的:保障著作權人的權益、調和、促進
著作權包括人格權與財產權
在家複製合法但在馬路上不合法
甚麼東西不能為著作權的標的(9):不能以違反著作權的理由去告他
著作權人有哪些權利,把它寫下來

3.      禁止別人改變其內容
人格中還提到說不得成為強制執行的標的,不得轉讓繼承
人格權的內容:1.公開發表2.重製3.禁止改變

23 條:著作人專有公開口述其語文著作之權利。
全世界最大的智慧財產權收入者為美國,故他將人死後之年限最先延長
著作財產權,除本法另有規定外,存續於著作人之生存期間其死亡後五十年(為什麼是50)
50改成75時,發現時間快到了,於是就在增加20年變90年。
以前的義大利:為了保護紡織品的技術,14年之內有專利。因為學徒學會要7年。

42                
著作財產權因存續期間屆滿而消滅(指前面這些權益)。於存續期間內,有下列情形之一者,
亦同︰
一、著作財產權人死亡,其著作財產權依法應歸屬國庫者。
二、著作財產權人為法人,於其消滅後,其著作財產權依法應歸屬於地方
    自治團體者。

著作財產權的限制:
在合理使用範圍內,如:教育

著作完成於世界貿易組織協定,看沿革

為什麼法律改的這麼頻繁,台灣在這個領域是美國的一州

2016年11月7日 星期一

1104linux心得

下周為期中考試,以下對於這次期中考考試內容進行整理:

Debian 社群契約 Debian Social Contract
一、前言
參加 Debian 計畫,即代表認同 Debian 社群契約;雖然沒有親自簽約,使用 Debian,即代表參與 Debian 社群契約。

Version 1.01997 7   5 獲準通過。
Version 1.12004 4 26 獲准通過。
現在的版本為8.0  Jessie
二、與自由軟體社群訂立社群契約 Social Contract with the Free Software Community
   → 
人與 Debian 之間的關係
  1. Debian 始終是高質量100%的自由軟體 Debian will remain 100% free
    同時支持在 Debian 上開發及使用自由或非自由軟體,容許使用者使用非自由軟體,不加上任何限制,然而這個系統不會依賴於任何非自由軟體。同時推廣Debian給其他人,討論他,展示給別人看。
  2. 回報自由軟體社群 We will give back to the free software community
    反饋錯誤(bug)的修正 、改良的意見、使用者的需求等資訊,不會私自流傳,力盡所能打造最優秀的系統,以利自由軟體得到最廣泛的使用及散佈。 發現有問題時,你一定會回報。不一定回報給debian,可以回報給社群,或者使用的自由軟體。
  3. 絕不隱瞞問題 We will not hide problems
    始終把整個的錯誤報告資料庫開放給公眾閱讀。
  4. 優先考慮我們的使用者及自由軟體 Our priorities are our users and free software
debian支持自由軟體及debian使用者,協助debian使用者的問題。
  1. 哪些作品不符合我們的自由軟體規範
    Works that do not meet our free software standards

    許使用不自由的軟體,很清楚的讓使用者知道說,你使用的不是自由軟體。FTP 庫中留出 contrib」、「non-free 目錄,不自由的軟體會被特別放在不自由的目錄下,在這些目錄下的套件,儘管已被配置成可以在 Debian下使用,仍然不屬於 Debian 系統,例如:skype。儘管非自由軟體並非 Debian 系統的一部分,仍可使用之;此外開發者為了非自由軟體,提供公共資源,例如:程式錯誤追蹤系統、通信論壇。

    註:facebook 雖然不用安裝,但是不自由


Debian 自由軟體指導方針 Debian Free Software Guidelines (DFSG)
   → 判定某項作品自由與否的標準;應該做出怎麼樣的軟體;Debian 如何使用這些自由軟體
原先目的是宣告我們願意共同遵守的承諾,後來被自由軟體社群所採納,成為 開放源碼定義 (Open Source Definition) 的基礎。
1.  自由的再次散佈 Free Redistribution (不得索取專利費或其它銷售費用)
2.  n始碼公開 Source Code =>允許可以修改
例如:.odt,不做成圖檔 (除非.ogg.odg)
要有原始碼 ,例如你的筆記不能變成圖檔,要做成文字檔。圖檔就不能讓人修改。要有原始檔,還要給編譯好的。
3.  作品的衍生 Derived Works
許可證必須允許對其所屬作品的修改以及衍生,而且必須允許這些作品在原始 軟體的許可証條款下散佈。
4.  作者原始碼的完整性 Integrity of The Author's Source Code
修改後再散布時,必須散布其原檔與修改檔,讓收到檔案的人可決定閱讀哪一個檔案。修補檔案/補釘檔 (patch file隨其所屬作品的原始碼一同發行,如此一來,最後一個檔案會包含先前所有的補釘。
5.  禁止歧視人仕或團體 No Discrimination Against Persons or Groups
不能歧視某團體或是人。什麼事歧視呢?假如你軟體是中文,不能翻譯成義大利文就是歧視義大利人。假如有人想要賣掉,也不行,因為你歧視商人
6.  禁止歧視用途 No Discrimination Against Fields of Endeavor
例如:許可證不得限制程式用於商業或基因研究歧視商人;
           
許可證不得限制翻譯語言歧視種族
7.  許可證的散佈 Distribution of License
程式附帶的權利適用於程式再次發行的每一個受眾
不需要用其他授權方式,可以直接散佈
8.  許可證不能特定於 Debian 適用所有 License Must Not Be Specific to Debian
程式附帶的權利不能由該程式是否為 Debian 的一部分來決定。
即使程式在 Debian 之外,仍然在該程式的許可證條款下使用或散佈,再次發行的每一個受眾都將擁有該程式與 Debian 系統結合時被授予的完全相同的權利。
9.  許可證的規定不得污染其他軟體 License Must Not Contaminate Other Software
允許使用其他軟體,包含:非自由軟體。
10.           Debian 容許的授權方式 / 「自由」許可證示例 Example Licenses
GPL」、「BSD」、「Artistic」等等。

註:在法國大革命之前,自由的定義、論述還不夠完備,直到盧梭提出自由民主主義思想
Debian Code of Conduct (Debian行為準則)
     → 遵守 Debian 條款 (一直變動) debian人需要遵守的
1.  尊重 Be respectful
我不同意你的觀點,但我誓死捍衛你說話的權利
2.  假設大家都是正直的人 Assume good faith
3.  願意與人合作 Be collaborative
4.  簡單明瞭 Try to be concise
5.  公開開放 Be open
不可告訴別人不可告訴別人
不能跟別人說''黑嘿嘿我跟你說喔不能跟別人說這件事情''這個人一定有問題,開放。
6.  發生問題時要體諒他人 In case of problems
Sometimes people may have a bad day.

註:類似中華民國圖書館員倫理守則 The Professional Moralities of Librarians

試述自由軟體授與使用者的四種自由?

自由軟體賦予使用者四種自由:
A program is free software if the program's users have the four                        essential freedoms:
(1)不論目的為何,有使用該軟體的自由 (自由之零)
             The freedom to run the program as you wish, for any purpose (freedom 0).

(2)有研究該軟體如何運作的自由,並且得以改寫該軟體來符合使用者自身的需求 (自由之一) 。取得該軟體之源碼為達成此目的之前提。
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

(3)有重新散佈該軟體的自由,所以每個人都可以藉由散佈自由軟體來敦親睦鄰 (自由之二)
The freedom to redistribute copies so you can help your neighbor (freedom 2).

 (4)有改善再利用該軟體的自由,並且可以發表改寫版供公眾使用,如此一來,整個社群都可以受惠。 如前項,取得該軟體之源碼為達成此目的之前提 (自由之三)
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

GNU是什麼?GPL是什麼?
(1)GNU:
GNU名稱來自”Gnu's Not Unix”的縮寫,一個類UNIX的操作系統,由GNU計劃推動,目標在於創建一個完全兼容於UNIX的自由軟件環境。發展GNU系統的計劃,最早由Richard Stallman1983年啟動,它是自由軟件基金會最早致力的目標。
GNU, which stands for Gnu's Not Unix, is the name for the complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it. Several other volunteers are helping me. Contributions of time, money, programs and equipment are greatly needed.
(2)GPL: General Public License
GPL 授權條款起源於美國自由軟體基金會(Free Software Foundation)GNU計畫,由Richard Stallman所起草,原本的 目的係為了在自由的基礎下,規範GNU計畫下創作軟體的分享,也形成開放原始碼精神的濫觴。漸漸地,隨著許 多非GNU計畫 軟體引用GPL的授權方式,GPL也成為目前開放原始碼軟體最常見的授權方式。根據GPL授權條款 的規定,明確地指出授權條款保障的是所有使用者自由複製、散佈與修改的權利,其它活動則不在涵蓋範圍之內。

Free Software (自由軟體) Freeware (免費軟體)有何不同?
(1)Free Software:
「自由軟體」指尊重使用者及社群自由的軟體。簡單來說使用者可以自由運行、複製、發佈、學習、修改及改良軟體。他們有操控軟體用途的權利。如果使用者不能控制軟體,就會反被軟體操控,而軟體開發者就可以透過軟體操控使用者。這些不自由(nonfree)或專有(proprietary)的軟體就成為不公義勢力的利器。所以「自由軟體」是自由、權利的問題,而不是價格的問題。自由軟體的性質就跟「自由言論」一樣,而不是「免費啤酒」。(英文中的free 有自由及免費兩種意義)

如果軟體使用者有以下四項自由,那軟體就是自由軟體︰
A.以任何目的運行該程式 (自由0)
B.取得軟體的代碼(source code)並學習程式的運作、修改為你想要的樣子
(自由1)
C.隨意發佈軟體副本以幫助別人 (自由2)
D.隨意分發你修改的版本(包括代碼)給別人 (自由 3)。此舉可使你的版本
惠及社群\
(2)Freeware :
內涵是作者允許使用者在某些條件下能「免授權金」地使用該軟體;通常只讓使用者有免費執行該程式的自由,而不及於其他諸如修改、散布、商用等自由。
著佐權
        美國自由軟體基金會新創「著佐權 (Copyleft) 」一詞,以著佐權保障程式或作品使用者的自由,規定使用該程式或作品的人,必須把修改及擴充的程式或作品,以同樣方式釋放出來。
        著佐權最早是因GNU計畫提供所有人再散布及修改GNU軟體的自由,而最簡單的軟體自由化方式,是把程式置於公領域 (public domain) ,即著作財產權消滅,允許他人分享及修改此程式。
        然而,某些不願意別人自由的人,可以藉由散布修改後的程式,把這些程式轉換為他們的專屬軟體(proprietary software),剝奪使用他人使用程式的自由。基於這層顧慮,與其把GNU計畫的軟體置於公領域,美國自由軟體基金會提出「著佐權」的概念。
        再散布軟體的人,不論是否修改該軟體,必須把再散布及修改的自由一起散布下去,著佐權保證每個使用者都有自由。
         專屬軟體的作者以著作權剝奪使用者的自由,我們以著作權保障使用者的自由,所以更改「著作權」 (Copyright) 為「著佐權」 (Copyleft) 。英文的「right () 被換為「left () ,原有的中文譯名「作」,則以諧音「佐」取代。
         以授權條款著佐程式時,先聲明該程式受著作權保護,然後再加上散布條款,在不更改散布條款的前提下,授予每個人使用、修改及再散布程式碼的權利。
         因此,著佐權是把著作權應用在程式的一種方法,並不是放棄著作權,放棄著作權就不可能有著佐權。「Copyleft」裡的「left」,不是拋棄的意思,祗是「右」 (right) 的反義詞。
         著佐權是個不能直接使用的概念,必須以其他方式將其實現,例如公共許可證 (GNU General Public licneseGNU GPL) 的散布條款實現著佐權的概念。

重要的 Shell 指令
cat 檔案
將檔案內容列印在螢幕上
cd 目錄
變換工作目錄
cp 檔案 目的地
複製檔案或複製整個目錄
echo 字串
將字串顯示至螢幕上
gzip, bzip2, xz  檔案
gzip, bzip2, xz [-d] 檔案
壓縮檔案
解壓縮檔案
pager 檔案
顯示檔案內容
ls [檔案]
列出目錄中的檔案與目錄列表
mkdir 目錄名稱
建立新的目錄
rmdir 目錄
刪除『』的目錄
mv 檔案  目錄 or  mv 目錄 目錄


mv 檔案  檔案 or  mv 目錄 目錄
將某個檔案or目錄移動到某個目錄去
[root@study tmp]# mv bashrc mvtest
F檔案bashrc移動至mvtest目錄
變更檔案or目錄名稱
[root@study tmp]# mv mvtest mvtest2
F將目錄mvtest名稱更名為 mvtest2
rm 檔案or目錄
移除檔案或目錄
tar [c][x][t][z][j][J] -f 檔案.tar [
]
建立 (c)、解開 (x)、列出 (t)
保存檔,z 用於 .gz j 用於
.bz2 J 用於 .xz
find 目錄表達式
用像是 -name 名稱或 –size +1000 等等來尋找檔案
[root@study ~]# find -name passwd
F找出檔名為 passwd 這個檔案
[root@study ~]#find /home/apache -size 100c –print
F/home/apache目錄下查找檔長度恰好為100位元組的檔
grep 搜尋字串 檔案
在檔案中尋找字串
[root@study ~]# grep 'linux' test.txt
Ftest.txt檔案中搜尋含'linux'的內容
ln -s 檔案 連結
建立一個指向檔案的符號連結(類似Windows的捷徑)
[root@study tmp]# ln -s passwd passwd-so
Fpasswd檔案建立符號連結passwd-so
ps [選項]
顯示當前的程序。
[root@study ~]# ps –l
F僅觀察自己的bash相關程序:ps –l
[root@study ~]# ps aux
F觀察系統所有程序:ps aux
kill [-9] 程序代號
傳送訊號給程序(如:-9是立刻強制刪除一個工作);使用ps來得到程序代號(PID)
[root@study ~]# ps -l
F S   UID   PID  PPID 
4 S    0   14830 13970
4 S    0   14835 14830
4 S    0   14836 14835
0 R    0   15011 14836
[root@study ~]# kill -9 14835
F程序代號14835的工作被強制刪除
su - [使用者名稱]
切換成另一個使用者,例如root
sudo 指令
讓一般使用者能以 root 來執行某個指令。請參閱/etc/sudoers
command > 檔案
以指令的輸出結果替代檔案內容
command >> 檔案
將指令的輸出結果附加於檔案之後
指令1 |指令2
將指令1的輸出結果做為指令2的輸入。
[root@study ~]# cat test | grep -nf test2
F輸出test文件,test文件中含有從test2檔案中讀取出的關鍵字的內容行,並顯示每一行的行號
指令 < 檔案
將檔案內容作為指令的輸入

以上為這次考試之重點內容整理,若有錯誤的地方還請老師與多學多多指教,謝謝老師的教導,祝大家期中考順利!