NServiceBus license? [closed]
Asked Answered
W

3

31

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?

Wichman answered 14/4, 2011 at 2:8 Comment(4)
The section about entering your premises has been removed.Rind
I'm voting to close this question as off-topic because this question has to do with legal and licensing issues, which are off-topic for Stack Overflow.Unbecoming
I'm voting to close this question as off-topic because it is about licensing instead of directly about programming. [See here] for details and the [help center] for more.Megagamete
It's pretty much impossible these days to "just program" without considering the appropriate license. -- Even GitHub projects make you consider licenses before creating a new repository, (both for your own code, and for the code of your your dependencies). -- In modern development, licensing is very relevant.Carbohydrate
W
46

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.

Wichman answered 14/4, 2011 at 23:3 Comment(10)
Wow, nice find, shame there was no proper announcement of it, guess I have to look for alternatives for my project. :(Gutshall
+1. vendor has 3 licensing options rpl, express, commercial. You may use it on more than one server either by publishing your source code (rpl) or buying commercial license. Or you can use it in its limitations by using express edition. Here rpl actually does not mean anything but forces you to buy a commercial license.Shela
You have accurately described the options.Rind
@Phill, I got an answer from Udi Dahan on the NServiceBus Forms that seems to indicate that he does not consider just using NServiceBus a "Derivative Work". That would seem to indicate that downloading NServiceBus (source or binaries) under the RPL 1.5 would still work for "Free" as long as you don't edit the source in any way (or publish your changes back to the internet). It looks as if you would not have to open source your project that uses NServiceBus under the RPL. @Udi Dahan - is that right? I don't want to put words in your mouth :)Wichman
@Wichman - Hah, yeah that one was explained during the course. I completely forgot what he meant about derivative work. Well that means the licensing hasn't changed, just re-worded. PHEWGutshall
@Wichman - I emailed Udi, even if you download the source and compiled you still have to release your source along with it in order to use it for free. Looks like we now need an alternative to NServiceBus for small projects that is as awesome as NSB...Gutshall
@Udi-Dahan @Gutshall - While I don't begrudge Udi making NServiceBus for pay (it really is a good price compared to any other for pay product out there), I think that Udi needs to pick an answer and post it clearly under the RPL part of the license page for NServiceBus. Programmers don't like to be lawyers. Just tell us what you intend it to mean in plain English (like the other license options have). That would save a lot of time researching what the intent of the license is.Wichman
Unambiguous answer from Udi: Under the RPL, which refers to US copyright law: "a derivative work is an expressive creation that includes major, copyright-protected elements of an original, previously created first work." As such, any software built with NServiceBus falls under this category. tech.groups.yahoo.com/group/nservicebus/message/10904Ballance
@JacquesBosch Udi's post (which you cite) is in response to an earlier post of his, and may or may not contradict it. He isn't clear whether talking RPLing software libraries or full software. Wikipedia's derivative work section on "transformativeness" cites an example which suggests use of NServiceBus as a library could be non-contagious. The preamble in RPL1.5 states that it was designed to ensure that "bug fixes, extensions, and meaningful and valuable derivatives" were fed back to the community. This suggests building your site or app with NSB needn't lead you to RPL it; just the libs.Simmonds
I agree with @afit, RPL only applies to changes made to the NSB source. I don't see anything in RPL that suggests using NSB as a library infects the application. - gnu.org/licenses/license-list.html#NonFreeSoftwareLicenseAcrolein
G
3

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/

Gutshall answered 14/4, 2011 at 2:23 Comment(7)
Are you sure? It sounds like you have to use the RPL (Reciprocal Public License) or the Community Edition or the Standard Edition if you want to use version 2.5. The RPL Scares me because I don't understand it (will I have to release my code publicly? (My company will not be ok with that)). The other two are proving to be either too restrictive or too expensive.Wichman
Here is the page I am drawing these conclusions from: nservicebus.com/License.aspx. And from nservicebus.com/Downloads.aspx that says "Usage of NServiceBus source code is governed by this license"Wichman
@Wichman - I edited my answer and added link to video where he mentioned it.Gutshall
Hmmm, I listened to what he said, but he did not mention the community edition. I am wondering if things have changed since that presentation. The download page for the source code says you are also bound by the license for source code use. (Maybe I need to look at the RPL license some more. It may not be as scary as I think it is.)Wichman
@Wichman - The community edition was added after the video, I think. If you want to confirm the license agreement I recommend emailing Udi Dahan directly to get 100% clarification on the matter.Gutshall
@Udi Dahan - Maybe Udi will see this question and respond. I asked another question about the RPL license here: #5659172 and it looks as if any code that touches NServiceBus under the RPL must be Open Sourced under the RPL.Wichman
This is no longer true, just FYIBanville
M
2

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.

Mylesmylitta answered 23/4, 2011 at 16:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.