NServiceBus license? [closed]

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:

  • Udi Dahan says the source and binaries are “free” only for single server with 4 cores or less
  • Udi Dahan lists “free alternatives” to NServiceBus
  • Udi Dahan indicates that he is changing the licensing for the source (and the product)
  • Udi Dahan indicates you only get one machine with the express version
  • Udi Dahan states that once you have a server licensed under the “Standard Edition” you can use as many Express Edition licenses as you like.
  • Download page for NServiceBus that indicates that both the source and the binaries for 2.5 are under the 3 licenses.
  • Actual License page for NServiceBus
  • Commercial License (Standard Edition) page that indicates once you buy a single license you can “run Express Edition in production on unlimited machines and cores”.

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

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)