views:

226

answers:

6

I'm wondering is it legal to include OpenSource components as *.dll / *.so (with sources provided) in some proprietary software?

It seems that everything's ok: source code is provided, not modified, author is mentioned in "About" box, and the free source is not compiled into: just dynamically linked.

I know there's quite a lot of different licenses... It'll be nice if your answer will cover most of the popular ones: GPL, LGPL, Mit, ... Which of these do allow this?

Thanks in advance!

A: 

Yes - e.g. http://creativecommons.org/licenses/GPL/2.0/

Dustin Getz
With the GPL it's not that easy, start here http://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works
fvu
The GPL is one of the few Open Source licenses that *doesn't* allow the inclusion into proprietary software of Open Source code in a DLL. By including GPL code into your program, even by dynamic linking, you must make the entire source code of the program available to your users. This condition is why the LGPL was created.
RichieHindle
+4  A: 

There is a nice article about this, and here is the most important part for your question:

Of the popular licenses listed above, proprietary forks are permitted by the BSD and AFL licenses. Proprietary forks are prohibited by the GPL, MPL, and OSL licenses.

http://www.airs.com/ian/essays/licensing/licensing.html

This link has a nice chart that goes into more detail: http://developer.kde.org/documentation/licensing/licenses_summary.html

James Black
Thanks! The second link is great! :)
o_O Tync
The second link was more useful, so I didn't see the point in pasting what they showed so well.
James Black
+2  A: 

Off the top of my head

* GPL : no
* LGPL : yes
* MIT : yes

if you use GPL libs in your product then you have to release your product as a GPL product

Glen
That GPL : no is the FSF's opinion. I don't believe it has been tested in court and think there's room for a difference of opinion (for GPL v2 anyway).
ysth
@ysth. It's been upheld at least once. http://www.h-online.com/open/news/item/GPL-wins-in-French-court-case-812269.html
Glen
+4  A: 

It depends on the specific open-source license, but it's 100% legal to use open source code in any project. The problem becomes "what is your obligation after releasing that software".

For example, the BSD and MIT license are both designed to allow you to use code in closed source projects without redistributing any of your source code.

If you used and complied GPL v2 code in your commercial project you'd need to give away copies of the source to anyone who bought it.

Then there's the lesser GPL, which allows you to use unchanged libraries in your commercial application without having to disclose the source of your application.

It all depends on the license.

Alan Storm
+2  A: 

This should be OK if the license of the component is a "weak" copyleft license or a non-copyleft license.

The most well known free software license that uses strong copyleft is the GNU General Public License. Free software licenses that use "weak" copyleft include the GNU Lesser General Public License and the Mozilla Public License. Examples of non-copyleft free software licenses include the X11 license, Apache license and the BSD licenses.

Check out the Comparison of free software licenses on Wikipedia for an overview (Wikipedia pages on licenses are actually pretty good and may help you to get details or pointers).

Or have a look at Various Licenses and Comments about Them on the GNU's website.

Or check the Open Source Licenses on the OSI website.

Pascal Thivent
hm, i believe i should visit some Googling classes: shame on me i haven't found this great Wikipedia article :)) Thanks!
o_O Tync
Actually, I always keep this one under the hand just in case :) That said, the important part is the first sentence: weak copyleft or non-copyleft licenses.
Pascal Thivent
+2  A: 

As mentioned by several others here, it really depends on the license. Some allow you to use their code in proprietary software without problems, some require you to at least include only the open source code that you used, and some require you to declare the entire program as open source. I personally love open source code, but it is important to understand that it often comes with strings attached to it.

While it may be tedious, there is no substitution for reading and understanding its license before you use the code. I can't stress this enough! The license attached to open source code is a legally binding contract that's main purpose is to grant you permission to use the code without violating the owner's copyright. If you can't meet the conditions specified in the license, then using that code is considered a copyright violation and can prevent you from distributing your software.

You also have to remember that if the code you are using has two or more licenses attached to it (or you are using code from different open source projects under different licenses), you have to make sure you can fulfill the requirements mentioned in ALL of those licenses to be able to distribute your program after using the open source code. This can get sometimes be difficult since there is a long list of open source licenses out there, each with their own terms and conditions.

The bottom line is that open source code is really cool and can be very useful to a software developer, but if you need code with no strings attached, your best option may be to write your own.

Jared