views:

57

answers:

2

With everything legal and in line with the ethical questions in software development, is it allowed to use an open source product in my software that I charge a fee for when selling?

Scenario: I've developed an PHP Content Management System (CMS) and use some Linux executables licensed under GPL or LGPL in my CMS to accomplish various tasks like image editing. I'm selling the CMS and also including the executables when I deliver the product.

I do not edit the source code of the GPL software, just using it.

+5  A: 

charging a fee is not the critical point of GPL, you can charge fees as high as the mt. everest with stuff covered by the (L)GPL. as soon as the GPL-project "touches" your own stuff in most cases your stuff must be GPL from that point on as well.

the LGPL just mildens the "touch".

eg, lets say you call a system command "foo", which is covered by the GPL, as a standalone process of the OS: thats ok, you are not "really" touching it. but if you are "linking" against a "libfoo" which is convered by the GPL, your stuff becomes GPL as well. if "libfoo" would be LGPL you would be allowed to link against it.

so, it all depends on "i just use it".

read more on the subject over at wikipedia.

akira
Excellent--this is my understanding, too
Michael Haren
It's worth to note though, that much of the wording with those licenses explicitly only covers C or C++ regarding development and compilation process. In languages such as Java, Python or JavaScript telling apart what exactly "linking to a library" or "using a standalone command" is becomes much harder. That's subject to some debate.
Joey
I read the Wikipedia article and I get your point. It's also clear that as Johannes said, the license is mostly aimed at C or C++ development. The question then becomes; Do my PHP script need to be GPL too, even if I dont even touch the source code of the GPL application, just using the binary to extend my CMS's capabilities?
@johannes: thats why i used the example and just used the word "linking". php/python etc "link" at runtime and then its for sure a problem ("touch" wise). i read somewhere that what really counts are borders between process, if you can keep the parts separated then you are "clear". anyway, a problematic issue and this mostly leads towards avoiding the gpl wherever i can :)
akira
+1  A: 

IANAL

As long as you supply the source code of any GPL programmes you use on request in as suitable form to anyone you sell or give the software to, you're definately alright (so no, you don't have to release source code to non-customers) . lgpl allows you to link without the distribution clause, but any changes need to be contributed back.

If you 'use' something standalone (say imagemagik) without linking it to your app and your app isn't a derivative work of something which isn't gpl, your software may not need to be released under the GPL

the wikipedia article goes into some level of detail on this and probably explains it better than i can ;)

Thank you for the clarification regarding what a 'derivative work' is. This probably means my PHP software doesn't require to be under GPL. I assume the view on this question is a debate as well.