國立台灣大學 資訊工程學系 薛智文 [email protected] chsueh/ 98 spring real-time...
TRANSCRIPT
國立台灣大學資訊工程學系
http://www.csie.ntu.edu.tw/~chsueh/98 Spring
Real-Time System Development即時系統開發
Software License
資工系網媒所 NEWS實驗室
22:34 /1182
GNU GPL and LGPL
資工系網媒所 NEWS實驗室
22:34 /1183
Outline
IntroductionCopying, Distribution, and ModificationLinking a Library of LGPLHow to Apply These Terms to Your New ProgramsHow to Apply These Terms to Your New LibrariesLinux and GPLReferences
資工系網媒所 NEWS實驗室
22:34 /1184
GPL (I)
GPL (General Public License, 通用公共許可證 )
Guarantee your freedom to share and change free software.
The software is free for all its users.
To make sureHave the freedom of distribute copies of free software.
You receive source code or can get it if you want it.
You can change the software or use pieces of it in new free programs.
You know you can do these things.
資工系網媒所 NEWS實驗室
22:34 /1185
GPL (II)
Protect your rights with two steps:copyright the software.offer you this license which gives you legal permission to copy, distribute and/or modify the software.
There is no warranty for this free software.This License applies to any program or other work.
It contains a notice placed by the copyright holder.It may be distributed under the terms of this General Public License.
資工系網媒所 NEWS實驗室
22:34 /1186
Copying, Distribution, and Modification (I)
Coping and distribution of the Program's source code must meet all of these conditions:
keep intact all the notices that refer to this License and to the absence of any warranty.
give any other recipients of the Program a copy of this License along with the Program.
資工系網媒所 NEWS實驗室
22:34 /1187
Copying, Distribution, and Modification (II)
Modification must meet all of these conditions:Must cause the modified files to carry notices stating such as the date of any change.
No charge to all third parties under the terms of this License.
Reads commands interactively when run the program, you must print or display an announcement includes:
an appropriate copyright notice
a notice that there is no warranty
users may redistribute the program under these conditions
telling the user how to view a copy of this License.
資工系網媒所 NEWS實驗室
22:34 /1188
How to Apply These Terms to Your New Programs
one line to give the program's name and an idea of what it does. Copyright (C) yyyy 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
資工系網媒所 NEWS實驗室
22:34 /1189
LGPL (I)LGPL (Lesser General Public License, 較寬鬆公共許可證 )Applies to some specially designated software packages .
typically libraries of the Free Software Foundation (FSF) and other authors.
Protect your rights with two stepscopyright the library.offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
資工系網媒所 NEWS實驗室
22:34 /11810
LGPL (II)
Restrictions:forbid distributors to deny you these rights.
ask you to surrender these rights.
These restrictions translate to certain responsibilities for you.
When you distribute copies of the library or modify it.
There is no warranty for the free library.
資工系網媒所 NEWS實驗室
22:34 /11811
Copying, Distribution, and Modification (I)
Coping and distribution of the Library's source code must meet all of these conditions:
keep intact all the notices that refer to this License and to the absence of any warranty.
distribute a copy of this License along with the Library.
資工系網媒所 NEWS實驗室
22:34 /11812
Copying, Distribution, and Modification (II)
Modification must meet all of these conditions:
The modified work must itself be a software library.
Must cause the modified files to carry notices stating.
No charge to all third parties under the terms of this License.
資工系網媒所 NEWS實驗室
22:34 /11813
Linking a Library of LGPLA "work that uses the Library“
A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it. such a work is not a derivative work of the Library.falls outside the scope of this License.
An executable links a "work that uses the Library" The executable is a derivative of the Library.It is therefore covered by this License.
資工系網媒所 NEWS實驗室
22:34 /11814
How to Apply These Terms to Your New Libraries
one line to give the library's name and an idea of what it does. Copyright (C) yyyy name of author
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
資工系網媒所 NEWS實驗室
22:34 /11815
Linux and GPL
The Linux Kernel is Copyright (c) Linus B. Torvalds under the terms of the General Public License.
The most Linux software is GPL’ed.
資工系網媒所 NEWS實驗室
22:34 /11816
References
GNU General Public License http://www.gnu.org/copyleft/gpl.html
http://www.linux.org.tw/CLDP/doc/GPL.html
GNU Library General Public License http://www.gnu.org/copyleft/lgpl.html
http://www.linux.org.tw/CLDP/doc/LGPL.html
資工系網媒所 NEWS實驗室
22:34 /11817
The Open Source Definition From the first draft of this document as "The Debian Free Software Guidelines" -- Bruce Perens, June, 1997.Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:
Free RedistributionSource CodeDerived WorksIntegrity of The Author's Source CodeNo Discrimination Against Persons or GroupsNo Discrimination Against Fields of EndeavorDistribution of LicenseLicense Must Not Be Specific to a ProductThe License Must Not Restrict Other Software
資工系網媒所 NEWS實驗室
22:34 /11818
Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.Rationale: By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.
資工系網媒所 NEWS實驗室
22:34 /11819
免費自由重複散布
當一套散布的軟件由若干不同來源的程式組成時,許可証不得限制任何一方銷售或讓予作為其組成部分之一的開放性原始碼程式。該許可証不得要求從是項銷售中索取使用費或其他費用。
理由:在許可証中作出免費自由重複散布的規定,就排除了為取得銷售軟件而得到的短期利益和少量金錢而願意放棄許多長久效益的誘惑。如果不作出這項規定,就可能有許多壓力迫使合作伙伴背棄承諾。
資工系網媒所 NEWS實驗室
22:34 /11820
Source CodeThe program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost–preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
Rationale: We require access to un-obfuscated source code because you can't evolve programs without modifying them. Since our purpose is to make evolution easy, we require that modification be made easy.
資工系網媒所 NEWS實驗室
22:34 /11821
原程式碼 軟件應附有原程式碼,該軟件除以編輯後的形式散布外,還應允許以原程式碼的形式散布。如一項產品中的某些部分未附有原程式碼,則應有通行的途徑,通過網際網路免費下傳。原程式碼中必須具備編程員可用來修改程式的原始碼。不得使原程式碼變得晦澀難懂,亦不得具有使用預處理器或轉譯器處理後所得的中間形式。
理由:規定原程式碼必須不晦澀難懂,因為軟件不可能不經過修改而有所改進。為了便于軟件的改進,必須作出程式必須便于修改的規定。
資工系網媒所 NEWS實驗室
22:34 /11822
Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.Rationale: The mere ability to read source isn't enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications.
資工系網媒所 NEWS實驗室
22:34 /11823
衍生軟件
許可証應允許修改軟件和衍生軟件,並允許修改後的軟件和衍生出的軟件以原軟件的同一條件散布。
理由:單能讀到原程式碼不足以支持個別同好對軟件的審評和快速地選取改進的軟件。為了加快改進軟件的速度,必須要能試驗和重複散布各項修改。
資工系網媒所 NEWS實驗室
22:34 /11824
Integrity of The Author's Source Code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.Rationale: Encouraging lots of improvement is a good thing, but users have a right to know who is responsible for the software they are using. Authors and maintainers have reciprocal right to know what they're being asked to support and protect their reputations.Accordingly, an open-source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, "unofficial" changes can be made available but readily distinguished from the base source.
資工系網媒所 NEWS實驗室
22:34 /11825
原程式碼的完整性 許可証可限制原程式碼以修改後的形式散布,除非為修改軟件的目的在最後編輯時原始碼連同修改程式一起散布。許可証必須明確規定允許散布根據修改後的原程式碼編制的軟件。許可証可要求衍生軟件使用不同的名稱或版本號碼 , 有別與原始軟件。
理由:鼓勵對軟件作出各種改進是一件好事,但使用者有權知道誰應對其使用的軟件負責。軟件的原作者和維護人員相互都有權知道要他們支持的軟件為何 , 以維護他們的信譽。 因此,開放性原始碼軟件的使用許可証必須保証軟件中已附有原始碼,但可以規定該原始碼需以最初的原始編碼和其後的修改程序散布。通過這種方式,使用者可取得對軟件的各種 " 非正式 " 的更改,並同時能分辨出有異于最初原始程式之處。
資工系網媒所 NEWS實驗室
22:34 /11826
No Discrimination Against Persons or Groups
The license must not discriminate against any person or group of persons.Rationale: In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open-source license from locking anybody out of the process.Some countries, including the United States, have export restrictions for certain types of software. An OSD-conformant license may warn licensees of applicable restrictions and remind them that they are obliged to obey the law; however, it may not incorporate such restrictions itself.
資工系網媒所 NEWS實驗室
22:34 /11827
不得歧視任何人或團體
許可証不得歧視任何人或多人組成的團體。 理由:為了從這項過程中取得最大效益,社會各階層人士和團體均有同等資格對開放性原始碼軟件作出貢獻。因此,禁止任何開放性原始碼軟件的許可証將任何人排除在這項進程之外。
資工系網媒所 NEWS實驗室
22:34 /11828
No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
資工系網媒所 NEWS實驗室
22:34 /11829
不得歧視任何專業工作領域
許可証不得歧視任何人將程式用于任何具體專業領域。例如,許可証不得限制程式用于商業,亦不得限制用于遺傳基因的研究。
理由:本條的主要用意是禁止許可証中有任何使開放性原始碼無法在商業上使用的規定。我們要商界人士參與我們的工作,而不讓他們感到排斥在外。
資工系網媒所 NEWS實驗室
22:34 /11830
Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.Rationale: This clause is intended to forbid closing up software by indirect means such as requiring a non-disclosure agreement.
資工系網媒所 NEWS實驗室
22:34 /11831
許可証的散布
與程式有關的任何權利必須適用于使用該程式的任何使用者,這些使用者無須為此種使用再取得其他許可証。
理由:本條的目的在于禁止通過非直接途徑,例如要求簽署 " 不公開 "協議等辦法,使軟件無法公開。
資工系網媒所 NEWS實驗室
22:34 /11832
License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.Rationale: This clause forecloses yet another class of license traps.
資工系網媒所 NEWS實驗室
22:34 /11833
許可証不得具體針對一項軟件產品
與程式有關的任何權利不得由該程式是否為某一特定軟件的一部分來決定。如果從一套軟件中取用一組程式,并根據該程式的規定使用或散布這組程式,則得到這組程式的所有各方的權利與得到原軟件的使用者的權利相同。
理由:本條預先對其他各種許可証方面的陷阱作出規定。
資工系網媒所 NEWS實驗室
22:34 /11834
The License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.Rationale: Distributors of open-source software have the right to make their own choices about their own software.
Yes, the GPL is conformant with this requirement. Software linked with GPLed libraries only inherits the GPL if it forms a single work, not any software with which they are merely distributed.
資工系網媒所 NEWS實驗室
22:34 /11835
許可証的規定不得影響其他軟件 許可証不得對其他與此軟件一起散布的軟
件作出任何限制的規定。例如,許可証不得堅持要求所有根據同一介質散布的其他軟件都必須為開放性原始碼軟件。
理由:要使用或散布開放性原始碼軟件的人有權對其自己的軟件作出選擇。
資工系網媒所 NEWS實驗室
22:34 /11836
GPL FAQBasic questions about the GPL, the GNU Project, and the Free Software Foundation
General understanding of the GPL
Using the GPL for your programs
Distribution of programs released under the GPL
Using programs released under the GPL when writing other programs
Combining work with code released under the GPL
Questions about violations of the GPL
資工系網媒所 NEWS實驗室
22:34 /11837
Basic QuestionsWhat does "GPL" stand for?Does free software mean using the GPL?Why should I use the GNU GPL rather than other free software licenses?Does all GNU software use the GNU GPL as its license?Does using the GPL for a program make it GNU software?Can I use the GPL for something other than software?Why don't you use the GPL for manuals?Are there translations of the GPL into other languages?Why are some GNU libraries released under the ordinary GPL rather than the Lesser GPL?Who has the power to enforce the GPL?Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the FSF? If I hold copyright on a GPL'ed program, should I do this, too? If so, how?Can I modify the GPL and make a modified license?
資工系網媒所 NEWS實驗室
22:34 /11838
What does "GPL" stand for?
"GPL" stands for "General Public License".
The most widespread such license is the GNU General Public License, or GNU GPL for short.
This can be further shortened to "GPL", when it is understood that the GNU GPL is the one intended.
資工系網媒所 NEWS實驗室
22:34 /11839
Does free software mean using the GPL?
Not at all--there are many other free software licenses. We have an incomplete list. Any license that provides the user certain specific freedoms is a free software license.
The freedom to run the program, for any purpose (freedom 0). The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this. The freedom to redistribute copies so you can help your neighbor (freedom 2). The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.
資工系網媒所 NEWS實驗室
22:34 /11840
Why should I use the GNU GPL rather than other free software licenses?
Using the GNU GPL will require that all the released improved versions be free software.
This means you can avoid the risk of having to compete with a proprietary modified version of your own work.
However, in some special situations it can be better to use a more permissive license.
資工系網媒所 NEWS實驗室
22:34 /11841
Does all GNU software use the GNU GPL as its license?
Most GNU software packages use the GNU GPL, but there are a few GNU programs (and parts of programs) that use looser licenses, such as the Lesser GPL. When we do this, it is a matter of strategy.
LGPL
資工系網媒所 NEWS實驗室
22:34 /11842
Does using the GPL for a program make it GNU software?
Anyone can release a program under the GNU GPL but that does not make it a GNU package.Making the program a GNU software package means explicitly contributing to the GNU Project. This happens when the program's developers and the GNU Project agree to do it. If you are interested in contributing a program to the GNU Project, please write to <[email protected]>.
資工系網媒所 NEWS實驗室
22:34 /11843
Can I use the GPL for something other than software?
You can apply the GPL to any kind of work, as long as it is clear what constitutes the "source code" for the work
The GPL defines this as the preferred form of the work for making changes in it. However, for manuals and textbooks, or more generally any sort of work that is meant to teach a subject, we recommend using the GFDL rather than the GPL.
Software Licenses
Licenses For Documentation
Licenses For Works Besides Software and Documentation
資工系網媒所 NEWS實驗室
22:34 /11844
Why don't you use the GPL for manuals?
It is possible to use the GPL for a manual, but the GNU Free Documentation License (GFDL) is much better for manuals.
The GPL was designed for programs; it contains lots of complex clauses that are important for programs, but that are dead weight for a book or manual.
GFDL has clauses that help publishers of free manuals make a profit from them.
資工系網媒所 NEWS實驗室
22:34 /11845
Are there translations of the GPL into other languages?
That carries a risk so great we do not dare accept it. Referring people to unofficial translations. This means that we permit people to write translations of the GPL, but we don't approve them as legally valid and binding. Publishing translations valid for a single country only.
資工系網媒所 NEWS實驗室
22:34 /11846
Why are some GNU libraries released under the ordinary GPL rather than the Lesser
GPL?
Using the Lesser GPL for any particular library constitutes a retreat for free software.
資工系網媒所 NEWS實驗室
22:34 /11847
Who has the power to enforce the GPL?
Since the GPL is a copyright license, the copyright holders of the software are the ones who have the power to enforce the GPL. If you see a violation of the GPL, you should inform the developers of the GPL-covered software involved. They either are the copyright holders, or are connected with the copyright holders.
資工系網媒所 NEWS實驗室
22:34 /11848
Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the
FSF? If I hold copyright on a GPL'ed program, should I do this, too? If so, how?
Our lawyers have told us that to be in the best position to enforce the GPL in court against violators.
Of course, if all the contributors put their code in the public domain, there is no copyright with which to enforce the GPL.
So we encourage people to assign copyright on large code contributions, and only put small changes in the public domain.
資工系網媒所 NEWS實驗室
22:34 /11849
Can I modify the GPL and make a modified license?
You can use the GPL terms (possibly modified) in another license provided that you call your license by another name and do not include the GPL preamble,
and provided you modify the instructions-for-use at the end enough to make it clearly different in wording and not mention GNU (though the actual procedure you describe may be similar).
資工系網媒所 NEWS實驗室
22:34 /11850
General understanding of GPL (1) Why does the GPL permit users to publish their modified versions?Does the GPL require that source code of modified versions be posted to the public?Can I have a GPL-covered program and an unrelated non-free program on the same computer?If I know someone has a copy of a GPL-covered program, can I demand he give me a copy? What does this "written offer valid for any third party" mean? Does that mean everyone in the world can get the source to any GPL'ed program no matter what?The GPL says that modified versions, if released, must be "licensed ... to all third parties." Who are these third parties?Does the GPL allow me to sell copies of the program for money?Does the GPL allow me to charge a fee for downloading the program from my site?Does the GPL allow me to require that anyone who receives the software must pay me a fee and/or notify me?If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?Does the GPL allow me to distribute a modified or beta version under a nondisclosure agreement?Does the GPL allow me to develop a modified version under a nondisclosure agreement?Why does the GPL require including a copy of the GPL with every copy of the program?What if the work is not much longer than the license itself?
資工系網媒所 NEWS實驗室
22:34 /11851
General understanding of GPL (2) Am I required to claim a copyright on my modifications to a GPL-covered program?If a program combines public-domain code with GPL-covered code, can I take the public-domain part and use it as public domain code?I want to get credit for my work. I want people to know what I wrote. Can I still get credit if I use the GPL?Can I omit the preamble of the GPL, or the instructions for how to use it on your own programs, to save space?What does it mean to say that two licenses are compatible?What does it mean to say a license is "compatible with the GPL"?Why is the original BSD license incompatible with the GPL?What is the difference between "mere aggregation" and "combining two modules into one program"?Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the FSF? If I hold copyright on a GPL'ed program, should I do this, too? If so, how?If I use a piece of software that has been obtained under the GNU GPL, am I allowed to modify the original code into a new program, then distribute and sell that new program commercially?Can I use the GPL for something other than software?How does the LGPL work with Java?
資工系網媒所 NEWS實驗室
22:34 /11852
Why does the GPL permit users to publish their modified versions?
A crucial aspect of free software is that users are free to cooperate.
Alternatives to the GPL that require modified versions to go through the original author.
If the author stops (more or less) to do something else or does not attend to all the users' needs, this scheme falls down.
Sometimes control over modified versions is proposed as a means of preventing confusion between various versions made by users.
This confusion is not a major problem.
資工系網媒所 NEWS實驗室
22:34 /11853
Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them.
This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the users, under the GPL.
資工系網媒所 NEWS實驗室
22:34 /11854
Can I have a GPL-covered program and an unrelated non-free program
on the same computer?
Yes.
資工系網媒所 NEWS實驗室
22:34 /11855
If I know someone has a copy of a GPL-covered program, can I demand he give
me a copy?
No.
資工系網媒所 NEWS實驗室
22:34 /11856
What does this "written offer valid for any third party" mean? Does that mean everyone in the world can get the
source to any GPL'ed program no matter what?
If you commercially distribute binaries not accompanied with source code, the GPL says you must provide a written offer to distribute the source code later. When users non-commercially redistribute the binaries they received from you, they must pass along a copy of this written offer.
Commercially?
This means that people who did not get the binaries directly from you can still receive copies of the source code, along with the written offer. People who receive the binaries indirectly in that way can order the source code from you.
資工系網媒所 NEWS實驗室
22:34 /11857
The GPL says that modified versions, if released, must be "licensed ... to all third
parties." Who are these third parties?
Everyone !but this does not require you to *do* anything physically for them.
資工系網媒所 NEWS實驗室
22:34 /11858
Does the GPL allow me to sell copies of the program for
money?
Except in one special situation, there is no limit on what price you can charge.
The one exception is the required written offer to provide source code that must accompany binary-only release.
Can not charge too much later on!
資工系網媒所 NEWS實驗室
22:34 /11859
Does the GPL allow me to charge a fee for downloading the program
from my site?
Yes.
資工系網媒所 NEWS實驗室
22:34 /11860
Does the GPL allow me to require that anyone who receives the software must
pay me a fee and/or notify me?
No.
資工系網媒所 NEWS實驗室
22:34 /11861
If I distribute GPL'ed software for a fee, am I required to also make it available to
the public without a charge?
No.
However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee.
資工系網媒所 NEWS實驗室
22:34 /11862
Does the GPL allow me to distribute a modified or beta version under a
nondisclosure agreement?
Yes. For instance, you can accept a contract develop changes and agree not to release your changes until the client says ok. This is permitted because in this case no GPL-covered code is being distributed under an NDA.You can also release your changes to the client under the GPL, but agree not to release them to anyone else until the client says ok. In this case, too, no GPL-covered code is being distributed under an NDA, or under any additional restrictions. The GPL would give the client the right to redistribute your version, but in this scenario the client will choose not to exercise that right.
資工系網媒所 NEWS實驗室
22:34 /11863
Does the GPL allow me to develop a modified version under a nondisclosure agreement?
Yes.
資工系網媒所 NEWS實驗室
22:34 /11864
Why does the GPL require including a copy of the GPL with every copy of the program?
Including a copy of the license with the work is vital so that everyone who gets a copy of the program can know what his rights are. It might be tempting to include a URL that refers to the license, instead of the license itself. But you cannot be sure that the URL will still be valid, five years or ten years from now. Twenty years from now, URLs as we know them today may no longer exist.
資工系網媒所 NEWS實驗室
22:34 /11865
What if the work is not much longer than the license itself?
?
If a single program is that short, you may as well use a simple all-permissive license for it, rather than the GNU GPL.
資工系網媒所 NEWS實驗室
22:34 /11866
Am I required to claim a copyright on my modifications to a GPL-covered
program?
You are not required to claim a copyright on your changes. In most countries, however, copyright happens automatically by default, so you need to place your changes explicitly in the public domain if you do not want them to be copyrighted. Whether you claim a copyright on your changes or not, either way you must release the modified version, as a whole, under the GPL.
資工系網媒所 NEWS實驗室
22:34 /11867
If a program combines public-domain code with GPL-covered code, can I
take the public-domain part and use it as public domain code?
You can do that, if you can figure out which part is the public domain part and separate it from the rest.
If code was put in the public domain by its developer, it is in the public domain no matter where it has been.
資工系網媒所 NEWS實驗室
22:34 /11868
I want to get credit for my work. I want people to know what I wrote. Can I still
get credit if I use the GPL?
You can certainly get credit for the work. Part of releasing a program under the GPL is writing a copyright notice in your own name (assuming you are the copyright holder).
The GPL requires all copies to carry an appropriate copyright notice.
資工系網媒所 NEWS實驗室
22:34 /11869
Can I omit the preamble of the GPL, or the instructions for how to use it on your own
programs, to save space?
The preamble and instructions are integral parts of the GNU GPL and may not be omitted.
In fact, the GPL is copyrighted, and its license permits only verbatim copying of the entire GPL.
The preamble and instructions add up to some 5000 characters, less than 1/3 of the GPL's total size.
They will not make a substantial fractional change in the size of a software package unless the package itself is rather small. In that case, you may as well use a simple all-permissive license rather than the GNU GPL.
資工系網媒所 NEWS實驗室
22:34 /11870
What does it mean to say that two licenses are compatible?
In order to combine two programs (or substantial parts of them) into a larger work, you need to have permission to use both programs in this way.
If the two programs' licenses permit this, they are compatible.
If there is no way to satisfy both licenses at once, they are incompatible.
For some licenses, the way in which the combination is made may affect whether they are compatible--for instance, they may allow linking two modules together, but not allow merging their code into one module.
資工系網媒所 NEWS實驗室
22:34 /11871
What does it mean to say a license is "compatible with the GPL"?
It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.
資工系網媒所 NEWS實驗室
22:34 /11872
Why is the original BSD license incompatible with the GPL?
Because it imposes a specific requirement that is not in the GPL; namely, the requirement on advertisements of the program. The GPL states:
You may not impose any further restrictions on the recipients' exercise of the rights granted herein.The advertising clause provides just such a further restriction, and thus is GPL-incompatible.
The revised BSD license does not have the advertising clause, which eliminates the problem.
資工系網媒所 NEWS實驗室
22:34 /11873
What is the difference between "mere aggregation" and "combining two
modules into one program"?Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk.
If one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program.
If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them.
What constitutes combining two parts into one program?This is a legal question, which ultimately judges will decide.
We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
資工系網媒所 NEWS實驗室
22:34 /11874
Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the
FSF? If I hold copyright on a GPL'ed program, should I do this, too? If so, how?
Our lawyers have told us that to be in the best position to enforce the GPL in court against violators.
Of course, if all the contributors put their code in the public domain, there is no copyright with which to enforce the GPL.
So we encourage people to assign copyright on large code contributions, and only put small changes in the public domain.
資工系網媒所 NEWS實驗室
22:34 /11875
If I use a piece of software that has been obtained under the GNU GPL, am I allowed to modify the original code into a new program, then distribute
and sell that new program commercially?
Yes if GPL'ed.
資工系網媒所 NEWS實驗室
22:34 /11876
Can I use the GPL for something other than software?
You can apply the GPL to any kind of work, as long as it is clear what constitutes the "source code" for the work. The GPL defines this as the preferred form of the work for making changes in it.
However, for manuals and textbooks, or more generally any sort of work that is meant to teach a subject, we recommend using the GFDL rather than the GPL.
資工系網媒所 NEWS實驗室
22:34 /11877
How does the LGPL work with Java?
It works as designed, intended, and expected.