Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NServiceBus license? [closed]

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?

like image 710
Vaccano Avatar asked Apr 14 '11 02:04

Vaccano


3 Answers

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.

like image 69
Vaccano Avatar answered Nov 05 '22 17:11

Vaccano


Edit: Licensing has changed so this is no longer true. :(

NServiceBus is still free if you want to download and compile the source, theres no restrictions on it.

The licenses you buy are for commercial support.

If you download/compile it yourself then you can only rely on yourself and the community to solve issues and look for help.

Buying a license you get restrictions on what you can run NServiceBus on, but the commercial support.

(i hope that makes sense)

Edit: Yes, when Udi Dahan did he training course end of Sydney last year, the issue around licensing was asked during a talk he did afterward, he said NServiceBus is still free and open source, however some companies wont use it because there is no commercial support.

So if you download/compile yourself, its free but you are on your own in terms of support.

If you download it via the website, you will get limited support via the express edition, and buying a commercial license you will get more support, but you are locked down to the servers on the site.

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

Video ^ 1 hour 23 minutes in the video is the talk of commercial support.

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

like image 26
Phill Avatar answered Nov 05 '22 16:11

Phill


If you're concerned with the new licensing, you can use NSB version 2.0. It's licensed under Apache v2.

You may run into some dependency issues with old third-party libraries being older. Grab the source from GitHub and recompile with the new versions.

like image 2
Joey V. Avatar answered Nov 05 '22 17:11

Joey V.