java - 在个人 java oss 项目中包含高度定制的 java oss 的正确方法?

标签 java licensing open-source

<分区>

我想知道处理这种代码情况的文化上可接受的方式是什么。我有一个获得麻省理工学院许可的个人项目。我遇到过这样一种情况,我需要某个功能,而另一个 MIT 许可项目包含该功能的框架。我不得不大幅修改原始代码,将 LOC 增加三倍。这些主要是 Java 类。

由于我在原始基础上添加了很多东西并修复了几个错误,所以我实际上只是在重用对象和基本变量的底层框架。 java 包中有其他开发人员的名字,每个文件都有一个带有他名字的许可声明。

我知道许可证需要保留在文件中,但是我的非常大的修改的归属如何?我是否仅限于在许可证中添加第二条注释,其中包含我的姓名、日期和我贡献的内容,或者是否存在新代码与原始代码无法识别的某个点,以至于可以将其声明为我的包的一部分现在,重命名包并将其完全集成到我的项目中,并在自述文件中注明种子代码的来源?

由于修改太多,我不能将旧的jar 文件用作我的项目的ext。我可以完全 fork 代码并将我的更改添加到 fork 中,并为我添加一些属性。

处理这个问题的正确方法是什么?

最佳答案

对于那种程度的变化,我认为重命名项目那部分的包并使其成为项目的一部分是非常合理的。更改过于密集,不能说是扩展。当然,在您的项目页面上注明原作者只是出于礼貌(如果许可证没有要求)。

最好(如果可能的话)将您的错误修复贡献回原始项目,或者至少报告这些错误,如果它们不是已知问题,将在旧代码库中修复它们。

关于java - 在个人 java oss 项目中包含高度定制的 java oss 的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945048/

相关文章:

java - 正则表达式 - 捕获大括号之间的增量数字

licensing - 是否有仅用于代码审查(读取)的软件许可证?

.net - 签署开源项目的二进制文件

linux - 许可 - Linux 内核

Qt LGPL 许可证异常?

.Net WikiText 到 HTML 解析器

google-chrome - 如何获取 Google Chrome 浏览器源代码?

java - CallBack 给出 NullPointEreException

java - 如何在 Java 中获取对象类?

java - 在 Tomcat 8 中使用基本身份验证时出现错误 403