ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I currently have a small project hosted on Sourceforge called Postlet (I'd post the URL if I could) which is licensed under the GPL.
This so far has not caused me any problems, however recently I have had a request by another project for permission to distribute Postlet with their project. In contrast to mine, their project is released under the BSD license.
Basically, I want to know what is the best way of doing this?
Does the GPL restrict them from releasing their project with Postlet included?
Are there ways around the possible limitations of the GPL? Can I release a binary version of Postlet under a different license, which they could then distribute?
Any advice regarding this matter is greatly appreciated.
It depends what you mean by "distribute with". If your code is built and used in a stand-alone manner then all they have to do is provide access to the source code and provide a copy of the GPL license with the distribution. If they are embedding your code into there program then they are required to release there code under the GPL as well. To say this in another way.. if tall they need is the binary then you don't have to change the license as it won't effect them in any way.
Just so you know, if your building code used in a shared library there is a seperate license called the LGPL. The LGPL allows people to link against your library wihtout having the GPL license effect there software.
If you are the original author of the software you can certainly make two different releases under different license. For example, QT is released on the GPL and the QT Commercial License. The reason for this is Trolltech wants open source folks (such as KDE) to be able to use there product free of charge while they want companies making commercial closed source software to have to pay for a license.
I currently have a small project hosted on Sourceforge called Postlet (I'd post the URL if I could) which is licensed under the GPL.
This so far has not caused me any problems, however recently I have had a request by another project for permission to distribute Postlet with their project. In contrast to mine, their project is released under the BSD license.
Basically, I want to know what is the best way of doing this?
It's certainly possible to mix GPL with BSD code; in fact, all the BSDs are doing it, since the C compiler itself is under the GPL! Anyone who distributes GPL and BSD licenced code together just has to abide by both licences.
If you are the sole copyright holder of Postlet, then you have the right to relicence it however you choose. However, think very carefully before you use a BSD-like licence; you are basically giving other people free rein to steal your code, add one new feature of their own to make it incompatible with your original, and turn it into a closed-source application. If that closed app becomes popular enough, it could overtake your original.
The various BSD teams themselves are working continuously around the clock to stop that from happening, by making sure their software is the best and Free. If that's more effort than you are prepared to put in, don't use a BSD licence. As long as your application is covered by the GPL -- and hence all derivative works too, you are guaranteeing that the source code will be available to users.
I certainly would never want so much as a single line of mycode to find its way into a closed-source application.
And if you're not the only author of the software, I think you also need the permission of all the other people who have contributed in order to relicense it. Since it's on SourceForge, I would imagine there would be many people who have contributed to it.
You are correct in stating that the fact of GCC being under GPL does not mean that the binaries it produces are automatically under GPL. Maybe when unGCC is ready, they will stipulate that the "source" code it produces is under GPL irrespective of whatever licence applied to the input binaries. {If you receive a binary under the BSD licence, you have the right to distribute the source code even if you haven't got the source code itself and even though nobody is obliged to give it to you.} What I was pointing out is that if you obtain one of the BSDs in the canonical fashion, you have to compile it all with GCC -- which is under the GPL. There is a pre-compiled GCC in the bootstrap environment, along with the full GCC source in the distribution proper. This satisfies the GPL because the source is shipped alongside the binary. {In general, the GPL is harder to satisfy, especially when distributing a binary without source; however, to satisfy the old BSD licence with advertising clause, you would run afoul of the GPL's prohibition on additional restrictions.}
You can distribute BSD and GPL code together as source code, even if you include some kind of script file which will tweak the configuration options and compile and link the two together; because as long as you are working with source code, you would only be aggregating the programs, and neither the GPL nor the BSD licence impose restrictions on what may be distributed together on the same media. The resulting binary might well not be legally redistributable to third parties, since you would likely be running afoul of a restriction of one or other licence {most probably GPL §3}; however, there is nothing to say that you may not use it yourself. Contrary to what Microsoft et al would have you believe, you do not need any licence to run software which you have acquired legitimately: running a program does make a copy in the computer's memory, but that copy is legally defined as non-infringing. So you already have a statutory right to run it. And by definition, no legally-binding agreement can ever diminish your statutory rights.
Still, I think the BSD licence is dangerous, because it does not oblige the licensee to distribute source code; thereby opening the way for code theft. If you don't want your work turning up in some closed-source project, don't use the BSD licence.
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
Quote:
Still, I think the BSD licence is dangerous, because it does not oblige the licensee to distribute source code; thereby opening the way for code theft.
One can argue it is the opposite. Forcing people to release their own code should they link it with GPL libraries is some kind of code theft ...
One can argue it is the opposite. Forcing people to release their own code should they link it with GPL libraries is some kind of code theft ...
Last time I checked nobody is holding a gun to your head saying you have to use that particular peace of code are they? It is all a matter of what you want out of your license. Commercial licenses demand money, GPL licenses demand that improvements made are contributed back.
It would only be "theft" if you didn't have a choice.
Yes, the GPL is a more "selfish" license because it doesn't allow people to do absolutely anything they want with the code, but it is selfish on the community level, not a personal one.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.