Login  |  繁體中文
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 本網站預計持續維運至 2021年底,網站內容基本上不會再更動。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
FAQ Modification

Open Source Software license

We provide Open Source Software license and legal materials via this page.



Q7: Why a patch (or a patch file) is not a derivative work?

A7: Many people think that a patch file is associated to some original work (on the ground that, if there is no original work, there won’t be such thing as a patch) and in turn wrongly sees the patch as a derivate work. A patch, however, is not a derivate work for these reasons:(1) Patches do not contain the content of the original program they are applied to.According to Taiwan’s Copyright Law, a derivate work is defined as the result based on an original work by means of translation, instrumentation or filming. It means that a derivative work always consists of the expression of an original work, either directly or indirectly. In terms of computer software, when a developer modifies another person’s program and wants to distribute the modified program, since the modified program contains parts of the original program, the modified program is therefore a derivative work. The developer in question has to obtain the respective permission from the author of the original work in order to modify and/or distribute the program.A patch is a kind of “applet” that guides users to modify a specific program. A patch is usually much smaller than the original program file, and contains instructions that remove some part of the original program or add some new code into it. A patch does not contain the content of the original work. A patch therefore does not satisfy the Copyright Law’s definition for derivative work that the latter must contain direct or indirect expressions of an original work. A patch is henceforth not regarded as a derivative work, but rather an independent work. The author of a patch does not need to obtain the permissions from the author of the original work, and can release the patch under a license of his/her own likings.(2) The author of an original work does not suffer economic loss because of a patch distributed by the developer of the patch itself.This rationale considers the patch’s impact to the economic benefits of the author of the original work. The reason why Copyright Law requires the distribution of derivative work be authorized by the author of the original work is that, in one way or another, distribution of the derivative work should affect the sales of the original work. In order to avert the loss of the author of the original work, Copyright Law makes use of such mechanism to let the author of the original author charge the author of the derivative work for loyalties . A patch does not contain any content of the original program and only works along with the original program. When a user obtains a patch, he or she still needs to buy or acquire by other means the rights of using the original program from the author of the original work. The author of the original work does not suffer any economic loss because another person distributes a patch developed by him or her. Had Copyright Law granted the power to authors of original work that distribution of patch should be agreed upon, this would mean higher cost for the society as a whole and could have deterred technological innovation.


Q8: Following Q7, there are two further questions: (1) Since a patch is not a derivative work, does it imply that no permission is needed from the author of the original work when we create a patch? And, (2) do we need to obtain the permissions from the author in order to apply a patch to his or her own original work?

A8: (1) No, there is no need. As we have seen in A7, a patch is an independent work, not a derivative work. Development of a patch does not require the permission from the author of the original work.As for (2), the answer is yes. We need such permissions. It is true that development of a patch needs no permission from the author of the original work. When a user applies the patch onto an original program, however, it is a behavior that modifies the work. Therefore the user has to obtain the permissions from the author in order to apply the patch. Yet, since most free/open source software licenses have already granted users the rights to modify the licensed work, a user can apply a patch under the terms set by the license.In addition, the developer of a patch can release it under any license that is not necessarily what the original work adopts. Yet, since applying a patch modifies the original work, if the patch’s license is not compatible with that of the original program, we may run into this awkward situation where users are not able to apply it legally. Therefore developers of patch files are advised to choose licenses that are compatible with the original programs for which they develop patches. (For compatibility issues, please refer to Q2 and Q3.)


Q9: Foobar is a free software program developed online by a number of people, and the current version is 1.7. Carol wants to use version 1.7 as the basis to develop a succeeding version 1.8. In order to do so, Carol needs to obtain the permission from the authors of Foobar’s version 1.7. Does Carol also need to have the permission from the authors of Foobar’s earlier versions?

A9: Yes. It is commonplace for a computer program to have new versions keeping coming out. Unless a new version discards all of its legacy code and starts from scratch, it is always based on all of its previous versions. Therefore a new version is not just a derivative work of its immediate predecessor, but also a derivative work of all of its preceding versions.Thus, if Carol likes to develop a version 1.8 on the code base of version 1.7, and if version 1.7 has part of its code coming from version 1.6 or earlier versions, Carol will need not only the permission to modification from the developers (or the team) of version 1.7, she will also need to have permission from all members that have taken part in the development of all other earlier versions. Only with all the permissions will Carol be able to proceed with a work that is based on version 1.7.Online, multi-user development is commonplace for free/open source software projects. Such model, however, often causes the legal relationship between developers and users to be very complicated. To avoid such predicament, the developers have to plan ahead to choose a well-thought license.


Q10: When Masao was developing program Foo, he obtained a copy of program Bar, which Masao uses often, from Chuang. Bar is originally developed by Carol and is released under a free/open source software license. If Masao wants to use the code base of Bar to develop Foo, does he need to obtain the permissions from Chuang or Carol?

A10: It depends on the license under which Bar is released. We’ll explain respectively a common scenario and a less common but still possible scenario.With the common scenario, Chuang is the one who has provided the code of Bar to Masao, but Chuang is not the author of Bar. Therefore Masao will have to obtain the permissions for e.g. reproduction and modification from the author (Carol), so that he can make use of Bar’s code base. But, since Bar is released under a free/open source software license, so long as Masao observes the terms and conditions of Bar’s license, he is able to reproduce Bar or modify Bar to his own purpose.There are a small number of free/open source licenses, such as MIT License,MPL (Mozilla Public License) and CPL (Common Public License), that allow a person to act as the licensor to sublicense the work to another third person. If Carol does have chosen one of the above-mentioned licenses, Chuang will be able to act as the licensor under the given terms that Carol have licensed to Chuang. In such scenario, the license contract is made between Chuang and Masao. Although it is a sublicensing act, for Masao as the licensee is still able to obtain effective rights of reproduction and modification. The only difference being that the licensor is Chuang, who is licensed to be able to sublicense, instead of Carol, who is the author of the original work (program Bar).Note: In general, sublicensing scenario occurs where one party that develops or uses the program (usually a commercial entity) sells a commercial version of the program, and where buyers of the program demand a direct contract between them and the party in question (e.g. the company that sells the program). There are, however, not so many free/open source software licenses that allow sublicensing from a third party. Because of this situation, when potential licensees are signing a contract with one such commercial entity, they need to pay attention to whether the license for the original program allows sublicensing on the commercial entity’s part. If there are such articles, the company can act as the licensor and form a contractual relationship between itself and the buyers under the sublicensing terms. If there is no such article, even if buyers have signed the contract with the company, they are still not sublicensed from the author of the original work and will not be able to use the program legally.

Category: FAQ