Hot answers tagged

71

First off, I Am Not A Lawyer. But I have studied many licenses and understand issues concerning them. Second, I know this is an old question, but I think it still is a point of confusion and concern. If it ISN'T a point of concern, it should be. Choosing a license is a big deal that you can't trivially change down the road, especially if multiple ...


34

Can I use them in my commercial app? It depends on what you intend to do with the software that you produce. Firstly, neither ASL1, GPL or LGPL make any restrictions on what you can use software to do inside your organization. The restrictions are all on code that is distributed outside of your organization. For GPL the restriction is that if you ...


26

This is a complex question, but I believe that what you propose is not allowed. You are suggesting adding hooks into the library to make it easier for you to sub-class the library and thus, at the very least. to bypass the spirit of the LGPL. The problem is, if you sub-class a class which is subject to the LGPL license in your own code, then your work ...


26

It does not affect LGPL — stands for Lesser GPL (used to mean Library GPL). The significant difference with GPL is, that it doesn't impose the license on software using the library. Only if you'd modify the library or directly include parts of the code in your software, then your code would have to be LGPL. On the other hand if you're just using gem ...


21

There's a variant of the GPLv3 called the "Affero GPL v3". To quote gnu.org, The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code ...


21

I think you have to start with the intent of the LGPL 2.1 and the LGPL 3. The LGPL 2.1 was designed to be a license written largely in plain English that would give programmers guidance on what they could do with the software. It is generally clearer than the GPL 2 because of the linking safe harbor. One major uncertainty regarding the GPL is whether a ...


19

roughly, as long as you application isn't just a wrapper around the library: LGPL: you can link against and don't have to release source code as long as you don't modify the library itself GPL: you have to release source code if you link against and distribute the binary, but don't if you just provide a service AGPL: you have to allow the source to be ...


16

No. "Distribution" always implies that the source is in usable form. In fact I was searching for something that explains this clearly, and the Javascript Trap article gave an excellent pointer. Even from very Richard Stallman's point of view, just because javascript gets downloaded in your browser doesn't mean it is open - it is still close. Now he goes on ...


15

I believe you've stated the differences between the Mozilla Public License and the GNU Lesser General Public License accurately, and either may suit your needs just fine, but you are skipping over the most important difference between the two licenses: Who can make new versions? Both the MPL (section 10) and the LGPL (section 14) include in their license ...


13

Standard I am not a lawyer disclaimer. LGPL requires modifications to the library source code to be distributed to anybody that used your code. It does not require that your code, which uses the library, be open-sourced and released under the same license. Wikipedia for a more detailed, but non-lawyer description of LGPL, including a section on class ...


13

I'm surprised nobody's mentioned the Mozilla Public License. It's similar to the LGPL except it allows static linking. MPL version 2 is compatible with the GPL/LGPL. Mozilla Public License (MPL 2.0) vs Lesser GNU General Public License (LGPL 3.0)


12

It is perfectly all right to sell an "aggregrate" of closed-source and open-source software according to the GPL FAQ. If the company compiled a Linux, built their own program on top of it using only LGPL libraries, and sold the resulting product while publishing all GPL/LGPL sources with it, they are not violating the GPL. The point here is: The GPL does ...


12

wxwidgets is licensed under essentially = LGPL + static linking ...essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using wxWidgets, and also those producing proprietary ...


12

LGPL allows you to link or embed binaries without opening your own source, so long as you provide the source code for the binaries and publish any changes you make to the libraries. You must also deploy your application in a way that allows someone to replace the LGPL'd library, if they so choose. In practice, this means that you must dynamically link to ...


11

Do consult a lawyer for this, anything you get from this site (such as the answer that follows) will not free you from any liability nor guaranteed that you will be safe from prosecution. This site is most definitively NOT a proper replacement for any sort of legal advice. Now to the matter at hand, from what I understand, LGPL will allow inclusion of a ...


11

The LGPL is not a license of its own, but an extension of the GPL. It states: This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. The LGPL license document only contains the extensions, so to provide the ...


10

If you take a look at Mono on GitHub, specifically the CONTRIBUTING.md file prior to its update after Microsoft bought Xamarin (and thus Mono), it states: The runtime (mono/...) is a special case. The code is dual-licensed by Xamarin under both the GNU LGPL v2 license and is also available under commercial terms. For the runtime, you should either sign an ...


9

The code moderator cannot retroactively force a new license on you for the original code that was written under the original license.


9

You designed your library to depend only on the LGPL version of LibRaw. That way you are following the license conditions of LibRaw. When the end-user links it against a version of that library which contains GPL code, that's their own business, not yours. You can not prevent your end-users from doing this. And doing that is not even illegal for them: The (...


9

The combination of GPL code and LGPL code must be licensed under the GPL. If you want to use that code, you'll have to change your license, or refrain from using it. If the other project would want their code to be used in LGPL projects, they'd have licensed it under the LGPL – I doubt they'll give you special permission. The LGPL is the same as the GPL ...


8

Did you write the code? Then the GPL is working for you - you don't need to do anything to bide by it, the people you distribute the code to are bound by it. Remember the GPL doesn't apply to you for your own code - you are still free to do anything else you want with it. You can even sell it alongside the GPL version. If you used other GPL code in your ...


8

The "means for them to use their own modified version of the library" in this context is letting users use their own libconfig.dll instead of yours if they want. By making it dynamically linked you have fulfilled this requirement. They can just replace the file. If you had made it statically linked instead, where you don't need the libconfig.dll in order ...


8

TL;DR Yes, because the link might become invalid in 5 or 10 years. Detailed Version Yes, this is necessary. You cannot just include a link pointing to the license text. The reason is clearly stated in the GNU FAQ: 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 ...


7

If you take the source code from JasperReports and translate that literally to C++, then you are creating a derived work and you are bound by the license that the original work is released under. For a translation of a work under the LGPL license, this means that you must distribute your translation also under the LGPL (which means also providing your source ...


7

I am not a lawyer and this is not legal advice. Consult your copyright attorney if you want clarification on any of these issues. uses a statically linked class licensed under "GNU GPL v2 or any later" (modified by adding a few properties (just getters, a couple of lines)) The GPL requires that you re-release the source code for any changes you've made ...


6

Yes you can use the unmodified library with your own proprietry code - so long as your user can exchange the LGPL library for their own version (this normally means using a dynamic linked library = dll or so) If you do modify the library you are required to release the source code of the library with your changes. The only extra complication would be if ...


6

The two most popular ways of going about this are: Accept only contributions under the same license as your main project (or a compatible one), and make all authors co-authors under a single unified license. This means your name and Sam's name both go in the copyright notice, or, when there are too many contributors, you reference a CONTRIBUTORS file. Have ...


6

Yes, you are completely correct. Providing the object files for your application is sufficient to satisfy the LGPL because it allows the user to replace the LGPL'd library with some other version if they so choose. The FSF even says so explicitly in their FAQ: For the purpose of complying with the LGPL (any extant version: v2, v2.1 or v3): (1) If ...


5

Make it a condition of the code being included in the project, ideally as part of the software license. There are a number of software licenses that do this; for example, in the Mozilla Public License: Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: a.under intellectual property rights (other than patent or ...


Only top voted, non community-wiki answers of a minimum length are eligible