2021年10月22日星期五

How the SELinux policy of www directory is?

 


 

 [root@study ~]# semanage fcontext -l | grep '/var/www'
/var/www(/.*)?                                     all files          system_u:object_r:httpd_sys_content_t:s0
/var/www(/.*)?/logs(/.*)?                          all files          system_u:object_r:httpd_log_t:s0
/var/www/[^/]*/cgi-bin(/.*)?                       all files          system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/apcupsd/multimon\.cgi                     regular file       system_u:object_r:apcupsd_cgi_script_exec_t:s0
/var/www/apcupsd/upsfstats\.cgi                    regular file       system_u:object_r:apcupsd_cgi_script_exec_t:s0
/var/www/apcupsd/upsimage\.cgi                     regular file       system_u:object_r:apcupsd_cgi_script_exec_t:s0
/var/www/apcupsd/upsstats\.cgi                     regular file       system_u:object_r:apcupsd_cgi_script_exec_t:s0
/var/www/calamaris(/.*)?                           all files          system_u:object_r:calamaris_www_t:s0
/var/www/cgi-bin(/.*)?                             all files          system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/cgi-bin/apcgui(/.*)?                      all files          system_u:object_r:apcupsd_cgi_script_exec_t:s0
/var/www/cgi-bin/cgit                              regular file       system_u:object_r:git_script_exec_t:s0
/var/www/cgi-bin/cvsweb\.cgi                       regular file       system_u:object_r:cvs_script_exec_t:s0
/var/www/cgi-bin/keystone(/.*)?                    all files          system_u:object_r:keystone_cgi_script_exec_t:s0
/var/www/cgi-bin/munin.*                           all files          system_u:object_r:munin_script_exec_t:s0
/var/www/cobbler(/.*)?                             all files          system_u:object_r:cobbler_var_lib_t:s0
/var/www/dspam(/.*?)                               all files          system_u:object_r:dspam_content_t:s0
/var/www/dspam/.*\.cgi                             regular file       system_u:object_r:dspam_script_exec_t:s0
/var/www/gallery/albums(/.*)?                      all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/git(/.*)?                                 all files          system_u:object_r:git_content_t:s0
/var/www/git/gitweb\.cgi                           regular file       system_u:object_r:git_script_exec_t:s0
/var/www/gitweb-caching/gitweb\.cgi                regular file       system_u:object_r:git_script_exec_t:s0
/var/www/html(/.*)?/sites/default/files(/.*)?      all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/sites/default/settings\.php    regular file       system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/uploads(/.*)?                  all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp-content(/.*)?               all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp_backups(/.*)?               all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/[^/]*/cgi-bin(/.*)?                  all files          system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/html/cgi/munin.*                          all files          system_u:object_r:munin_script_exec_t:s0
/var/www/html/configuration\.php                   all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/munin(/.*)?                          all files          system_u:object_r:munin_content_t:s0
/var/www/html/munin/cgi(/.*)?                      all files          system_u:object_r:munin_script_exec_t:s0
/var/www/html/nextcloud/data(/.*)?                 all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/owncloud/data(/.*)?                  all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/icons(/.*)?                               all files          system_u:object_r:httpd_sys_content_t:s0
/var/www/miq/vmdb/log(/.*)?                        all files          system_u:object_r:httpd_log_t:s0
/var/www/moodle/data(/.*)?                         all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/moodledata(/.*)?                          all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/nut-cgi-bin/upsimage\.cgi                 regular file       system_u:object_r:nutups_cgi_script_exec_t:s0
/var/www/nut-cgi-bin/upsset\.cgi                   regular file       system_u:object_r:nutups_cgi_script_exec_t:s0
/var/www/nut-cgi-bin/upsstats\.cgi                 regular file       system_u:object_r:nutups_cgi_script_exec_t:s0
/var/www/openshift/broker/httpd/logs(/.*)?         all files          system_u:object_r:httpd_log_t:s0
/var/www/openshift/broker/httpd/run(/.*)?          all files          system_u:object_r:httpd_var_run_t:s0
/var/www/openshift/console/httpd/logs(/.*)?        all files          system_u:object_r:httpd_log_t:s0
/var/www/openshift/console/httpd/run(/.*)?         all files          system_u:object_r:httpd_var_run_t:s0
/var/www/openshift/console/log(/.*)?               all files          system_u:object_r:httpd_log_t:s0
/var/www/openshift/console/tmp(/.*)?               all files          system_u:object_r:httpd_tmp_t:s0
/var/www/perl(/.*)?                                all files          system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/stickshift/[^/]*/log(/.*)?                all files          system_u:object_r:httpd_log_t:s0
/var/www/svn(/.*)?                                 all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/svn/conf(/.*)?                            all files          system_u:object_r:httpd_sys_content_t:s0
/var/www/svn/hooks(/.*)?                           all files          system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/usage(/.*)?                               all files          system_u:object_r:webalizer_rw_content_t:s0
/var/www/wiki[0-9]?(/.*)?                          all files          system_u:object_r:mediawiki_rw_content_t:s0
/var/www/wiki[0-9]?\.php                           regular file       system_u:object_r:mediawiki_content_t:s0

How to find the service in CentOS and Red Hat Linux?

 




Step1. netstat -tnlp 

           and then find the Program name 

[root@study /]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:514                                  0.0.0.0:*               LISTEN      1711/rsyslogd      
tcp        0      0 0.0.0.0:111                                  0.0.0.0:*               LISTEN      1/systemd          
tcp        0      0 192.168.122.1:53                        0.0.0.0:*               LISTEN      2411/dnsmasq       
tcp        0      0 0.0.0.0:22                                     0.0.0.0:*              LISTEN      1274/sshd          
tcp        0      0 127.0.0.1:631                               0.0.0.0:*              LISTEN      1264/cupsd         
tcp        0      0 127.0.0.1:25                                  0.0.0.0:*             LISTEN      8264/master        
tcp6       0      0 :::514                                                      :::*            LISTEN      1711/rsyslogd      
tcp6       0      0 :::111                                                      :::*            LISTEN      1/systemd          
tcp6       0      0 :::80                                                        :::*            LISTEN      1714/httpd         
tcp6       0      0 :::21                                                        :::*            LISTEN      1717/vsftpd        
tcp6       0      0 :::22                                                        :::*            LISTEN      1274/sshd          
tcp6       0      0 ::1:631                                                     :::*           LISTEN      1264/cupsd         
tcp6       0      0 ::1:25                                                      :::*            LISTEN      8264/master        
udp        0      0 0.0.0.0:46637                                 0.0.0.0:*                                 881/avahi-daemon: r
udp        0      0 192.168.122.1:53                            0.0.0.0:*                               2411/dnsmasq       
udp        0      0 0.0.0.0:67                                        0.0.0.0:*                               2411/dnsmasq       
udp        0      0 0.0.0.0:111                                      0.0.0.0:*                               1/systemd          
udp        0      0 0.0.0.0:5353                                    0.0.0.0:*                               881/avahi-daemon: r
udp        0      0 127.0.0.1:323                                   0.0.0.0:*                               897/chronyd        
udp6       0      0 :::111                                                        :::*                                1/systemd          
udp6       0      0 :::35040                                                    :::*                                881/avahi-daemon: r
udp6       0      0 :::5353                                                      :::*                                881/avahi-daemon: r
udp6       0      0 ::1:323                                                      :::*                                897/chronyd        
[root@study /]#
         




 

2021年10月19日星期二

How to add multiple user with sh?




Step 1. mkdir bin

Step 2.cd/root/bin

Step3.vim useradd.sh

#:/bin/bash

groupadd workstation

for username in workstation1 workstation2 workstation3 workstation4 workstation5

do

        useradd -G workstation $username

        echo "password" | passwd --stdin $username

done


Step4.sh useradd.sh

Step5.id workstation1


2021年10月18日星期一

How to install a software that have not been in Centos automatically?


[neo@localhost skel]$ iostat
bash: iostat: 找不到指令...
是否要安裝「sysstat」軟體包以提供「iostat」指令? [N/y] y


 * 正在依佇列等待...
 * 正在載入軟體包清單。...
下列軟體包必須安裝:
 sysstat-11.7.3-5.el8.x86_64    Collection of performance monitoring tools for Linux
要處理變更嗎? [N/y] y


 * 正在依佇列等待...
 * 正在等候認證...
 * 正在依佇列等待...
 * 正在下載軟體包...
 * 正在請求資料...
 * 正在測試變更...
 * 正在安裝軟體包...
Linux 4.18.0-193.el8.x86_64 (localhost.localdomain)     西元2021年10月18日     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.21    0.62    5.94   10.52    0.00   76.72

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              49.16      2459.50       808.14    5527349    1816165
dm-0             35.48      2384.71       466.12    5359268    1047539
dm-1            100.02        56.93       343.97     127944     773028





2021年10月17日星期日

How to show filesystem in CentOS and Red Hat Linux

Step1: type df in terminal
Step2: it shows the filesystem

檔案系統             1K-區段    已用     可用 已用% 掛載點

devtmpfs              390404       0   390404    0% /dev

tmpfs                 419348   13284   406064    4% /dev/shm

tmpfs                 419348    6732   412616    2% /run

tmpfs                 419348       0   419348    0% /sys/fs/cgroup

/dev/mapper/cl-root  4744168   50644  4432816    2% /

/dev/mapper/cl-usr  15734664 4549092 10366580   31% /usr

/dev/sda1             944120  195840   683104   23% /boot

/dev/mapper/cl-tmp    947160    3204   878628    1% /tmp

/dev/mapper/cl-var   1890316  425364  1350880   24% /var

/dev/mapper/cl-home  9758720  196224  9562496    3% /home

tmpfs                  83868    1180    82688    2% /run/user/42

tmpfs                  83868    6988    76880    9% /run/user/1000


How to apply GPL V.3?




Step1.Read the highlighted Traditional Chinese GPL V 3.0(Red and Blue)

Step2.Use the english version of GPL in your software

Step3.Read the article for discussion   law of copywrite in the bottom of the webpage


GNU通用公眾授權條款(GPL)

GNU通用公共授權合約

第三版,2007629

版權所有 © 2007 自由軟體基金會 <http://fsf.org/>

任何人皆可複製和發佈本協議的完整副本,但不得修改

 

【譯者聲明】

  This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better. You may publish this translation, modified or unmodified, only under the terms at http://www.gnu.org/licenses/translations.html

  這是GNU通用公共授權合約的一份非官方中文翻譯,並非自由軟體基金會所發表,不適用於使用GNU通用公共授權合約發佈的軟體的法律聲明——只有GNU通用公共授權合約英文原版才具有法律效力。不過我們希望本翻譯能夠幫助中文讀者更好地理解GNU通用公共授權合約。 您可以僅根據http://www.gnu.org/licenses/translations.html中的條款發布此修改或未修改的翻譯。

 

 

【引言】

  GNU通用公共授權合約是一份面向軟體及其他類型作品的,自由的版權共產協定。

  就多數軟體而言,授權合約被設計用於剝奪你分享和修改軟體的自由。相反,GNU通用公共授權合約力圖保障你分享和修改某程式全部版本的權利——確保自由軟體對其使用者來說是自由的。我們自由軟體基金會將GNU通用公共授權合約用於我們的大多數軟體,並為一些其他作品的作者效仿。你也可以將本協定用於你的程式。

  所謂自由軟體,強調自由,而非免費。GNU通用公共授權合約設計用於確保你享有分發自由軟體的自由(你可以為此服務收費),確保你可以在需要的時候獲得這些軟體的源碼,確保你可以修改這些軟體或者在新的自由軟體中複用其中某些片段,並且確保你在這方面享有知情權。

  為保障你的權益,我們需要作一些限定:禁止任何人否認你的上述權利,或者要求你放棄它們。因此,當你分發或修改這些軟體時,你有一定的責任——尊重他人的自由。如果你分發這種程式的副本,無論收費還是免費,你必須給予與你同等的權利。你還要確保他們也能收到源碼並瞭解他們的權利。

  採用GNU通用公共授權合約的開發者通過兩步保障你的權益:其一,申明軟體的版權;其二,通過本協議使你可以合法地複製、分發和修改該軟體。

  為了保護每一位作者和開發者,GNU通用公共授權合約指明一點:自由軟體並沒有品質擔保。為用戶和作者雙方著想,GNU通用公共授權合約要求修改版必須有標記,以免其問題被錯誤地歸到先前版本的作者身上。

  某些設備設計成拒絕使用者安裝運行修改過的軟體,但廠商不受限。這和我們保護使用者享有修改軟體的自由的宗旨存在根本性矛盾。該濫用協定的模式出現於個人用品領域,這恰是最不可接受的。因此,我們設計了這版GNU通用公共授權合約來禁止這類產品。如果此類問題在其他領域湧現,我們時刻準備著在將來的版本中把規定擴展到相應領域,以保護用戶的自由。

  最後,每個程式都持續受到軟體專利的威脅。政府不應該允許專利限制通用電腦軟體的開發和應用,在做不到這點時,我們希望避免專利應用有效地使自由軟體私有化的危險。就此,GNU通用公共授權合約保證專利不能使程式非自由化。

 

  下文是關於複製、分發和修改的嚴謹描述和實施條件。

 

【關於複製、分發和修改的術語和條件】

〇、定義

 

  “本協議”指GNU通用公共授權合約第三版。

  “版權”也指適用于諸如半導體掩模的其他類型作品的類似法律。

  “本程式”指任何在本協議保護下的有版權的作品。每個許可獲得者稱作“你”。“許可獲得者”和“接收者”可以是個人或組織。

  “修改”一個作品指需要版權許可的的複製及對作品全面的全面或部分改編行為,有別於製作副本。所產生的作品稱作前作的“修改版”,或“基於”前作的作品。

  “受保護作品”指程式或其派生作品。

  “傳播”作品指那些未經許可就會在適用版權法律下構成直接或間接侵權的行為,不包括在電腦上運行和私下的修改。傳播包括複製、分發(無論修改與否)、向公眾公開,以及在某些國家的其他行為。

  “轉發”作品指讓他方能夠製作或者接收副本的行為。僅僅通過電腦網路和使用者交互,沒有傳輸副本,則不算轉發。

  一個顯示“適當的法律聲明”的互動式使用者介面應包括一個便捷而醒目的視覺化特性:(1)顯示適當的版權聲明;(2)告知用戶沒有品質擔保(提供了品質擔保的情況除外),許可獲得者可以在本協定約束下轉發該作品,及查看本協定副本的途徑。如果該介面提供一個命令清單,如功能表,其表項應符合上述規範。

 

一、源碼

 

  作品的源碼指其可修改的首選形式,目的碼指所有其他形式。

  “標準介面”指標準化組織定義的官方標準中的介面,或針為某種程式設計語言設定的介面中為開發者廣泛使用的介面。

  可執行作品中的“系統庫”不是指整個程式,而是涵蓋此等內容:(a)以通常形式和主部件打包到一起卻並非後者一部分,且(b)僅為和主部件一起使作品可用或實現某些已有公開實現源碼的介面。“主部件”在這裡指可執行作品運行依賴的作業系統(如果存在)的必要部件(內核、視窗系統等),生成該作品的編譯器,或運行所需的目的碼解譯器。

  目的碼形式的作品中“相應的源碼”指所有修改作品及生成、安裝、運行(對可執行作品而言)目的碼所需的源碼,包括控制上述行為的腳本。可是,其中不包括系統庫、通用工具、未修改直接用於支援上述行為卻不是該作品一部分的通常可得的自由軟體。例如,相應的源碼包含配合作品原始檔案的介面定義,以及共用庫和作品專門依賴的動態連結副程式的源碼。這裡的依賴體現為頻密的資料交換或者該副程式和作品其他部分的控制流切換。

  相應的源碼不必包含那些用戶可以通過源碼其他部分自動生成的內容。

  源碼形式作品的相應源碼即其本身。

 

二、基本許可

 

  本協定的一切授權都是對本程式的版權而言的,並且在所述條件都滿足時不可撤銷。本協議明確批准你不受限制地運行本程式的未修改版本。受保護作品的運行輸出,僅當其內容構成一個受保護作品時,才會為本協議所約束。如版權法所賦予,本協定承認你正當使用或與之等價的權利。

  只要你獲得的許可仍有效,你可以製作、運行和傳播那些你並不轉發的受保護作品。只要你遵守本協議中關於轉發你不佔有版權的材料的條款,你可以向他人轉發,僅僅以求對方為你做定制或向你提供運行這些作品的工具。那些為你製作或運行這些受保護作品的人,應該在你的指引和控制下,謹代表你工作,即禁止他們在雙方關係之外製作任何你提供的受版權保護材料的副本。

  僅當滿足後文所述條件時,其他各種情況下的轉發才是允許的。不允許再授權行為,而第十條的存在使再授權變得沒有必要。

 

三、保護用戶的合法權益免受反破解法限制

 

  在任何滿足19961220日通過的WIPO版權條約第11章要求的法律,或類似的禁止或限制技術手段破解的法律下,受保護作品不應該視為有效技術手段的一部分。

  當你轉發一個受保護作品時,你將失去任何通過法律途徑限制技術手段破解的權力,乃至於通過行使本協議所予權利實現的破解。你即已表明無心通過限制用戶操作或修改受保護作品來確保你或協力廠商關於禁止技術手段破解的法定權利。

 

四、轉發完整副本

 

  你可以通過任何媒介發佈你接收到的本程式的完整源碼副本,但要做到:為每一個副本醒目而恰當地發佈版權;完整地保留關於本協議及按第七條加入的非許可性條款;完整地保留免責聲明;給接收者附上一份本協議的副本。

  你可以免費或收費轉發,也可以選擇提供技術支援或品質擔保以換取收入。

 

五、轉發修改過的源碼版本

 

  你可以以源碼形式轉發基於本程式的作品或修改的內容,除滿足第四條外還需要滿足以下幾點要求:

  a)該作品必須帶有醒目的修改聲明及相應的日期

  b)該作品必須帶有醒目的聲明,指出其在本協議及任何符合第七條的附加條件下發佈。這個要求修正了第四條關於“完整保留”的內容。

  c)你必須按照本協定將該作品整體向想要獲得許可的人授權,本協議及符合第七條的附加條款就此適用於整個作品,即其每一部分,不管如何建包。本協定不允許以其他形式授權該作品,但如果你收到別的許可則另當別論。

  d)如果該作品有互動式使用者介面,則其必須顯示適當的法律聲明。然而,當本程式有互動式使用者介面卻不顯示適當的法律聲明時,你的作品也不必。

一個在存儲或分發媒介上的受保護作品和其他分離的單體作品的聯合作品,在既不是該受保護作品的自然擴展,也不以構築更大的程式為目的,並且自身及其產生的版權並非用於限制單體作品給予聯合作品使用者的訪問及其他合法權利時,稱為“聚合體”。在聚合作品中包含受保護作品並不會使本協定影響聚合作品的其他部分。

 

六、以非源碼形式轉發

 

  你可以如第四條(完整副本)和第五條(修改過)所述那樣以目的碼形式轉發受保護作品,同時在本協定規範下以如下方式之一轉發機器可讀的對應源碼

  a)目的碼通過實體產品(涵蓋某種實體分發媒介)轉發時,通過常用於軟體交換的耐用型實體媒介隨同轉發相應的源碼。

  b)目的碼通過實體產品(涵蓋某種實體分發媒介)轉發時,伴以具有至少三年且與售後服務等長有效期的書面承諾,給予目的碼的持有者:(1)包含產品全部軟體的相應源碼的常用於軟體交換的耐用型實體媒介,且收費不超過其合理的轉發成本;或者(2)通過網路免費獲得相應源碼的途徑。

  c)單獨轉發目的碼時,伴以提供源碼的書面承諾。本選項僅在你收到目的碼及b項形式的承諾的情況下可選。

  d)通過在指定地點提供目的碼獲取服務(無論是否收費)的形式轉發目的碼時,在同一地點以同樣的方式提供對等的源碼獲取服務,並不得額外收費。你不以要求接收者在複製目的碼的同時複製源碼。如果提供目的碼複製的地點為網路服務器,相應的源碼可以提供在另一個支援相同複製功能的伺服器上(由你或者協力廠商運營),不過你要在目的碼處指出相應源碼的確切路徑。不管你用什麼源碼伺服器,你有義務要確保持續可用以滿足這些要求。

  e)通過點對點傳輸轉發目的碼時,告知其他節點目的碼和源碼在何處以d項形式向大眾免費提供。

  “面向使用者的產品”指(1)“消費品”,即個人、家庭或日常用途的個人有形財產;或者(2)面向社會團體設計或銷售,卻落入居家之物。在判斷一款產品是否消費品時,爭議案例的判斷將向利於擴大保護靠攏。就特定使用者接收到特定產品而言,“正常使用”指對此類產品的典型或一般使用,不管該用戶的身份,該使用者對該產品的實際用法,以及該產品的預期用法。無論產品是否實質上具有商業上的,工業上的,及非面向消費者的用法,它都視為消費品,除非以上用法代表了它唯一的重要使用模式。

  “安裝資訊”對面向使用者的產品而言,指基於修改過的源碼安裝運行該產品中的受保護作品的修改版所需的方法、流程、認證碼及其他資訊。這些資訊必須足以保證修改過的目的碼不會僅僅因為被修改過而不能繼續工作。

  如果你根據本條在,或隨,或針對一款面向使用者的產品,以目的碼形式轉發某作品,且轉發體現於該產品的所有權和使用權永久或者在一定時期內轉讓予接收者的過程(無論其有何特點),根據本條進行的源碼轉發必須伴有安裝資訊。不過,如果你和協力廠商都沒有保留在該產品上安裝修改後的目的碼的能力(如作品安裝在ROM上),這項要求不成立。   要求提供安裝資訊並不要求為修改或安裝的作品,以及其載體產品繼續提供技術支援、品質擔保和升級。當修改本身對網路運行有實質上的負面影響,或違背了網路通信協定和規則時,可以拒絕其聯網。

  根據本條發佈的源碼及安裝資訊,必須以公共的檔案格式(並且存在可用的空開源碼的處理工具)存在,同時不得對解壓、閱讀和複製設置任何密碼。

 

七、附加條款

 

  “附加許可”用於補充本協議,以允許一些例外情況。合乎適用法律的對整個程式適用的附加許可,應該被視為本協定的內容。如果附加許可作用於程式的某部分,則該部分受此附加許可約束,而其他部分不受其影響。

  當你轉發本程式時,你可以選擇性刪除副本或其部分的附加條款。(附加條款可以寫明在某些情況下要求你修改時刪除該條款。)在你擁有或可授予恰當版權許可的受保護作品中,你可以在你添加的材料上附加許可。

  儘管已存在本協議的其他條款,對你添加到受保護作品的材料,你可以(如果你獲得該材料版權持有人的授權)以如下條款補充本協議:

  a)表示不提供品質擔保或有超出十五、十六條的責任。

  b)要求在此材料中或在適當的法律聲明中保留特定的合理法律聲明或創作印記。

  c)禁止誤傳材料的起源,或要求合理標示修改以別於原版。

  d)限制以宣傳為目的使用該材料的作者或授權人的名號。

  e)降低約束以便賦予在商標法下使用商品名、商品標識及服務標識。

  f)要求任何轉發該材料(或其修改版)並對接收者提供契約性責任許諾的人,保證這種許諾不會給作者或授權人帶來連帶責任。

  此外的非許可性附加條款都被視作第十條所說的“進一步的限制”。如果你接收到的程式或其部分,聲稱受本協定約束,卻補充了這種進一步的限制條款,你可以去掉它們。如果某授權合約包含進一步的限制條款,但允許通過本協議再授權或轉發,你可以通過本協議再授權或轉發加入了受前協議管理的材料,不過要同時移除上述條款。

  如果你根據本條向受保護作品添加了調控,你必須在相關的原始檔案中加入對應的聲明,或者指出哪裡可以找到它們。

  附加條款,不管是許可性的還是非許可性的,可以以獨立的書面協議出現,也可以聲明為例外情況,兩種做法都可以實現上述要求。

 

八、終止授權

 

  除非在本協議明確授權下,你不得傳播或修改受保護作品。其他任何傳播或修改受保護作品的企圖都是無效的,並將自動中止你通過本協議獲得的權利(包括第十一條第3段中提到的專利授權)。

  然而,當你不再違反本協議時,你從特定版權持有人處獲得的授權恢復:(1)暫時恢復,直到版權持有人明確終止;(2)永久恢復,如果版權持有人沒能在60天內以合理的方式指出你的侵權行為。

  再者,如果你第一次收到了特定版權持有人關於你違反本協定(對任意作品)的通告,且在收到通告後30天內改正,那你可以繼續享此有授權。

  當你享有的權利如本條所述被中止時,已經從你那根據本協定獲得授權的他方的權利不會因此中止。在你的權利恢復之前,你沒有資格憑第十條獲得同一材料的授權。

 

九、持有副本無需接受協議

 

  你不必為接收或運行本程式而接受本協定。類似的,僅僅因點對點傳輸接收到副本引發的對受保護作品的輔助性傳播,並不要求接受本協議。但是,除本協議外沒有什麼可以授權你傳播或修改任何受保護作品。如果你不接受本協議,這些行為就侵犯了版權。因此,一旦修改和傳播一個受保護作品,就表明你接受本協議。

 

十、對下游接收者的自動授權

 

  每當你轉發一個受保護作品,其接收者自動獲得來自初始授權人的授權,依照本協議可以運行、修改和傳播此作。你沒有要求協力廠商遵守該協議的義務。

  “實體事務”指轉移一個組織的控制權或全部資產、或拆分或合併組織的事務。如果實體事務導致一個受保護作品的傳播,則事務中各收到作品副本方,都有獲得前利益相關者享有或可以如前段所述提供的對該作品的任何授權,以及從前利益相關者處獲得並擁有相應的源碼的權利,如果前利益相關者享有或可以通過合理的努力獲得此源碼。

  你不可以對本協議所授權利的行使施以進一步的限制。例如,你不可以索要授權費或版稅,或就行使本協議所授權利徵收其他費用;你也不能發起訴訟(包括交互訴訟和反訴),宣稱製作、使用、零售、批發、引進本程式或其部分的行為侵犯了任何專利。

 

十一、專利

 

  “貢獻人”指通過本協定對本程式或其派生作品進行使用認證的版權持有人。授權作品成為貢獻人的“貢獻者版”。

  貢獻人的“實質專利權限”指其擁有或掌控的,無論是已獲得的還是將獲得的全部專利權限中,可能被通過某種本協定允許的方式製作、使用或銷售其貢獻者版作品的行為侵犯的部分,不包括僅有修改其貢獻者版作品才構成侵犯的部分。“掌控”所指包括享有和本協議相一致的專利再授權的權利。

  每位貢獻人皆其就實質專利權限,授予你一份全球有效的免版稅的非獨占專利許可,以製作、使用、零售、批發、引進,及運行、修改、傳播其貢獻者版的內容。

  在以下三段中,“專利許可”指通過任何方式明確表達的不行使專利權(如對使用專利的明確許可和不起訴專利侵權的契約)的協議或承諾。對某方“授予”專利許可,指這種不對其行使專利權的協議或承諾。

  如果你轉發的受保護作品已知依賴於某專利,而其相應的源碼並不是任何人都能根據本協定從網上或其他地方免費獲得,那你必須(1)以上述方式提供相應的源碼;或者(2)放棄從該程式的專利許可中獲得利益;或者(3)以某種和本協定相一致的方式將專利許可擴展到下游接收者。“已知依賴於”指你實際上知道若沒有專利許可,你在某國家轉發受保護作品的行為,或者接收者在某國家使用受保護作品的行為,會侵犯一項或多項該國認定的專利,而這些專利你有理由相信它們的有效性。

  如果根據一項事務或安排,抑或與之相關,你轉發某受保護作品,或通過促成其轉手以實現傳播,並且該作品的接收方授予專利許可,以使指可以使用、傳播、修改或轉發該作品的特定副本,則此等專利許可將自動延伸及每一個收到該作品或其派生作品的人。

  如果某專利在其涵蓋範圍內,不包含本協議專門賦予的一項或多項權利,禁止行使它們或以不行使它們為前提,則該專利是“歧視性”的。如果你和軟體發佈行業的協力廠商有合作,合作要求你就轉發受保護作品的情況向其付費,並授予作品接收方歧視性專利,而且該專利(a)與你轉發的副本(或在此基礎上製作的副本)有關,或針對包含該受保護作品的產品或聯合作品,你不得轉發本程式,除非參加此項合作或取得該專利早於2007328日。

  本協定的任何部分不應被解釋成在排斥或限制任何暗含的授權,或者其他在適用法律下對抗侵權的措施。

 

十二、不得犧牲他人的自由

 

  即便你面臨與本協議條款衝突的條件(來自於法庭要求、協議或其他),那也不能成為你違背本協議的理由。倘若你不能在轉發受保護作品時同時滿足本協定和其他檔的要求,你就不能轉發本程式。例如,當你同意了某些要求你就再轉發問題向你的轉發物件收取版稅的條款時,唯一能同時滿足它和本協議要求的做法便是不轉發本程式。

 

十三、GNU Affero通用公共授權合約一起使用

 

  儘管已存在本協議的一些條款,你可以將任何受保護作品與以GNU Affero通用公共授權合約管理的作品關聯或組合成一個聯合作品,並轉發。本協定對其中的受保護作品部分仍然有效,但GNU Affero通用公共授權合約第十三條的關於網路交互的特別要求適用于整個聯合作品。

 

十四、本協議的修訂版

 

  自由軟體聯盟可能會不定時發佈GNU通用公共授權合約的修訂版或新版。新版將秉承當前版本的精神,但對問題或事項的描述細節不盡相同。

  每一版都會有不同的版本號,如果本程式指定其使用的GNU通用公共授權合約的版本“或任何更新的版本”,你可以選擇遵守該版本或者任何更新的版本的條款。如果本程式沒有指定協定版本,你可以選用自由軟體聯盟發佈的任意版本的GNU通用公共授權合約。

  如果本程式指定代理來決定將來那個GNU通用公共授權合約版本適用,則該代理的公開聲明將指導你選擇協議版本。

  新的版本可能會給予你額外或不同的許可。但是,任何作者或版權持有人的義務,不會因為你選擇新的版本而增加

 

十五、不提供品質擔保

 

  本程式在適用法律範圍內不提供品質擔保。除非另作書面聲明,版權持有人及其他程式提供者“概”不提供任何顯式或隱式的品質擔保,品質擔保所指包括而不僅限於有經濟價值和適合特定用途的保證。全部風險,如程式的品質和性能問題,皆由你承擔。若程式出現缺陷,你將承擔所有必要的修復和更正服務的費用。

 

十六、責任範圍

 

  除非適用法律或書面協議要求,任何版權持有人或本程式按本協定可能存在的協力廠商修改和再發佈者,都不對你的損失負有責任,包括由於使用或者不能使用本程式造成的任何一般的、特殊的、偶發的或重大的損失(包括而不僅限於資料丟失、資料失真、你或協力廠商的後續損失、其他程式無法與本程式協同運作),即使那些人聲稱會對此負責

 

十七、第十五條和第十六條的解釋

 

  如果上述免責聲明和責任範圍聲明不為地方法律所支持,上訴法庭應採用與之最接近的關於放棄本程式相關民事責任的地方法律,除非本程式附帶收費的品質擔保或責任許諾

 

【附錄:如何將上述條款應用到你的新程式】

  如果你開發了一個新程式,並希望它能最大限度地為公眾所使用,最好的辦法是將其作為自由軟體,以使每個人都能在本協定約束下對其再發佈及修改。

  為此,請在附上以下聲明。最安全的做法是將其附在每份源碼的開頭,以便於最有效地傳遞免責資訊。同時,每個檔至少包含一處“版權”聲明和一個協定全文的連結

 

  <用一行來標明程式名及其作用>

  版權所有(C<年份> <作者姓名>

  本程式為自由軟體,在自由軟體聯盟發佈的GNU通用公共授權合約的約束下,你可以對其進行再發佈及修改。協議版本為第三版或(隨你)更新的版本。

  我們希望發佈的這款程式有用,但不保證,甚至不保證它有經濟價值和適合特定用途。詳情參見GNU通用公共授權合約。

  你理當已收到一份GNU通用公共授權合約的副本,如果沒有,請查閱<http://www.gnu.org/licenses/>

 

  同時提供你的電子郵寄地址或傳統的郵件聯繫方式。

 

  如果該程式是互動式的,讓它在交互模式下輸出類似下面的一段聲明:

 

  <程式名> 69版,版權所有(C<年份> <作者姓名>

  本程式從未提供品質擔保,輸入'show w'可查看詳情。這是款自由軟體,歡迎你在滿足一定條件後對其再發佈,輸入'show c'可查看詳情。

 

  例子中的命令'show w''show c'應用於顯示GNU通用公共授權合約相應的部分。當然你也可以因地制宜地選用別的方式,對圖形介面程式可以用“關於”功能表。

 

  如果你之上存在雇主(你是碼農)或校方,你還應當讓他們在必要時為此程式簽署放棄版權聲明。詳情參見<http://www.gnu.org/licenses/>

 

  本GNU通用公共授權合約不允許把你的程式併入私有程式。如果你的程式是某種庫,且你想允許它被私有程式連結而使之更有用,請使用GNU較寬鬆通用公共授權合約。決定前請先查閱<http://www.gnu.org/philosophy/why-not-lgpl.html>

 


 

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS

0. Definitions.

“This License” refers to version 3 of the GNU General Public License.

“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.

A “covered work” means either the unmodified Program or a work based on the Program.

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

1. Source Code.

The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.

The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

The Corresponding Source for a work in source code form is that same work.

2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

3. Protecting Users' Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.

4. Conveying Verbatim Copies.

You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

§  a) The work must carry prominent notices stating that you modified it, and giving a relevant date.

§  b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.

§  c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

§  d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

§  a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.

§  b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.

§  c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.

§  d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

§  e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

7. Additional Terms.

“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.

When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

§  a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or

§  b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or

§  c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or

§  d) Limiting the use for publicity purposes of names of licensors or authors of the material; or

§  e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or

§  f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.

All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.

If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

8. Termination.

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).

However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.

9. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.

11. Patents.

A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.

A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.

Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.

In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.

If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.

If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.

A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.

Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.

12. No Surrender of Others' Freedom.

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

14. Revised Versions of this License.

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

15. Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.

If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.

You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.


 

全球第一個 GPL 完整法院訴訟案例剖析

建立日期 2006-10-13 08:00      最近更新在 2013-11-20 14:52

作者是 葛冬梅

全球第一個經過完整法院訴訟程序(Hauptsacheverfahren,本案程序)的 GPL (GNU General Public License) 案例判決書,於今年九月在德國法蘭克福地方法院正式出爐,原告 Harald Welte(以下稱 Welte)第一審勝訴,被告則透過媒體表示不會上訴。GPL 在德國法管轄區域內的法律有效性與可執行性正式確立。

 

原告為馳名社群的德國軟體工程師 Welte,被告為台灣友訊 (D-Link) 公司在德國子公司(以下稱德國友訊),德國友訊所販售 NAS 產品(註一)的驅動程式中採用了 GPL 授權程式,但是產品中並未附上無擔保聲明,也沒有提供使用者驅動程式原始碼以及 GPL 文字全文,因此與 GPL 規定不符。所涉及的 GPL 程式分別為 msdosfsmtd initrdWelte 並非這三個程式的原始開發者或著作權人,但此三程式的著作權人均授權 Welte 可以提起訴訟。

 

本訴訟案雖然與 GPL 有關,Welte 卻不是控告德國友訊違反 GPL,引爆點是德國友訊不願意支付 Welte 為了查證驅動程式是否包含 GPL 程式碼所造成的相關支出,這些支出包括了律師諮詢費、逆項工程費以及為了實際檢測而購買德國友訊 NAS 產品的支出。

 

此次訴訟案之前德國友訊也曾經違反 GPL 散佈驅動程式,不過在 Welte 與其接觸後均願意簽署暫停及停止聲明 (declaration to cease and desist),採取修正措施,並且支付 Welte 相關支出費用。此次德國友訊雖然也簽署聲明,並且採取措施使 NAS 驅動程式的散布符合 GPL 規定,卻不願意支付費用以及提供 Welte 依照德國著作權法可以要求知曉的一些資訊(註二),德國友訊並且表示 GPL 對該公司沒有法律拘束力。

 

雖然 Welte 起訴的原因是要求德國友訊支付費用,並提供相關資訊,不過在訴訟進行中,雙方仍然廣泛地針對許多論點你來我往,包括:Welte 是否合法有權提出告訴、所提出的證據是否具有證據力、GPL 是否違反相關法令規定等等,這些大部分均為繁複的法律邏輯辯證。其中當然不乏與 GPL 直接相關的爭點,不過其中的重要爭點大多已在 Sitecom 案中的慕尼黑地方法院假處分理由書中有所論述(註三),例如承認 GPL 為有效的授權契約等等,因此本案判決並未有新的重大法律論述。

 

判決書中,有項論述是筆者覺得頗有意思的:GPL 的有效性與被告的關係。德國友訊主張 GPL 違反卡特爾法 (Kartellrecht),特別是 GPL 具有固定軟體在市場上價格的特性(註四),因此 GPL 是無效的。不過法官認為,就算真的是這樣,那麼德國友訊就是沒有合法授權而使用這些程式碼,著作權人一樣可以控告其侵權,因此不採認這樣的觀點。由此可知 GPL 不具備有效性的論點在這裡是有邏輯上矛盾,因為 GPL 有效成立是德國友訊合法使用 GPL 程式碼的前提要件。同理可證,若是有人使用了 GPL 程式碼而被該程式著作權人控告,將無法主張 GPL 是無效的,否則被告就會變成侵權使用這些程式碼!

 

法院判決後,德國友訊的反應雖然低調但仍算是友善,因為其接受媒體訪問時表示不會繼續上訴,同時也表示肯定社群開發者對於自由/開放源碼軟體的貢獻(註五)。

 

法蘭克福地院的判決是暨 Sitecom 一案後的第二份 GPL 判決書,相較之下,Sitecom 一案的假處分為簡易程序,這次法蘭克福地院的判決則是經過完整的訴訟程序而產生,其間對於各項證據的檢視以及雙方爭執點的辯論均較深入而完備,所產生的判決書因此也較具有代表意義與重要性。而在經過了 2004 Sitecom 2005 Fortinet 的假處分案例(註六),以及今年 2006 年的 D-Link 訴訟案之後,可以說,GPL 的法律效力-無論是有效性或可執行性-在德國法管轄境內是百分之百被肯定了,無論未來仍有多少的衍生法律問題尚待解決,這對於整體自由/開放源碼界確是一項實質的正面肯定。

 

此外,德國友訊的敗訴對我國有另外一層特殊的意義,因為被告正是台灣企業的子公司,而與友訊一樣的台灣企業不在少數,在自由/開放源碼軟體越來越成熟、運用越來越廣泛的趨勢下,身為國際資訊硬體大國,台灣資訊企業有必要對自由/開放源碼軟體投以必要的關注,在規劃開發產品之初就應該考慮到是否會使用到自由/開放源碼的程式碼,以及這些程式碼的授權內容是否會對產品的行銷造成影響,如此才可以從一開始就避免未來不必要的法律爭端與企業形象的負面影響。

 

延伸閱讀:Welte 發布的英文新聞稿以及法院判決書原文:https://www.gpl-violations.org/news/20060922-dlink-judgement_frankfurt.html

 

 

 

 

 

註一:Network attached storage,網路外接儲存器。案中 NAS 的產品型號為 DSM-G600

 

 

註二:依照德國著作權法規定,在特定的條件下,著作權權利受到侵害者有權利獲得相關產品的來源、銷售通路等等資訊。

 

註三:林俊言,自由軟體授權條款的法律效力,https://www.openfoundry.org/tw/legal-column-list/526-2012-02-03-07-55-22

 

註四:類似的論點在美國 Wallace 控訴 FSFFree Software Foundation,自由軟體基金會)一案中也出現過,請參見:葛冬梅,Wallace 控訴 FSF 一案:給 GPL 一個不一樣的檢驗,自由軟體鑄造場電子報,第 56 期,https://www.openfoundry.org/tw/legal-column-list/854-wallace-fsf-gpl-

 

註五:https://www.heise.de/newsticker/meldung/78530(德文)。

 

註六:請參見:葛冬梅,從 Fortinet 一案談 GPL 的法律效力,自由軟體鑄造場電子報,第 32 期,https://www.openfoundry.org/tw/legal-column-list/515--fortinet-gpl-

 

 

 

自由軟體鑄造場電子報 : 68 GPL 最新案例剖析

標籤: Antiturst,   D-link,   Germany,   Taiwan,   商業化,   訴訟案件,   GPL, 

分類: 法律專欄