45

I did an package manager update-package command to update our project to the latest binaries. I almost published it because it passed all the tests until luckily I had found a problem that needed some more debugging.

My mouth fell open when I suddenly saw this exception message:

The free-quota limit on '6000 Redis requests per hour' has been reached. Please see https://servicestack.net to upgrade to a commercial license.

What if I published this site? Practices like these are simply revolting! There is no console warning or whatsoever about not having any license. It's like having an 'open source' trojan horse spread out into your projects.

Are there any good alternatives to servicestack?

EDIT: Reading all the comments I guess my first reaction was a bit strong. Nuget updated from v3 to v4 automatically and although I didn't notice any breaking changes, reading the release notes would have been the right thing to do instead of bashing an otherwise good product. That being said, I think people will burn their hands on this exception, since 6000 requests would be enough to come through the tests and publishing this is disastrous.

Elger Mensonides
  • 6,930
  • 6
  • 46
  • 69
  • Will the downvoters please stand up and explain? Or is the negative publicity a problem to the servicestack company? – Elger Mensonides Dec 26 '13 at 19:19
  • 9
    "Practices like these are simply revolting!" You're getting angry and slagging off people that spent a lot their time to develop a fantastic platform that you would have otherwise been happy to use for free, and 3 versions of the product were available as such. While a message may certainly be helpful, it's not like it's hidden information on the official website, and as such it's your fault for not checking into the licence agreement of what you are deploying. Maybe politely suggest the feature. – Scott Dec 26 '13 at 22:43
  • 9
    Spending a lot of time to eventually make a buck you mean? Servicestack should have been honest about it from the beginning. There was no information about this before on the site and you know it. I really admired how much I saw Mythz and other servicestack people answer questions here on SO. I guess I'm angry because this was commercially motivated. – Elger Mensonides Dec 27 '13 at 13:44
  • 5
    @Elger I stopped supporting [ServiceStack in July](https://plus.google.com/u/0/+DemisBellot/posts/iZzxtmw7KZk), at that time the website and all projects held disclaimers that there was no more direct support available for SS, the issues of all projects were also closed. I announced I resigned to work on [ServiceStack full-time in August](https://plus.google.com/+DemisBellot/posts/g8TcZaE7bv9) and that the future versions of ServiceStack would be AGPL/Commercial and contain free quotas. This was repeated in Release Notes and v4 was a breaking change requiring an explicit license acceptance. – mythz Dec 27 '13 at 14:17
  • 5
    @Elger as mentioned in the answer, [v3 of ServiceStack](https://github.com/ServiceStackV3/ServiceStackV3) contains an archive of v3 docs, links to all the v3 source code as well as instructions on installing, updating and uninstalling from NuGet. You would have needed an explicit license acceptance to install v4 and v4 is a breaking change that's technically incompatible with v3, you should've at least read the Release Notes or at least visit the new website before performing a major upgrade to a breaking version. The fact you didn't is no cause for misguided entitlement. – mythz Dec 27 '13 at 14:22
  • Thanks for your clarification, you are right, I should have looked in the release notes before upgrading, I guess a nuget update should also be taken more carefully because ss isn't the only library in our projects. Sorry for the strong language. I'll close this post. – Elger Mensonides Dec 28 '13 at 13:14
  • @mythz Does the free quota also apply to the AGPL license? Or is it not applicable, allowing full use of ServiceStack 4 provided the AGPL license is respected? – Erwin Mayer Jan 20 '14 at 03:58
  • I wouldn't have any problems licensing to get support, but I do have problems when nuget automatically updates and it breaks an in-production system due to usage restrictions... And I've only uses ServiceStack.Text due to my fondness for OSS... Sad. – Loudenvier Feb 06 '14 at 20:47
  • 5
    In these sort of situations it can be unfortunate that NuGet makes it easy to inadvertently do an update to a new major version with breaking changes to code and usage. But that's a NuGet problem, it has nothing to do with ServiceStack. – Mike Mertsock Feb 06 '14 at 21:58
  • 1
    @Loudenvier Note: if you're fondness of OSS extends to your own projects (i.e. they're also OSS) than you can also use ServiceStack v4+ for free under the [AGPL/FOSS License Exception](https://github.com/ServiceStack/ServiceStack/blob/master/license.txt). – mythz Feb 11 '14 at 11:18
  • 1
    @ErwinMayer Nope, no restrictions for OSS projects under the [AGPL/FOSS Exceptions](https://github.com/ServiceStack/ServiceStack/blob/master/license.txt), you can compile from src and use the [Test License Key](https://github.com/ServiceStack/ServiceStack.Text/blob/master/tests/ServiceStack.Text.Tests/App.config#L4). – mythz Feb 11 '14 at 11:21
  • @mythz The OSS license key does not seem to work with the Nuget packages. Does this mean we have to recompile from source each time there is an update? – Erwin Mayer Feb 16 '14 at 09:53
  • 1
    @ErwinMayer Yes compile from source means to build it yourself? Should be obvious the public license keys cannot be used with the published releases. The GitHub repos are a live repository that gets updated nearly every day, you can compile them at your own discretion, just like you would any other software that's not available on NuGet. – mythz Feb 16 '14 at 11:49
  • 2
    I agree that this is at best a weird business practice but can also be interpreted as outright misleading. The right way (right as defined by the broad business community and how most IT businesses hold it) is to fork off a new project and make that the commercial version. But offering an open source version should not suddenly out of the blue ask for a license key. The exact same happened to me today and I feel irritated because it now wastes my time, time I would have better invested looking for a different json framework had I known this before. – Matt Jul 19 '15 at 11:16
  • I only needed to test my application for a client for certain days to get performance results and it didn't work for me to purchase any license so I sent an email to them(team@servicestack.net) explaining what could I do and they send me a unlimited key active for 30 days, for anyone who this solution can works go ahead! – David Castro Mar 04 '20 at 23:07

4 Answers4

25

We are migrating to Booksleeve, which was developed by the people who have built StackOverflow itself. So far we had very good experiences.

The money is not the issue (the cost of migration is higher than paying for the license), we're doing it because we just don't want to enter a business relationship with company with sketchy practices like this.

(And no, we didn't accept any license or anything, all we did was a git pull from GitHub.)

Tamas Czinege
  • 118,853
  • 40
  • 150
  • 176
  • 1
    There was never a need to enter into any business relationship. If you git pull'ed then you would've also pulled the **v3** branch which has been repeated numerous times (inc. on the project site you're pulling from) that is where the previous BSD code was. This can't be repeated more than it currently has. – mythz Feb 10 '14 at 13:01
  • 3
    I just tested ServiceStack and I got this error: "SetUp : ServiceStack.LicenseException : The free-quota limit on '20 ServiceStack.Text Types' has been reached. Please see https://servicestack.net to upgrade to a commercial license or visit https://github.com/ServiceStackV3/ServiceStackV3 to revert back to the free ServiceStack v3." I was like "WTF"? I totally agree that this kind of hidden and shady practices are unbelievable and this should be removed from Nuget entirely. I will surely get with StackExchange. – Thomas Jaeger Sep 30 '14 at 18:12
  • 4
    @mythz, yes it indeed is a shady business practice. You should have separated an open source license and a commercial version. You can choose to maintain the open source version or not, but you should have been upfront from the beginning. Money is not the issue here. But an open source version asking for a license key out of the blue (I actively used your library for over a year and this is the first time this issue came up as part of servicestack.text. It just leaves a bitter taste behind and does not bestow confidence in your business practices. – Matt Jul 19 '15 at 11:20
  • ...by the way I am using your open source library for development purposes. I have no issues and of course adhere to license agreements in that I would pay for commercial use. Just wanted to make this clear in case of confusion. – Matt Jul 19 '15 at 11:21
  • 2
    @MattWolf It's now ~2 years since there's any development of v3 you can find the [docs, nuget packages and all source code](https://github.com/ServiceStackV3/ServiceStackV3) and continue using it as you have always have but development on it has stopped nearly 2 years ago. I recommend that you instead use one of the existing v3 BSD forks. V4 is a major breaking change, don't blindly upgrade to it without understanding the full implications of its AGPL or commercial license. Your impression of how we should develop software indicates you will be happier not using it and using a v3 fork instead. – mythz Jul 19 '15 at 14:35
  • 1
    @mythz, sound advice and you are accurate, I reverted to v3 instead. Thanks – Matt Jul 20 '15 at 07:16
  • 3
    Booksleeve has transformed into StackExchange.Redis now: https://github.com/StackExchange/StackExchange.Redis – Sudhanshu Mishra Jan 06 '16 at 01:24
21

I am going with StackExchange.Redis which was based upon the Booksleve by Stack Exchange folks for very high performance needs. Seems good enough and with an active community.

Their license is MIT which basically means you just need to include their copyright & license into your product. (Fair enough)

Fabio Marreco
  • 2,186
  • 2
  • 23
  • 24
15

ServiceStack, including packages such as ServiceStack.Redis, are becoming commercially supported products in version 4. You probably have been using version 3.x of the ServiceStack packages, and NuGet decided to update you to 4.x.

There are limits for free usage of the v4 libraries. See this announcement for more info. Version 3.x of all ServiceStack products remain open-source; there is a new GitHub project with information about v3 support.

For now, I would suggest undoing the package update and setting the max version to 3.x in your NuGet package config file, so that your NuGet packages remain at version 3.x for production code in the short term:

<package id="ServiceStack.Xyz" version="3.x.x" allowedVersions="[3,4)" />

Then it should be safe to use NuGet to update your packages.

Meanwhile, you can visit https://servicestack.net to evaluate your options for upgrading to version 4, licensing choices, or whether to stick with v3.

Mike Mertsock
  • 11,825
  • 7
  • 42
  • 75
  • Thanks for the info, but wouldn't a warning (with some exclamation marks) be appropriate? Those are amongst the things you check for before setting a project live. – Elger Mensonides Dec 26 '13 at 13:34
  • 24
    IMHO this IS REVOLTING! ServiceStack build itself with a free and open mindset. Now I'm having problems in a in-production site because I've chosen to use ServiceStack for simple JSON serialization (ServiceStack.Text). This is outrageous. I'll never ever even peek at ServiceStack again. Thanks goodness I had custom errors off, I can't imagine the damage of my customers seeing a USAGE LIMIT REACHED message on the product. I can't really put into words how I'm enraged right now. – Loudenvier Feb 06 '14 at 20:34
  • 11
    @Loudenvier as mentioned multiple times already, v3 of ServiceStack (we've devoted 5 years of dev effort to create) [remains free, docs, source code and NuGet instructions are here](https://github.com/ServiceStackV3/ServiceStackV3). The problems you're having is because you chose to update to a major breaking commercial release of ServiceStack (announced 6+ months ago) and accepted the commercial license without reading any release notes, website or project sites. Your problems are your own, you've chosen to blindly update and accept license without any research or due diligence on your part. – mythz Feb 08 '14 at 20:27
  • 4
    @mythz yes, I'm the one to blame for trusting that Service Stack wouldn't be putting out a nuget package, which is automatically updated by a single context-menu click, with usage limitations and a whole new commercial policy. Yes! I agree with you. I'm the one to blame! I shouldn't be too trusting. After all I don't even trust my own code, but for that I write Unit Tests... BTW: The limited Service Stack package passed all my Unit Tests... They only failed in production. Yeah! I shouldn't bee too trusting! – Loudenvier Feb 11 '14 at 17:41
  • What makes me even more sad is that I can't even remember the number of times that I've suggested fellow developers to give Service Stack a try! I had to backtrack a few of them to warn them to manually edit their nuget package.cfg to prevent them from breaking their products just by updating their packages! I've also suggested that they migrate to Web.api so that they can have something future proof which is bundled with and maintained by the .NET team... As good as it is, it's time to say goodbye to Service Stack. – Loudenvier Feb 11 '14 at 17:46
  • 2
    @Loudenvier It can't possibly be automatically updated, when you need to accept a commercial license which was only ever first added in v4. Yes, you can [add version constraint to your packages](https://github.com/ServiceStackV3/ServiceStackV3#nuget-package-authors-with-a-dependency-on-servicestack) which has already been suggested when we launched v4 (and which we've already applied to all our v3 packages). If you refuse to any read release notes, websites, forums or project sites within the last 6 months, then yes I'd consider some internal reflection on your blind updating process. – mythz Feb 11 '14 at 18:35
  • 1
    @Loudenvier We don't have your email so if you wont read any of our sources of communication, we have no way to notify you. If you had any questions all you needed to do was ask. I personally would've preferred that NuGet didn't update major releases without explicit consent, but that's not something we had any control over. – mythz Feb 11 '14 at 18:49
  • 1
    I agree with @Loudenvier that this is revolting. I just spent my valuable time to test the latest version of ServiceStack for the first time via Nuget. Now I get this EXCEPTION: "SetUp : ServiceStack.LicenseException : The free-quota limit on '20 ServiceStack.Text Types' has been reached..." WTF? There was no indication anywhere that it is commercial product. Very shady practice by getting notified via an EXCEPTION? How about open disclosure? I will go with StackExchange instead and make sure I will tell others about this. – Thomas Jaeger Sep 30 '14 at 18:24
  • 1
    @ThomasJaeger Surprise exception? Its everywhere: a dialog pops up when blindly installing from NuGet. A notice on [NuGet description](https://www.nuget.org/packages/ServiceStack.Redis) on installing v3. a [notice on Project Page](https://github.com/ServiceStack/ServiceStack.Redis#install-servicestackredis) with a big heading where you can download the BSD/free version, a link to the [free previous version on the pricing page](https://servicestack.net/pricing), a page dedicated to [installing v3](https://github.com/ServiceStackV3/ServiceStackV3), link in the exception, its everywhere it can be – mythz Sep 30 '14 at 19:04
  • 1
    @ThomasJaeger The [Free quota's](https://servicestack.net/download#free-quotas) are also mentioned at the top of the [download page](https://servicestack.net/download) which also includes a [description and link to the older BSD/free v3 release](https://servicestack.net/download#legacy). – mythz Sep 30 '14 at 19:15
  • 2
    I agree now with @mythz that there's plenty of information on ServiceStack commercial usage. In my case the new version installed silently on my v3 nugets, or I've missed this or someone else on the office upgraded. I've since stopped using ServiceStack in favor of Web.Api since my previous usage was due to my love for open source projects. It is sad that nowadays most Open Source projects are going commercial but I guess it's just economics. It's hard for one/few man/men OSS projects to give any profit! – Loudenvier Sep 30 '14 at 19:44
1

I was really sad to hear that SS would be commercial from V4, it made me a little bit angry but...anyway they need to keep their life I think. So I moved to "https://code.google.com/p/booksleeve/" totally without complain.

Davis
  • 117
  • 3