方式一下使用LGPL是正确的做法,但必须保证你没有对封装的 DLL 做了自己的修改。你可
以修改后再封装成 DLL 来使用,但修改后的代码必须随 DLL 一起发放。如果没有修改,则
可以不包含代码,只要放入 LGPL 许可和 DLL 版权即可。如果修改的部分涉及到二边修改,
也就是说,先在 LGPL 代码这边做修改,比如引出一个特定的接口,然后又在自己的私有代
码这边做修改来引用这个接口,呵呵,那么你私有代码的那部分引入接口代码需要按照LGPL
许可办理,也就说,你不能藏私的,也要一起发布出来,并且,调用了这个引入接口的模块
,被称为衍生产品,也必须遵守 LGPL 规范。
方式二中使用MPL,都是正确的,但不管你修改了多少代码,必须声明你对该代码没有权利。
重要的,如果有朝一日你打算把这些代码发布出来,他们依然遵守MPL,并且权利归最初版
本的创造者。MPL重视的是源代码发布。同样的,象你这样情况的发布时,也必须附加 MPL
许可和何处可以取得这些源代码的声明。
另外还要注意以下情况:
1) 你引用、修改、联编了 MPL 的这些代码后,你的全部代码就不能再按照其他协议发布。
2) 你如果正好在为一个 GPL 许可的项目工作,你就不能直接修改任何 MPL 的代码放入你的项目。
3) 如果你还引用了 GPL 代码,情况就复杂了,最简单的建议是请你还是仔细地剔除所有 GPL 代码为好。
我不是法律工作者,所以请不要在法律意义上引证上述说法。