NServiceBus license?

Vaccano picture Vaccano · Apr 14, 2011 · Viewed 21k times · Source

Update: The most current licensing info can be found here: http://particular.net/licensing

So, I am reading the license restriction for NServiceBus Community Edition. It says:

Production use is limited to a single server with no more than 4 cores.

Does that mean that all the subscribers and all the publishers need to be running on a single server?

Or does it mean that each server that is either a publisher or a subscriber can have no more than 4 cores?

I am hoping it is the later as we had planned to use NServiceBus to allow several applications (and services) running on several different client machines and servers to subscribe to business events. I would be hard pressed to get my management to pay $500 for every cpu on every machine that we want to allow as a subscriber to a published event.

UPDATE: As a side note, the commercial license says that they "will have the right to enter Your premises and access Your records and computer systems" to make sure you are paying the full amount. I know my data security people are going to choke a bit on that. Does anyone who have the commercial version have a comment on how often this audit happens and how intrusive it really is?

Answer

Vaccano picture Vaccano · Apr 15, 2011

UPDATE: The licensing for NServiceBus seems to have changed for version 4.0. I can't find anything about an Express Version. This mostly likely does not apply to that version.

So I dug into this more for the 2.5 version of NServiceBus.

NServiceBus has three licenses options (that apply to both code and binaries) that I interpret as follows:
(DISCLAIMER: I am not a lawyer so read the real licenses and follow those)

  • RPL 1.5: The Open Source "like" license. This has a big limitation to it. That limitation is that you have to post all "Derivative Works" back out to the net. The folks over at GNU list this as a Non-Free license. (Though if your project is open source then this license keeps NServiceBus "free" (in effect)).

    Update: Udi Dahan states that "Derivative works do not include code which make use of NServiceBus as a library (binding to the external interface)." (This has been clarified to not be true. See below.)

    Another Update: Phill says he emailed Udi and he was told that the license does not work like that. (See his comment below)

    I admit that while I thank Udi for his great product, but I wish he would get his licensing straightened out and made a bit clearer.

    Yet Another Update: Udi responded to my question again and admitted that he was basing his earlier comment off of the previously used Apache License. The new licensing uses RPL and basically means that if you can't release the source that uses NServiceBus under RPL then you can't use NServiceBus as RPL.

  • Express Edition: You can use it for free with these limitations:

    1. All the publishers and subscribers are:
      • On one (the same) machine (meaning you can have NServiceBus only running on one box)
      • And that machine has no more than 4 cores.
        (You can't have a distributed model at all with this license.)
    2. You only can have one worker thread with this license.

  • Standard Edition:
    1. You pay $500 per core (or $25/month/core) for as many servers as you need to allow high performance (more than one worker thread). You must buy at least one.
    2. You get to use the Express License (as outlined above) without the limitations of #1 (single machine and 4 cores)
    3. The folks at NServiceBus get to come and "enter Your premises and access Your records and computer systems" on an annual basis to validate that you are paying what you should be paying.

So, if you want unlimited use of the Express Edition then the best best is to buy 1+ core licenses under the Standard Edition. You can then use as many Express Edition licenses as you like.

Sources
Here are my sources for this post. They mostly come from quotes from Udi Dahan, the "owner and author" of NServiceBus:

NOTE: NServiceBus is still cheaper than most of the ESB players out there. And far far cheaper than rolling your own.