Summary of gpl license




















By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.

To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.

Hereinafter, translation is included without limitation in the term "modification". Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program independent of having been made by running the Program.

Whether that is true depends on what the Program does. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:.

Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement. These requirements apply to the modified work as a whole.

If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. In such cases, the copied text in the output is covered by the same license that covers it in the source code. Meanwhile, the part of the output which is derived from the program's input inherits the copyright status of the input.

As it happens, Bison can also be used to develop nonfree programs. This is because we decided to explicitly permit the use of the Bison standard parser program in Bison output files without restriction.

We made the decision because there were other tools comparable to Bison which already permitted use for nonfree programs. However, when a US federal government agency uses contractors to develop software, that is a different situation.

GNU Ada was developed in this way. Or the contract can assign the copyright to the government agency, which can then release the software under the GNU GPL. If the US government uses contractors to do the job, then the improvements themselves can be GPL-covered.

So the only way you have a say in the use of the output is if substantial parts of the output are copied more or less from text in your program. For instance, part of the output of Bison see above would be covered by the GNU GPL, if we had not made an exception in this specific case. You could artificially make a program copy certain text into its output even if there is no technical reason to do so. But if that copied text serves no practical purpose, the user could simply delete that text from the output and use only the rest.

Then he would not have to obey the conditions on redistribution of the copied text. But you can give additional permission for the use of your code. The license list page gives a partial list of GPL-compatible licenses. Yes, because the program actually links to the library. As such, the terms of the GPL apply to the entire combination.

The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way.

The JNI or Java Native Interface is an example of such a binding mechanism; libraries that are accessed in this way are linked dynamically with the Java programs that call them. These libraries are also linked with the interpreter. If the interpreter is linked statically with these libraries, or if it is designed to link dynamically with these specific libraries , then it too needs to be released in a GPL-compatible way.

Another similar and very common case is to provide libraries with the interpreter which are themselves interpreted.

For instance, Perl comes with many Perl modules, and a Java implementation comes with many Java classes. These libraries and the programs that call them are always dynamically linked together. A consequence is that if you choose to use GPL'd Perl modules or Java classes in your program, you must release the program in a GPL-compatible way, regardless of the license used in the Perl or Java interpreter that the combined Perl or Java program will run on. That doesn't mean it is a good idea to write the program so that it only runs on Windows.

You may not impose any further restrictions on the recipients' exercise of the rights granted herein. If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.

Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking. If the main program and the plugins are a single combined program then this means you must license the plug-in under the GPL or a GPL-compatible free software license and distribute it with source code in a GPL-compliant way. A main program that is separate from its plug-ins makes no requirements for the plug-ins. If they form a single combined program this means that combination of the GPL-covered plug-in with the nonfree main program would violate the GPL.

However, you can resolve that legal problem by adding an exception to your plug-in's license, giving permission to link it with the nonfree main program. See also the question I am writing free software that uses a nonfree library. If they form a single combined program then the main program must be released under the GPL or a GPL-compatible free software license, and the terms of the GPL must be followed when the main program is distributed for use with these plug-ins.

However, if they are separate works then the license of the plug-in makes no requirements about the main 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. If the modules are included in the same executable file, they are definitely combined in one program.

If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

We also ask individual contributors to get copyright disclaimers from their employers if any so that we can be sure those employers won't claim to own the contributions. 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. If you want to make an effort to enforce the GPL on your program, it is probably a good idea for you to follow a similar policy.

For this purpose we would want to check the actual license requirements to see if we approve of them. Although we will not raise legal objections to your making a modified license in this way, we hope you will think twice and not do it.

Such a modified license is almost certainly incompatible with the GNU GPL , and that incompatibility blocks useful combinations of modules. The mere proliferation of different free software licenses is a burden in and of itself.

These requirements are the condition for including the GPL-covered code you received in a program of your own. 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. A system incorporating a GPL-covered program is an extended version of that program.

This is for two reasons: to make sure that users who get the software get the freedom they should have, and to encourage people to give back improvements that they make. However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and nonfree programs communicate at arms length, that they are not combined in a way that would make them effectively a single program. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs.

So the GPL has to cover the whole thing. If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs—but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.

But if they know that what they have received is a free program plus another program, side by side, their rights will be clear. The fact that proprietary module A communicates with GPL-covered module C only through Xlicensed module B is legally irrelevant; what matters is the fact that module C is included in the whole.

First, a general one. If we permitted company A to make a proprietary file, and company B to distribute GPL-covered software linked with that file, the effect would be to make a hole in the GPL big enough to drive a truck through.

This would be carte blanche for withholding the source code for all sorts of modifications and extensions to GPL-covered software. Giving all users access to the source code is one of our main goals, so this consequence is definitely something we want to avoid. More concretely, the versions of the programs linked with the Money Guzzler libraries would not really be free software as we understand the term—they would not come with full source code that enables users to change and recompile the program.

If the license of module Q permits you to give permission for that, then it is GPL-compatible. Otherwise, it is not GPL-compatible. If the license for Q says in no uncertain terms that you must do certain things not compatible with the GPL when you redistribute Q on its own, then it does not permit you to distribute Q under the GPL.

So you cannot link or combine P with Q. When a user orders the source, you have to make sure to get the source to that user. If a particular user can conveniently get the source from you by anonymous FTP, fine—that does the job. But not every user can do such a download. The rest of the users are just as entitled to get the source code from you, which means you must be prepared to send it to them by post.

If the FTP access is convenient enough, perhaps no one will choose to mail-order a copy. If so, you will never have to ship one. But you cannot assume that. Note, however, that it is not enough to find some site that happens to have the appropriate source code today, and tell people to look there.

Tomorrow that site may have deleted that source code, or simply replaced it with a newer version of the same program. Then you would no longer be complying with the GPL requirements. To make a reasonable effort to comply, you need to make a positive arrangement with the other site, and thus ensure that the source will be available there for as long as you keep the binaries available. Part of the idea of free software is that users should have access to the source code for the programs they use.

Those using your version should have access to the source code for your version. A major goal of the GPL is to build up the Free World by making sure that improvement to a free program are themselves free. A user that wants the source a year from now may be unable to get the proper version from another site at that time.

The standard distribution site may have a newer version, but the same diffs probably won't work with that version. If you want to distribute binaries by anonymous FTP, you still have to provide source through one of the options listed in section 3. This should not be hard. You can provide a written offer for source if you want; section 3 b allows this.

But if you can find a site to distribute your program, you can surely find one that has room for the sources. No matter how you distribute the source, the sources you provide must correspond exactly to the binaries.

In particular, you must make sure they are for the same version of the program—not an older version and not a newer version. You can make the sources and binaries available on different machines, provided they are equally easy to get to, and provided that you have information next to the binaries saying where to find the sources.

Our requirements for redistributors are intended to make sure the users can get the source code, not to force users to download the source code even if they don't want it.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. We are thinking about doing something like this in GPL version 3, but we don't have precise wording in mind yet.

In the mean time, you might want to use the Affero GPL for programs designed for network server use. However, when the organization transfers copies to other organizations or individuals, that is distribution. In particular, providing copies to contractors for use off-site is distribution.

If the version in question is unpublished and considered by a company to be its trade secret, then publishing it may be a violation of trade secret law, depending on other circumstances.

The GPL does not change that. If the company tried to release its version and still treat it as a trade secret, that would violate the GPL, but if the company hasn't released this version, no such violation has occurred. Sometimes a localized retreat is a good strategy. Sometimes, using the LGPL for a library might lead to wider use of that library, and thus to more improvement for it, wider support for free software, and so on.

This could be good for free software if it happens to a large extent. But how much will this happen? We can only speculate. But this is not feasible. Once we use the LGPL for a particular library, changing back would be difficult. So we decide which license to use for each library on a case-by-case basis. The LGPL does not permit sublicensing of the code, nor does it allow contributors to be held liable for legal issues or damages.

Other options include the Mozilla Public License 2. Weak copyleft licenses like the LGPL fill a gap between permissive and strong copyleft licenses, offering some of the benefits of both types of licenses. In addition, the license is backed by the GNU Project, a well-known and respected organization in the open source software domain.

In terms of popularity, copyleft licenses, including weak ones like the LGPL, are losing ground to more permissive options. Still, this license fills an interesting niche in the OSS world, both as part of the GNU family of licenses and as a license specifically aimed at software libraries. Toggle navigation. Thank you for submitting details. Your email address is added to our subscription list.

Sign up with Github Request a Demo.



0コメント

  • 1000 / 1000