问询:继承ExtensionFunctionDefinition类是否属MPL 2.0许可下的修改
核心结论:创建
ExtensionFunctionDefinition的子类不属于MPL 2.0许可条款下的“修改” 具体判断依据
- MPL 2.0对“修改”的定义明确指向对原有开源代码本身的直接改动:比如编辑SaxonHE自带的
ExtensionFunctionDefinition.java文件、删减原有代码片段、或者将原有代码嵌入到其他代码中做调整。它不涵盖基于原有类进行的独立扩展开发。 - 你的自定义子类是完全独立编写的新代码:只是通过Java继承机制复用了SaxonHE提供的抽象类/接口,实现了要求的方法,但没有触碰SaxonHE的原有代码文件。这种基于继承的扩展是Java生态里的常规二次开发模式,你的子类代码属于独立作品,不属于对原有开源库的“修改”范畴。
对商业专有软件的影响
既然不属于MPL 2.0定义的“修改”,你完全可以将这个自定义子类作为商业软件的一部分闭源分发。需要注意的是,分发时要确保SaxonHE本身的使用符合MPL 2.0要求——比如保留原库的许可证声明、版权信息,不修改SaxonHE的核心代码即可。
内容的提问来源于stack exchange,提问作者gsv
相关产品推荐
相关产品推荐

