認識與活用自由開源軟體 中央研究院 林誠夏 資訊科技創新研究中心 自由軟體鑄造場 法政研究 Email: tmk2005@citi.sinica.edu.tw TEL: +886-2-27883799 #1474 葛冬梅 法政研究 Email: lucien@citi.sinica.edu.tw TEL: +886-2-27883799 #1474 本著作採用創用 CC 姓名標示 非商業性 授權條款台灣 3.0 版
大綱 自由開源軟體六大特性 自由開源授權條款三大分類
自由開源軟體六大特性 中央研究院 林誠夏 資訊科技創新研究中心 法政研究 Email: tmk2005@citi.sinica.edu.tw TEL: +886-2-27883799 #1474 自由軟體鑄造場
Academic Free License 3.0 (AFL-3.0), Adaptive Public License (APL-1.0), Apache License 2.0 (Apache-2.0), Apple Public Source License (APSL-2.0), Artistic license 2.0 (Artistic-2.0), Attribution Assurance Licenses (AAL), BSD 3-Clause "New" or "Revised" License (BSD-3-Clause), BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause), Boost Software License (BSL-1.0), Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1), Common Development and Distribution License 1.0 (CDDL-1.0), Common Public Attribution License 1.0 (CPAL-1.0), CUA Office Public License Version 1.0 (CUA-OPL-1.0), EU DataGrid Software License (EUDatagrid), Eclipse Public License 1.0 (EPL-1.0), Educational Community License, Version 2.0 (ECL-2.0), Eiffel Forum License V2.0 (EFL-2.0), Entessa Public License (Entessa), European Union Public License, Version 1.1 (EUPL-1.1), Fair License, Frameworx License (Frameworx-1.0), GNU Affero General Public License v3 (AGPL-3.0), GNU General Public License version 2.0 (GPL-2.0), GNU General Public License version 3.0 (GPL-3.0), GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1), GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0), Historical Permission Notice and Disclaimer (HPND), IBM Public License 1.0 (IPL-1.0), IPA Font License (IPA), ISC License (ISC), LaTeX Project Public License 1.3c (LPPL-1.3c), Lucent Public License Version 1.02, MirOS Licence, Microsoft Public License (Ms-PL), Microsoft Reciprocal License (Ms-RL), MIT license (MIT), Motosoto License (Motosoto), Mozilla Public License 2.0 (MPL-2.0), Multics License, NASA Open Source Agreement 1.3 (NASA 1.3), NTP License (NTP), Naumen Public License (Naumen), Nethack General Public License (NGPL), Nokia Open Source License, Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0), OCLC Research Public License 2.0 (OCLC-2.0), Open Font License 1.1 (OFL 1.1), Open Group Test Suite License (OGTSL), Open Software License 3.0 (OSL-3.0), PHP License 3.0 (PHP-3.0), The PostgreSQL License (PostgreSQL), Python License (Python-2.0), CNRI Python license, Qt Public License (QPL-1.0), RealNetworks Public Source License V1.0 (RPSL-1.0), Reciprocal Public License 1.5 (RPL-1.5), Ricoh Source Code Public License (RSCPL), Simple Public License 2.0 (Simple-2.0), Sleepycat License (Sleepycat), Sun Public License (SPL), Sybase Open Watcom Public License 1.0 (Watcom-1.0), University of Illinois/NCSA Open Source License (NCSA), Vovida Software License v. 1.0 (VSL-1.0), W3C License, wxwindows Library License (WXwindows), X.Net License (Xnet), Zope Public License 2.0 (ZPL-2.0), zlib/libpng license (Zlib).
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
* ##/%% variable matching code ripped out of ash shell for code sharing * * This code is derived from software contributed to Berkeley by * Kenneth Almquist. * * Licensed under GPLv2 or later, see file LICENSE in this source tree. * * Copyright (c) 1989, 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. * * Copyright (c) 1997-2005 Herbert Xu <herbert@gondor.apana.org.au> * was re-ported from NetBSD and debianized. */ #ifdef STANDALONE # include <stdbool.h> # include <stdio.h> # include <stdlib.h> # include <string.h> # include <unistd.h> # define FAST_FUNC /* nothing */ # define PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN /* nothing */ # define POP_SAVED_FUNCTION_VISIBILITY /* nothing */ #else # include "libbb.h" #endif #include <fnmatch.h> #include "match.h" 開放程式源碼 char* FAST_FUNC scan_and_match(char *string, const char *pattern, unsigned flags) { char *loc; char *end; unsigned len = strlen(string); int early_exit; /* We can stop the scan early only if the string part * we are matching against is shrinking, and the pattern has * an unquoted "star" at the corresponding end. There are two cases. * Case 1: * "qwerty" does not match against pattern "*zy", * no point in trying to match "werty", "erty" etc: */ early_exit = (flags == (SCAN_MOVE_FROM_LEFT + SCAN_MATCH_RIGHT_HALF) && pattern[0] == '*'); if (flags & SCAN_MOVE_FROM_LEFT) { loc = string; end = string + len + 1; } else { loc = string + len; end = string - 1; if (flags == (SCAN_MOVE_FROM_RIGHT + SCAN_MATCH_LEFT_HALF)) { /* Case 2: * "qwerty" does not match against pattern "qz*", * no point in trying to match "qwert", "qwer" etc: */ const char *p = pattern + strlen(pattern); if (--p >= pattern && *p == '*') { early_exit = 1; while (--p >= pattern && *p == '\\') early_exit ^= 1; } } } 此頁面程式碼擷取自 BusyBox 1.21.1 的源碼檔案 match.c 採用 GPL-2.0 及其後續版本 來授權 利用程式碼請遵守授權規則 授權規則說明請見 http://www.busybox.net/license.html BusyBox 1.21.1 程式碼下載 http://www.busybox.net/downloads/
使用權 重製權 修改權 散布權
GPL 類 BSD 類
提供源碼 義務 開放源碼 理念
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
限制 授權對象 授權時間 授權範圍
著作權 專利權 商標權
http://developer.android.com/distribute/googleplay/promote/brand.html
授權金 費用
服務費 擔保費用 維護費 技術服務費用
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
自由散布 事實上難以撤回
GPL-3.0 第 2 條第 1 項
Apache-2.0 第 2 3 條
升級改版 更改授權 - Samba 為例
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
衡平原則 天下沒有白吃的午餐
沒有綠豆的綠豆湯
強制禁止規定 例如 歐盟境內賣出的產品附隨二年產品保固責任
六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
四大自由 執行程式的自由 執行 研究與 研究 修改程式的自由 修改 再次散布程式的自由 再次散布 散布修改版本 藉此回饋社群並 促進改良其他程 回饋 促進改良 式的自由
自由開源軟體六大特性 開放程式源碼 不限制授權對象與使用地域 不收取授權金 授權不可撤回 不附隨擔保 釋放四大自由予後手
自由開源軟體 Free/Open Source Software
自由開源授權條款三大分類 中央研究院 林誠夏 資訊科技創新研究中心 法政研究 Email: tmk2005@citi.sinica.edu.tw TEL: +886-2-27883799 #1474 自由軟體鑄造場
Academic Free License 3.0 (AFL-3.0), Adaptive Public License (APL-1.0), Apache License 2.0 (Apache-2.0), Apple Public Source License (APSL-2.0), Artistic license 2.0 (Artistic-2.0), Attribution Assurance Licenses (AAL), BSD 3-Clause "New" or "Revised" License (BSD-3-Clause), BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause), Boost Software License (BSL-1.0), Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1), Common Development and Distribution License 1.0 (CDDL-1.0), Common Public Attribution License 1.0 (CPAL-1.0), CUA Office Public License Version 1.0 (CUA-OPL-1.0), EU DataGrid Software License (EUDatagrid), Eclipse Public License 1.0 (EPL-1.0), Educational Community License, Version 2.0 (ECL-2.0), Eiffel Forum License V2.0 (EFL-2.0), Entessa Public License (Entessa), European Union Public License, Version 1.1 (EUPL-1.1), Fair License, Frameworx License (Frameworx-1.0), GNU Affero General Public License v3 (AGPL-3.0), GNU General Public License version 2.0 (GPL-2.0), GNU General Public License version 3.0 (GPL-3.0), GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1), GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0), Historical Permission Notice and Disclaimer (HPND), IBM Public License 1.0 (IPL-1.0), IPA Font License (IPA), ISC License (ISC), LaTeX Project Public License 1.3c (LPPL-1.3c), Lucent Public License Version 1.02, MirOS Licence, Microsoft Public License (Ms-PL), Microsoft Reciprocal License (Ms-RL), MIT license (MIT), Motosoto License (Motosoto), Mozilla Public License 2.0 (MPL-2.0), Multics License, NASA Open Source Agreement 1.3 (NASA 1.3), NTP License (NTP), Naumen Public License (Naumen), Nethack General Public License (NGPL), Nokia Open Source License, Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0), OCLC Research Public License 2.0 (OCLC-2.0), Open Font License 1.1 (OFL 1.1), Open Group Test Suite License (OGTSL), Open Software License 3.0 (OSL-3.0), PHP License 3.0 (PHP-3.0), The PostgreSQL License (PostgreSQL), Python License (Python-2.0), CNRI Python license, Qt Public License (QPL-1.0), RealNetworks Public Source License V1.0 (RPSL-1.0), Reciprocal Public License 1.5 (RPL-1.5), Ricoh Source Code Public License (RSCPL), Simple Public License 2.0 (Simple-2.0), Sleepycat License (Sleepycat), Sun Public License (SPL), Sybase Open Watcom Public License 1.0 (Watcom-1.0), University of Illinois/NCSA Open Source License (NCSA), Vovida Software License v. 1.0 (VSL-1.0), W3C License, wxwindows Library License (WXwindows), X.Net License (Xnet), Zope Public License 2.0 (ZPL-2.0), zlib/libpng license (Zlib).
Academic Free License 3.0 (AFL-3.0), Adaptive Public License (APL-1.0), Apache License 2.0 (Apache-2.0), Apple Public Source License (APSL-2.0), Artistic license 2.0 (Artistic-2.0), Attribution Assurance Licenses (AAL), BSD 3-Clause "New" or "Revised" License (BSD-3-Clause), BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause), Boost Software License (BSL-1.0), Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1), Common Development and Distribution License 1.0 (CDDL-1.0), Common Public Attribution License 1.0 (CPAL-1.0), CUA Office Public License Version 1.0 (CUA-OPL-1.0), EU DataGrid Software License (EUDatagrid), Eclipse Public License 1.0 (EPL-1.0), Educational Community License, Version 2.0 (ECL-2.0), Eiffel Forum License V2.0 (EFL-2.0), Entessa Public License (Entessa), European Union Public License, Version 1.1 (EUPL-1.1), Fair License, Frameworx License (Frameworx-1.0), GNU Affero General Public License v3 (AGPL-3.0), GNU General Public License version 2.0 (GPL-2.0), GNU General Public License version 3.0 (GPL-3.0), GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1), GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0), Historical Permission Notice and Disclaimer (HPND), IBM Public License 1.0 (IPL-1.0), IPA Font License (IPA), ISC License (ISC), LaTeX Project Public License 1.3c (LPPL-1.3c), Lucent Public License Version 1.02, MirOS Licence, Microsoft Public License (Ms-PL), Microsoft Reciprocal License (Ms-RL), MIT license (MIT), Motosoto License (Motosoto), Mozilla Public License 2.0 (MPL-2.0), Multics License, NASA Open Source Agreement 1.3 (NASA 1.3), NTP License (NTP), Naumen Public License (Naumen), Nethack General Public License (NGPL), Nokia Open Source License, Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0), OCLC Research Public License 2.0 (OCLC-2.0), Open Font License 1.1 (OFL 1.1), Open Group Test Suite License (OGTSL), Open Software License 3.0 (OSL-3.0), PHP License 3.0 (PHP-3.0), The PostgreSQL License (PostgreSQL), Python License (Python-2.0), CNRI Python license, Qt Public License (QPL-1.0), RealNetworks Public Source License V1.0 (RPSL-1.0), Reciprocal Public License 1.5 (RPL-1.5), Ricoh Source Code Public License (RSCPL), Simple Public License 2.0 (Simple-2.0), Sleepycat License (Sleepycat), Sun Public License (SPL), Sybase Open Watcom Public License 1.0 (Watcom-1.0), University of Illinois/NCSA Open Source License (NCSA), Vovida Software License v. 1.0 (VSL-1.0), W3C License, wxwindows Library License (WXwindows), X.Net License (Xnet), Zope Public License 2.0 (ZPL-2.0), zlib/libpng license (Zlib).
常見授權條款表 分類 BSD 類 GPL 類 其它類 授權條款 全名 Apache-1.1 Apache Software License 1.1 Apache-2.0 Apache License 2.0 BSD-3-Clause New BSD License MIT MIT License Zlib Zlib/libpng License GPL-2.0/3.0 GNU General Public License 2.0/3.0 LGPL-2.1/3.0 GNU Lesser General Public License 2.1/3.0 AGPL-3.0 GNU Affero Public License 3.0 CPL/EPL-1.0 Common Public License 1.0 Eclipse Public License 1.0 MPL-1.1/2.0 Mozilla Public License 1.1/2.0 CDDL-1.0 Common Development and Distribution License 1.0 Artistic 2.0 Artistic License 2.0
MPL/CDDL LGPL GPL 類 GPL MIT/BSD 其他類 BSD 類 EPL/CPL Apache License AGPL Proprietary Software License Public Domain
Strictly Copyleft 示意圖 GPL 為例 散布時必須提供程式源碼 新程式 GPL 程式 利用 / 運作關係密切 GPL 程式
1. 修改 GPL 程式產生 衍生程式 2. 衍生程式採用 GPL 授權 3. 散布 GPL 衍生程式必須提供程式源碼
openlegal openfoundry
Ctrl+F: 20131007
本簡報授權聲明 除另有聲明外 本簡報內容採用 Creative Commons 姓名標示 - 非商業性 台灣 3.0 版授權條款 歡迎非商業目的的重製 散布或修改本簡報的內容 但請標明 (1) 原作者姓名 (2) 本簡報標題 (3) 演講日期 簡報中所取用的圖形創作乃截取自網際網路 僅供演講者於自由軟體推廣演講時主張 合理使用 請讀者不得對其再行取用 除非您本身自忖亦符合主張合理使用之情狀 且自負相關法律責任 THANK YOU Website: www.openfoundry.org Phone: 02-2788-3799 ext. 1474