NServiceBus许可证?

31
更新:最新的许可证信息可以在这里找到:http://particular.net/licensing 因此,我正在阅读NServiceBus社区版的许可限制。它说:
生产使用仅限于单个具有不超过4个核心的服务器。
那是不是意味着所有的订阅者和出版者都需要在一个单独的服务器上运行?
还是它意味着每个作为发布者或订阅者的服务器都不能超过4个核心?
我希望它是后者,因为我们计划使用NServiceBus来允许几个应用程序(和服务)在几个不同的客户机和服务器上订阅业务事件。我很难让我的管理层为每台机器上想要允许作为订阅者的CPU支付500美元。
更新: 作为一个副笔记,商业许可证表示他们“将有权进入您的场所并访问您的记录和计算机系统”,以确保您支付了全部金额。 我知道我的数据安全人员会对此感到有些窒息。 拥有商业版本的任何人对审核发生的频率和实际侵入性有评论吗?

4
已经删除了有关进入您的场所的部分。 - Udi Dahan
2
我投票关闭此问题,因为该问题涉及法律和许可问题,这些问题不适合在 Stack Overflow 上讨论。 - user4639281
我投票关闭此问题,因为它涉及许可证而不是直接与编程有关。请参见这里了解详情,并查看帮助中心获取更多信息。 - Pang
3
现如今,仅仅编写程序而不考虑合适的许可证几乎是不可能的。即使在GitHub上创建新的代码库时,你也需要考虑许可证(包括你自己的代码和依赖代码)。在现代开发中,许可证非常重要。 - BrainSlugs83
3个回答

46

更新:NServiceBus 4.0 版本的许可似乎已经改变。我找不到任何关于 Express 版本的信息。这很可能不适用于该版本。

所以,我更深入地研究了 NServiceBus 2.5 版本。

NServiceBus 有三种许可选项(适用于 codebinaries),我的理解如下:
(免责声明:我不是律师,请阅读真正的许可证并遵守)

  • RPL 1.5: 开源“类”许可证。它有一个很大的限制,就是您必须将所有 "Derivative Works" 发布到网络上。GNU list 的人将其列为Free许可证。(尽管如果您的项目是开源的,则此许可证使 NServiceBus 保持“免费”(实际上))。

    更新:Udi Dahan 表示,“衍生作品不包括使用 NServiceBus 作为库(绑定到外部接口)的代码。” (这已经被澄清不是真的。请参见下文。)

    另一个更新: Phill 说他给 Udi 发了电子邮件,他被告知许可证不是这样工作的。(请参阅他下面的评论)

    我承认,虽然我感谢 Udi 的优秀产品,但我希望他能够搞清楚他的许可证并使其更加清晰。

    又一个更新: Udi 再次回答了我的问题,并承认他以前的评论是基于以前使用的 Apache 许可证。新的许可证使用 RPL,基本上意味着如果您无法在 RPL 下发布使用 NServiceBus 的源代码,则不能使用 NServiceBus 作为 RPL。

  • Express 版本: 您可以免费使用它,但有以下限制:

    1. 所有发布者和订阅者都在:
      • 同一台机器上(这意味着您只能在一个计算机上运行 NServiceBus)
      • 并且该机器不超过 4 个核心。
        (您不能使用此许可证进行分布式模型。)
    2. 您只能使用一个工作线程。

  • 标准版:
    1. 您每个核心支付 $500(或每个核心每月 $25),可以购买尽可能多的服务器以实现高性能(超过一个工作线程)。 您必须至少购买一个。
    2. 您可以使用 Express 许可证(如上所述)而没有 #1 的限制(单台机器和 4 个核心)
    3. NServiceBus 的人员每年可以“进入您的场所,并访问您的记录和计算机系统”,以验证您是否支付了应支付的费用。

因此,如果您想要无限使用 Express 版本,则最好购买标准版的 1+ 核心许可证。 然后,您可以使用尽可能多的 Express 版本许可证。

来源
这篇文章的来源是来自 Udi Dahan,NServiceBus 的“所有者和作者”的引用语:

注意: NServiceBus仍然比大多数ESB供应商便宜。而且比自己编写ESB要便宜得多。


5
哇,好发现啊,可惜没有得到适当的公告,看来我得为我的项目寻找替代方案。:( - Phill
1
+1. 供应商提供了3种许可选项:RPL、Express和Commercial。您可以通过发布源代码(RPL)或购买商业许可证,在多台服务器上使用它。或者,您可以使用Express版本的功能限制。在这里,RPL实际上并没有任何意义,但是强制您购买商业许可证。 - JCasso
13
你准确地描述了选项。 - Udi Dahan
1
@Vaccano - 我已向Udi发送了电子邮件,即使您下载源代码并进行编译,仍然必须一同发布源代码才能免费使用。看起来我们现在需要一个与NSB一样棒的小型项目替代品... - Phill
5
@Udi-Dahan @Phill - 尽管我不介意Udi为NServiceBus收费(与其他收费产品相比,这确实是一个很好的价格),但我认为Udi需要选择一个答案,并在NServiceBus许可证页面的RPL部分明确地发布它。程序员不喜欢成为律师。只需用简单的英语告诉我们您的意图(就像其他许可证选项一样)。这将节省很多时间研究许可证的目的。 - Vaccano
显示剩余5条评论

3

编辑:许可证已更改,因此这不再是真的。 :(

NServiceBus仍然免费,如果您想下载和编译源代码,则没有任何限制。

您购买的许可证是用于商业支持的。

如果您自己下载/编译,则只能依靠自己和社区解决问题并寻求帮助。

购买许可证,您将受到在哪些服务器上运行NServiceBus的限制,但可以获得商业支持。

(我希望这讲得通)

编辑: 是的,当Udi Dahan在去年悉尼结束培训课程时,在他之后做了一个关于许可证的谈话时,有人问及了这个问题,他说NServiceBus仍然是免费和开源的,但某些公司不会使用它,因为没有商业支持。

因此,如果您自己下载/编译,它是免费的,但在支持方面您必须自力更生。

如果通过网站下载,您将通过Express Edition获得有限的支持,并购买商业许可证将获得更多支持,但您将被锁定在网站上的服务器上。

http://sydney.ozalt.net/2010/11/november-meeting-recorded-for-your.html

视频 ^ 视频中的1小时23分钟是商业支持的讲话。

http://www.philliphaydon.com/2010/12/sydney-alt-net-with-udi-dahan-and-nservicebus-commercial-support/


1
你确定吗?听起来如果你想使用2.5版本,你必须使用RPL(互惠公共许可证)或社区版或标准版。RPL让我感到害怕,因为我不理解它(我是否需要公开发布我的代码?(我的公司不会同意这样做))。另外两个选项要么太严格,要么太昂贵。 - Vaccano
这是我得出这些结论的页面:http://www.nservicebus.com/License.aspx。并且从http://www.nservicebus.com/Downloads.aspx上说:“NServiceBus源代码的使用受此许可证的管理。” - Vaccano
@Vaccano - 我编辑了我的答案,并添加了他提到它的视频链接。 - Phill
嗯,我听了他说的话,但他没有提到社区版。我在想自那次演示以来是否有所改变。源代码下载页面上说,您也受源代码使用许可证的约束。(也许我需要再仔细看看RPL许可证。它可能没有我想象的那么可怕。) - Vaccano
1
@Vaccano - 我认为视频发布后添加了社区版。如果您想确认许可协议,我建议直接给Udi Dahan发送电子邮件以获得100%的澄清。 - Phill
显示剩余2条评论

2

如果你对新的许可证有疑虑,你可以使用NSB版本2.0。它是在Apache v2下授权的。

你可能会遇到一些依赖问题,因为旧的第三方库比较老。从GitHub获取源代码,并使用新版本重新编译即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接