我可以在我的项目和 Nuget 包中使用 DeepZoomTools.dll 吗?

Can I use DeepZoomTools.dll in my project and Nuget package?

我正在尝试实现 OpenSeadragon viewer with Deep Zoom Image (.dzi formart) 支持。

为了使事情正常工作,我应该在服务器端创建磁贴和适当的 xml

Microsoft 有 Deep Zoom Composer,其中包含 DeepZoomTools.dll。它提供了我需要的功能。我将此 dll 添加到我的项目中。

所以我有一些问题:

  1. 由于它是 SilverLight 3 的一部分,因此在服务器端使用此 dll 是否存在任何法律问题?
  2. 我想创建 NuGet 包和 Github 存储库,我的包装器位于该库之上,所以我可以使用 DeepZoomTools.dll 在这个包里?那么我的 Github 项目可以使用什么样的许可证?
  3. 我可以反编译DeepZoomTools.dll并对其进行一些更改以添加一些功能,然后在项目和 NuGet 包中使用它吗?

最后一个问题:是否有用于此目的的 .net 替代库? (我知道我们不能在这里询问工作库,但仍然)

提前为这篇文章的篇幅道歉post,但鉴于许可证的棘手性质和我缺乏法律专业知识,我觉得有必要提供尽可能多的信息。


鉴于此工具的年代久远,没有太多资源可以使用。我设法在原始 msdn blog post 的评论中找到了重新分发问题以及作者的回答,并截取了相关位以防博客 posted 最终消失(突出显示我的):

不幸的是,Live Labs 现在似乎是一条死胡同。

然后我转向您在安装 msi 时签署的许可协议,果然它涵盖了再分发。特别是第 2a 条,我将 post 放在此处,以免其他人不得不下载并安装 msi 来阅读该部分内容(但请仔细阅读整个许可证):

安装 MSI 的相关许可证位

上述 REDIST.TXT 的相关内容

DeepZoomTools.dll

编辑:我忘记在我的研究工作中回答你的具体问题,所以这是我对上面给出的信息的看法

Is there any legal problems with using this dll on server side since it's part of SilverLight 3?

考虑到 windows 仅分发的限制,除非你能以某种方式确保你的解决方案将被限制为相同的,否则我认为你不能安全地使用这个 dll。

I want to create NuGet package and Github repository with my wrapper above this library, so can i use DeepZoomTools.dll in this package? What kind of license I can use in my Github project then?

再说一次,只要你能确保 windows 唯一的限制,你就可以根据我的理解创建 Nuget。从技术上讲,由于 .Net 可以通过单声道在其他平台上 运行,因此可以归结为您的许可限制来防止这种情况发生。这就把我们带到了你问题的第二部分:Github 回购的许可证类型。答案在条款 2.a.ii 第二点:它必须至少与此 DLL 的许可证一样严格。

Can I decompile DeepZoomTools.dll and make some changes to it in order to add some functions and then use it in projects and NuGet package?

许可证第 4 条第 1 点和第 2 点明确禁止反编译或变通技术限制,因此您的问题

Is there any .net alternative library for this purpose

我注意到 similar project on github (though 7 years old so I doubt API will be a full match still) that employs GTK Sharp。也许您可以使用相同的方法?我不熟悉 DeepZoom 格式本身,无法最终帮助您。


您可能想在 relevant msdn forums

上提出澄清问题

Kirupa.com 似乎还活着,你可能希望联系 in their forums 并寻求澄清,因为参考博客的作者 post posted她来自该域的电子邮件地址(尽管我怀疑它现在是否存在,因为 Kirupa 是 MS)。

免责声明: 像往常一样,我只是另一个开发人员,而不是法律专家。据我所知,您可以在代码中使用 dll 并重新分发它,但不幸的是,您在安装程序时同意的许可协议中规定了限制。但是,您可能希望就此事获得称职的软件版权律师的建议。