views:

548

answers:

4

I intend to sell a closed source software that depends on PostgreSQL (BSD-style license). Can I bundle PostgreSQL server in the package and install it with my software? Would it be also possible if I was using MySQL (GPL)?

+9  A: 

Yes and yes, as long as you respect the license requirements, e.g. if you only use standard interfaces (such as socket connections or the CLI) to interface with an open source project, you are not obligated to also make your code open source.

Basically, just because you are using open source software by forking a process or by making a socket connection, doesn't necessarily impose restrictions on your own source code if the use is taking place by using existing and unmodified abstract interfaces (non low level). So, the use has to be obviously decoupled. Usually, accessing internals in the same address space (linking, shared memory, IPC) is considered a form of very tight coupling however.

So, if on the other hand, you are linking binaries together (libraries), you would have to comply with the corresponding license requirements (i.e. making source code available if requested). Similarly, if you had to modify standard interfaces of these open source packages, you would also be obligated to share these modifications with your users, as well as the original project. Ideally, each modified package would be accompanied with complete source code, including all modifications.

Bundling open source software is merely a form of distributing it, a right that is explicitly granted to you, as long as you also ensure that your users are made aware of the corresponding license and also the fact that they can get the corresponding source code, too.

EDIT:Just to clarify regarding the comment, of course you should always consult legal professionals (lawyers) when making such decisions, however I stand by my above sentiments, also regarding GPL software (to quote the FSF GPL FAQ):

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 non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program. The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. 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.

none
You're thinking of LGPL software, when it comes to using abstract interfaces in a decoupled manner. In the case of GPL software, distributing it obligates you to apply a compatible license to the rest of your project. I.e. open-source, allowing customers to modify and distribute your source code. In any case, the OP should not make any business decision without first consulting a qualified legal professional.
Bill Karwin
If I am not misunderstanding you, I disagree with you, I have edited my original response, to include the corresponding paragraph from the FSF FAQ which supports my point of view.
none
Okay, yes, I agree. I thought you meant for instance when linking a GPL client library (e.g. libmysqlclient). LGPL would allow this, GPL would not. But if you distribute GPL software *without* that degree of coupling with your own code, you're right, it's legit.
Bill Karwin
A: 

Best to consult a lawyer on that. If you can find one that specializes in open source law, all the better.

Or maybe something like this will make it clear.

I'm not a lawyer, so I'm not even going to attempt it.

duffymo
+1  A: 

Re none: such restrictions do not exist for PostgreSQL. Under the BSD license, you can use the software freely as long as you include the copyright notices as stipulated at http://www.postgresql.org/about/licence.

cookiecaper
thanks for clarifying this, I was indeed mostly referring to the GPL because it obviously is the more restrictive license in this context, so whatever can be safely done for GPL'ed software, can obviously also done with BSD licensed software.
none
A: 

BSD is quite commerce friendly as far I know, GPL is a little tricky, gotta do some work to protect your Intellectual property from being infected with it.

BakerTheHacker