views:

296

answers:

3

I'm new to using open source libraries in production code so when it says replicate this license or whatever what is the proper way of doing it?

With desktop software is providing a readme somewhere good enough? What about for a website?

+4  A: 

IANAL so none of this addresses legal requirements. The individual license will determine this and you should seek professional advice. My answer speaks only to the ethics of using open source software.

The main principle is that if you use an open source project you should credit that project in a way that could be seen but isn't invasive to your website or app. A "Powered by Python" logo on every Webpage is invasive. A paragraph with a link to the project URL on a help page is quite acceptable (imho).

Desktop applications: on the Help menu put an "About" link that describes the technologies used and gives appropriate credits. IMHO noone reads README files.

Web Sites: if they have a menu, you can do the same thing. Alternatively you can put it as a question in your FAQ. If there's no menu (or possibly in addition to that), you can put a link to that information in the footer (which is small and non-invasive). Eitehr as a separate link or on another relevant link.

Any of the credits should include a link to the project or company homepage.

cletus
Your IANAL acronym caught me off guard for a second, ;).
Simucal
+1  A: 

FYI Some open source project are licensed under a "copyleft" license, which means that any derivative work must also be open source.

You should be careful with that, especially for GPL codes, if they does not explicitly state that you can use the lesser-GPL license and you accidently modified the GPL-ed code (fix a bug, some minor enhancements etc.) you might be up for trouble.

Here is a good read on copyleft: http://www.gnu.org/copyleft/

Legal concerns aside, as with @cletus: putting proper credits in proper places is a good idea.

chakrit
According to the GPL2 (a common "copyleft" license") you are ONLY required to release the source of derivative works to those you have released the binaries to. When you're providing software as a service (like a web app) then you are NOT releasing binaries and DO NOT need to release the source.
sjstrutt
ah.. @sjstrutt didn't know about that.
chakrit
Depends on the license though. That example was just for GPL2 software. I'm not too familiar with the AfferoGPL3 license (So don't take my word on it. Check the license yourself.), but I recall it requiring you to release the code for web services.
sjstrutt
+2  A: 

The best thing you can do is fully read the license that the library is released under and interpret what the requirements are from that. There's just no substitute. From there you can look at other projects that use the same libraries (check out sourceforge.net, where you can also filter projects by license) and see what they do.

Wayne Koorts