servicestack.redis的替代方案

Elg*_*des 42 licensing redis servicestack

我做了一个包管理器update-package命令来将我们的项目更新为最新的二进制文件.我几乎发布它,因为它通过了所有测试,直到幸运地我发现了一个需要更多调试的问题.

当我突然看到这条异常信息时,我的嘴巴张开了:

已达到"每小时6000次Redis请求"的免费配额限制.请参阅https://servicestack.net以升级到商业许可证.

如果我发布这个网站怎么办?像这样的做法简直令人反感!没有控制台警告或没有任何许可证.这就像是将一个"开源"特洛伊木马传播到你的项目中.

servicestack有什么好的替代品吗?

编辑:阅读所有评论我想我的第一反应有点强烈.Nuget自动从v3更新到v4,虽然我没有发现任何重大变化,但阅读发行说明本来是正确的做法,而不是抨击一个好的产品.话虽这么说,我认为人们会在这个例外上焚烧,因为6000个请求足以通过测试并发布这是灾难性的.

Tam*_*ege 25

我们正在迁移到Booksleeve,这是由构建StackOverflow本身的人开发的.到目前为止,我们有非常好的经历.

这笔钱不是问题(迁移的成本高于支付许可证的费用),我们这样做是因为我们不想与公司建立业务关系,这样粗略的做法.

(不,我们不接受任何许可或任何事情,我们所做的只是git pull来自GitHub.)

  • 我刚刚测试了ServiceStack,我收到了这个错误:"SetUp:ServiceStack.LicenseException:已经达到了'20 ServiceStack.Text类型'的免费配额限制.请参阅https://servicestack.net升级到商业许可证或访问https://github.com/ServiceStackV3/ServiceStackV3以恢复到免费的ServiceStack v3." 我就像"WTF"?我完全同意这种隐藏和阴暗的做法令人难以置信,这应该完全从Nuget中删除.我肯定会使用StackExchange. (3认同)
  • @mythz,是的,这确实是一个阴暗的商业行为.您应该将开源许可证和商业版本分开.您可以选择是否维护开源版本,但您应该从头开始.钱不是问题.但是一个开源版本要求获得许可证密钥(我积极使用你的库一年多了,这是第一次将这个问题作为servicestack.text的一部分出现.它只是留下了一个苦涩的味道,并且做了不会对您的业务实践充满信心. (3认同)
  • Booksleeve现已转变为StackExchange.Redis:https://github.com/StackExchange/StackExchange.Redis (3认同)
  • @MattWolf 现在已经有大约 2 年的 v3 开发了,您可以找到 [docs、nuget 包和所有源代码](https://github.com/ServiceStackV3/ServiceStackV3) 并像往常一样继续使用它,但是近两年前,它的开发已经停止。我建议您改用现有的 v3 BSD 分支之一。V4 是一个重大的突破性变化,不要在不了解其 AGPL 或商业许可的全部含义的情况下盲目升级到它。您对我们应该如何开发软件的印象表明,如果不使用它,而是使用 v3 fork,您会更高兴。 (2认同)

Fab*_*eco 20

我与去 StackExchange.Redis这是基于Booksleve通过堆栈交易所乡亲非常高的性能需求.看起来足够好并且活跃的社区.

他们的许可证是MIT,这基本上意味着您只需要将他们的版权和许可证包含在您的产品中.(很公平)


Mik*_*ock 16

ServiceStack,包括ServiceStack.Redis等软件包,正在成为版本4中的商业支持产品.您可能一直在使用ServiceStack软件包的3.x版,而NuGet决定将您更新为4.x.

免费使用 v4库是有限制的.有关详细信息,请参阅此公告.所有ServiceStack产品的3.x版仍然是开源的; 有一个新的GitHub项目,其中包含有关v3支持的信息.

现在,我建议撤消软件包更新并在NuGet软件包配置文件中将max版本设置为3.x,以便您的NuGet软件包在短期内保留为3.x版本的生产代码:

<package id="ServiceStack.Xyz" version="3.x.x" allowedVersions="[3,4)" />
Run Code Online (Sandbox Code Playgroud)

然后使用NuGet更新您的软件包应该是安全的.

同时,您可以访问https://servicestack.net来评估升级到版本4的选项,许可选择或是否坚持使用v3.

  • 恕我直言这是革命!ServiceStack以自由开放的心态构建自己.现在我在生产中的网站遇到问题,因为我选择使用ServiceStack进行简单的JSON序列化(ServiceStack.Text).这太离谱了.我再也不会偷看ServiceStack了.谢天谢地,我关闭了自定义错误,我无法想象客户在产品上看到USAGE LIMIT REACHED消息的损坏.我现在无法说出我是如何被激怒的. (21认同)
  • 已经多次提到@Loudenvier,ServiceStack的v3(我们花了5年的时间去创建)[仍然是免费的,文档,源代码和NuGet指令都在这里](https://github.com/ServiceStackV3/ServiceStackV3 ).您遇到的问题是因为您选择更新ServiceStack的主要商业版本(6个月前宣布)并接受商业许可证而不阅读任何发行说明,网站或项目网站.您的问题属于您自己,您选择盲目更新并接受许可,而无需您进行任何研究或尽职调查. (11认同)
  • @mythz是的,我应该责备相信Service Stack不会推出一个nuget包,它会通过单个上下文菜单点击自动更新,具有使用限制和全新的商业策略.是! 我同意你的看法.我应该受到责备!我不应该太信任.毕竟我甚至不相信我自己的代码,但为此我编写单元测试... BTW:有限的服务堆栈包通过了我的所有单元测试......他们只在生产中失败了.是啊!我不应该太信任! (3认同)
  • @Loudenvier当您需要接受仅在v4中首次添加的商业许可时,它不可能自动更新.是的,您可以[为您的软件包添加版本约束](https://github.com/ServiceStackV3/ServiceStackV3#nuget-package-authors-with-a-dependency-on-servicestack),我们在推出v4时已经建议(我们已经应用于我们所有的v3包).如果您在过去6个月内拒绝阅读任何阅读发布说明,网站,论坛或项目网站,那么我会考虑对您的盲目更新过程进行一些内部反思. (2认同)
  • 我现在同意@mythz关于ServiceStack商业用途的大量信息.在我的情况下,新版本静默安装在我的v3 nugets上,或者我错过了这个或办公室升级的其他人.我已经停止使用ServiceStack支持Web.Api,因为我以前的使用是由于我对开源项目的热爱.令人遗憾的是,现在大多数开源项目都在商业化,但我想这只是经济学.对于一个/几个人/ OSS项目来说,很难获得任何利润! (2认同)