ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm writing a program that I intend to use the Expat XML parser in, which I believe is MIT licensed. My program is going to be licensed under GPL-2. As I understand it, the two are compatible, so what do I need to do in my license information? Just give the appropriate credit for Expat and include the GPL?
Reading through the MIT license, it doesn't seem to say much about derivative works. Since it's a library, I doubt you actually need to credit them. However, if you feel obligated, go ahead and thank them.
Originally posted by Matir I'm writing a program that I intend to use the Expat XML parser in, which I believe is MIT licensed. My program is going to be licensed under GPL-2. As I understand it, the two are compatible, so what do I need to do in my license information? Just give the appropriate credit for Expat and include the GPL?
yes, except you need to engineer the "which I believe is MIT licensed" to "I looked it up and it is MIT licensed"
Your license and MIT's license are completely independent: your application simply depends upon their code being previously-installed on the computer in order for it to run successfully.
The only consideration as far as licensing is concerned is if you distribute a copy of their code with yours, as a convenience to your customer. Their license must permit you to distribute their code. But even so... you are simply doing so by permission of the copyright-owner. Your license doesn't apply to them.
If you do, by permission, include a copy of their code, then you must be fully prepared to handle a number of eventualities:
You must include the copyright notices required by their library. You must not distribute your application as "public domain." You should include references, URLs etc. advising your customer where the library came from and who they should contact concerning any problems with it.
Even if you distribute your application with source-code, this does not automatically give you the right to include source-code of their library. I'm not familiar with this library, but you should never assume.
If their library is not present, or is of a too-old version, your program must terminate gracefully and informatively.
Your installer must give the user the option to install the MIT-library version you've provided, or not, at their discretion. It must particularly check to make sure that there is not already a (e.g. newer) version of their library already in place.
You'll always have to verify that your application continues to work as new MIT-libraries are released.
You should write "stub" routines in your application that simply pass control to the appropriate MIT-library routines, trapping any errors that may occur so that you can augment the error-messages produced, informing the user that this problem is specifically related to the MIT-library call. This will help considerably in debugging.
Your un-installer must avoid accidentally removing the MIT-library when your own application is removed, even if you installed it yourself.
It should go without saying that you should never modify their library in any way. This would produce an unmanageable situation if your customer also had any other applications which relied upon that library.
Yeah. The documentation I was reading implied that the Expat code was usually linked in to the application statically, but it turns out that is not true, it's just the standard -lexpat deal. So I guess much of this was a moot point, but it was still a good education in licensing.