Until recently I always avoided the use of open-source code in my applications, because of the legal headache it gives me. I rather spent a fair amount of money and not worry about attribution (since most commercial components don't require that), than paying nothing, but spending a lot of time reading legal texts, never to be sure whether I was fully compliant.
However, there is a ton of code out there that would be a shame to ignore. Also, sometimes the open-source solutions are of better quality than their commercial counterparts.
The license I encounter most and find hardest to grasp, is the MPL. All FAQs state that it is no problem to compile the code into a closed-source application, as long as changes to the code are made available. Assuming that I will not make changes to the code, what other things are there to keep in mind? For example, copyright notices and attribution; am I required to include a bunch of files with all the different copyright notices? Should I double-size my About dialog and list all open-source components with their vendor website and so on? How do you deal with this?
Please note that I have no problem with giving authors of code the credit they deserve. I would simply like to know what is reasonable, so I can take care of it in a pragmatic way, and no longer fear at least the MPL.
Hoping for your experiences.
To make my question more clear, I will use an analogy. Let's say I am going to write a book A, and I would like to use some parts of a book B that someone else has written. The author of B is fine with this, as long as I credit him (very much like a clause in the MPL). But how should I do that? Am I to put his name on the cover of mine and/or in the margin of every page where I use full paragraphs from him and/or where I use full sentences from him and/or where I use a couple of words from him and/or in a dedication section with sources? Or perhaps it would suffice to print his name in black letters on a black page, or in font size .00001? Luckily, for books there aren't as many ways to do it as with software, and there is some established practice. In the field of software, I have yet to discover any, so I'm asking here if I missed something.The point is not to give as little attribution as possible, but I'm looking for what's acceptable and fair; you wouldn't like to write a book in which each page is half-filled with attributions either...
Attribution is only one of the terms that I find hard to concretize. What about making the code and the license texts available if I changed nothing? Do I link to the authors website, or mirror it on my own and link to that, or put it in my installer? And, for example, from the Firebird Project I have most files in one place, but a couple of DLLs are spread over the folders of my application. Would you suggest just to make a single folder with license texts and list which files are relevant to each? Is that enough? Is there a better way?
A complete answers addresses all requirements of the MPL. :)