Open source 如何处理死气沉沉的开源依赖关系?

Open source 如何处理死气沉沉的开源依赖关系?,open-source,binary,distribution,software-distribution,Open Source,Binary,Distribution,Software Distribution,我正在准备一个开源版本的项目,但遇到了一个问题。。。这个项目依赖于许多开源组件,到目前为止,我只是将这些组件作为JAR文件存储在我的lib目录中。其中一些可以追溯到几年前,其中至少有一部分来自一个开源项目,其站点已经消失,而其源代码我一直无法找到(Radeox库)的副本 我的困境是,当我发布我的项目时,我不知道如何打包它。。。我不应该包含没有源代码的JAR文件,因为这会违反我自己使用代码的许可条款,但我认为这个JAR文件不容易找到,所以我也不想有一个自述文件说“找到这个JAR,祝你好运!” 在这

我正在准备一个开源版本的项目,但遇到了一个问题。。。这个项目依赖于许多开源组件,到目前为止,我只是将这些组件作为JAR文件存储在我的lib目录中。其中一些可以追溯到几年前,其中至少有一部分来自一个开源项目,其站点已经消失,而其源代码我一直无法找到(Radeox库)的副本

我的困境是,当我发布我的项目时,我不知道如何打包它。。。我不应该包含没有源代码的JAR文件,因为这会违反我自己使用代码的许可条款,但我认为这个JAR文件不容易找到,所以我也不想有一个自述文件说“找到这个JAR,祝你好运!”

在这种情况下,最佳做法是什么?(除了“保留从现在开始导入的所有jar的源代码!)还有第二点,有人知道我在哪里可以找到这个特定库的源代码吗


谢谢!

如果许可证要求您必须包含源代码,那么您必须包含源代码


试着联系原始作者。也许会有帮助。如果你联系不到他们,也许你可以从使用该库的另一个项目中获得源代码的副本。作为最后的手段,你可以尝试或存档。org。

更新:宾果!!

这是Radeox。导航到以获取源代码

更早…

作者斯蒂芬·施密特(Stephan Schmidt)目前正在运行一个博客。他的联系信息,包括电子邮件,以及一篇关于将项目转移到Reposita.org(该网站似乎还没有开通)的文章。去年他的博客将他推到了ImobilienScout24

我相信您已经意识到依赖一个死气沉沉、没有维护的项目的危险。我们刚刚清除了软件中的几个此类依赖项,并且睡得更好。它们包括用于SOAP web服务的Axis 1.4(2005年因严重的线程错误而被放弃),取而代之的是普通Java逻辑;kxml解析器(2005年也被放弃),取而代之的是JAXP;以及一个没有名字的HTTP客户端(如此废弃,我们甚至找不到旧的源代码),取而代之的是ApacheHTTP客户端


获取法律建议,并竭尽全力找到源代码和/或Stephan,记录您所做的一切。这可能足以让您在制定替换策略时分发二进制文件。

我们的方法是确保我们在获取二进制文件时获得源代码。然后,对于您提到的eason,我们将所有第三方依赖项永久存档在本地。这有点痛苦,因为使用第三方库比简单地下载tarball并继续使用要复杂一些,但这意味着当库被弃用时,我们可以继续履行我们的客户义务和法律义务

请注意,目前我们维护的软件已经有将近15年的历史了,而且我们的一些第三方软件包比流行的web早,所以我们的解决方案对您来说可能有些过头了


还有其他优势;我们不得不修补这些产品中的一些,以修复bug或添加上游维护人员无法或不愿添加的功能,但我们需要这些功能,并且这些功能可以无缝地融入到这个过程中。

+1:archive.org.并且——这是对所有使用开源的人的一个很好的警告。实际上,请获取开源.Distribute来源。顺便说一句,谷歌缓存链接在我试图发布它的前几次时被堆栈溢出损坏,但现在应该可以工作了。谢谢,这真的很有帮助:)@Andy:Codehaus今年关闭了,虽然它有一些重定向,但Radeox似乎没有。这是一个很好的例子,说明了如果你重新使用不太流行的开源软件包。