最后,我决定买正版的 JetBrains 了

目录


是的,我最终还是决定——掏这个腰包吧。

一直以来,我都在维护着一个 JetBrains 授权服务(见《JetBrains 授权服务器》),一直猥猥琐琐地使用着盗版的 JetBrains 产品,那是从我学生时代便开始的一段故事。

当时在 Java 课上,同学永华,力荐用 IntelliJ IDEA 替代授课老师建议的 Eclipse,我无心一瞥,惊为神物,便从此迷上了 JetBrains 旗下的产品,用 IntelliJ IDEA 写 Java,用 Clion 写 C/C++,用 Reshaper 辅助写 C#,用 DataGrip 查数据库,不亦乐乎。

当然作为学生的我们经济上肯定无法负担这些收费产品,但同学之间广为流传:使用 ilanyu’s Blog 提供的破解网址,不需要补丁不需要注册码,一次配置永久破解,甚至比申请以学生身份免费使用还要方便。

不过后来 ilanyu’s Blog 提供的网址被越来越多的人使用,JetBrains 注意到了便定期封杀。当时的我为了方便自己和同学,搭建并维护了一个《JetBrains 授权服务器》

当时想着,我是学生,用盗版软件也没什么可羞耻的,等我毕业工作进公司,公司自然会为员工准备正版的生产工具,也不用我犯愁。然而,等我真毕业了,才发现自己太天真了,在中国企业的文化里,用盗版软件……好像也没什么可羞耻的……

image

工作后阴差阳错又歪打正着地入了 golang 的坑,工作内容完全基于 golang 技术栈。当时 golang 还没有什么让人满意的 IDE,老员工推荐使用 IntelliJ IDEA 社区版 + go 插件来开发,实际体验下来证明,“JetBrains 出品,必属精品”——这个 flag 立起来倒不了。

后来不知道出于什么原因,IntelliJ IDEA 社区版从某一个版本开始,不再支持 go 插件了,同事不以为意:毕竟只要不升级 IDEA,就还能继续使用,不是吗?话虽如此,我还是扛不住新版本的诱惑,开始使用盗版的 IntelliJ IDEA 收费版 + go 插件来开发,这样的状态一直持续至今。

期间,JetBrains 专门为 golang 打造的 Goland 正式发布,并作为纯收费产品推出。我又一次没管住自己的手,开始使用盗版的 Goland 开发,但仅限于做做自己的小东西,当尝尝鲜。

这样逍遥的日子,最终还是迎来了末日。

image

每当 JetBrains 的 IDE 提示有新版本可升级时,我都非常积极地去升,从未担心新版本有无法破解的风险。但有一次升级后,我发现在启动 IDE 时会出现警告:

Outdated License Server Detected
Your license ticket is obtained from an outdated version of the license server. To keep your product licensed, the license server requires an immediate update to the latest version. Read full details, and pass this information to the server administrator on your side.

言简意赅:我在使用的授权服务器是一个过时的版本了。我急忙去 JetBrains 官网上翻看了一下,找到了一篇公告,大致的意思是旧版的授权服务器将不再被支持了,暂时还只是警告,当版本高于 2018.2 之后,将彻底无法使用旧版的授权服务器破解 JetBrains 的产品。

五雷轰顶。

没办法,日子还是要过的,我翻看了网上的消息,针对新版本的 IDE 能做到 100% 优雅破解的方法貌似还没有,于是便双管齐下,一方面积极的去打听破解方案的消息,一方面猥猥琐琐地将版本固定在 2018.2,不再升级,继续使用旧版的授权服务器破解。甚至还整理了 JetBrains 旗下所有 IDE 的 2018.2 版的下载地址,见《JetBrains IDE 2018.2 下载地址整理》

虽然憋屈得紧,但感觉还没有山穷水尽。

image

然后,山穷水尽了……

2018.2 虽然还能正常破解,只是这个节骨眼儿上发生了另外一件事,太不凑巧了。

8 月底,go 发布了新版本 1.11,正式推出 modules 作为下一代的包管理工具,这是一个我满怀期待的新特性,关注已久。

在此之前,modules 还叫 vgo,尚属于实验阶段,Goland 早早支持了 vgo,所以当 modules 推出后,我迫不及待地更新了 go 的 SDK,启动 Goland 想试上一试。

只可惜,Goland 的对 go modules 的支持有 bug,这个 bug 不算大——也就是不能用罢了……用户要是真想用 modules,那也简单,升级到 2018.2.1 及以上即可,见 Goland 6002 号 bug 和 Goland 2018.2.1 的发布说明

那……我怎么办?升级 Goland 没法儿破解,不升级又不能用 go modules,前狼后虎,这个僵持的状态持续了很久,我一直找不到打破僵局的方案,试了一些其他的 IDE,始终觉得不趁手,使用 JetBrains 的 IDE 太久了,敲快捷键都成肌肉记忆了,小技巧也如数家珍,突然推到重来,不适应,太不适应了。

或许,这就是 JetBrains 的计划。

image

痛定思痛,我开始反思。

JetBrains 的收费产品都需要持续交钱,个个都成百上千,但平心而论,它们值这个价;

我不是写代码找乐子,我是实实在在靠这门手艺吃饭的,没有金刚钻,不揽瓷器活,金刚钻不够好,瓷器活自然也干不好;

我作为职业开发者,能负担得起这个费用,应该花这个钱,事实上我用来搭授权服务器的主机每年都要花几百块,也没觉得心疼。

事实上,之所以会觉得心疼,不是怕花钱,而是怕花冤枉钱,当别人幸灾乐祸地告诉你,你花钱买来的“使用权”,是可以玩些野路子凭空获得时,那种当了冤大头的滋味确实不好受。

但不好受也得受,讲道理,为了破解,为了能猥猥琐琐地用,我花进去的时间成本、精力成本,不见得就比一年几百块钱的金钱成本低。且可以预见,时间成本、精力成本只会越来越高,风险越来越大。反观会一年比一年便宜的金钱成本(JetBrains 的策略是续费越久越优惠),这钱简直就是良心价,且这良心价花出去了,还会觉得自己也有了良心。

掏腰包算了,成年人了,该为自己的行为买单了。

掏钱!

后来,就是花钱的事儿了。

我整理了下当前 JetBrains 的年付费定价,换算成了人民币,作为自己掏腰包的参考:

头年/次年/第三年及以后 全家桶 单买 IntelliJ IDEA 单买 Goland
企业用户(每年每人) 4506/3603/2701¥ 3465/2770/2076¥ 1382/1104/826¥
个人用户(每年每人) 1729/1382/1035¥ 1035/826/618¥ 618/493/368¥

可以看到企业用户购买要比个人用户平均贵上几乎三倍,咋一看有一点懵,我第一反应是不是个人用户买来是不能用作商业开发的,但在查看了官方解释使用权限对比后,放心了下来。无论企业用户还是个人用户,花了钱买来都是可以做“一般性商业用途(general commercial)”,不同点在于,企业买来可以给其雇佣的任意员工(同一时间使用人数不高于购买份数)使用,而个人买来仅限其个人使用,且企业不可以用个人身份购买,也不能以任何形式报销、补偿、返现其员工的个人购买行为。

所以我以个人身份购买使用权,并拿来做商业开发,是完全符合规矩的。

另一个要考虑的是买什么,如表格所示,我有三个选项,全家桶、单买 IntelliJ IDEA、单买 Goland,出于做 golang 开发的目的,三个选项都是可以的。

买全家桶的话,一劳永逸,确实快哉,但价格确实贵。买 IntelliJ IDEA 的话,只需配合插件,不仅能写 golang 还能写其他语言,比买全家桶差不了多少,但价格也没便宜多少。买 Goland 确实可以省上一笔钱,但也只能用来写 golang 了。由于我个人的职业规划和技术发展在可预见未来都会是围绕 golang 展开的,且 IntelliJ IDEA 和 PyCharm 都是有社区版的,业余写 java 或 python 都无后顾之忧。综上,我决定单买 Goland,足矣。

此外,JetBrains 还贴心地送上了永久可回退授权(perpetual fallback license)服务,这个服务的大致意思是只要持续付费使用某产品某一版本超过一年,便可以获得该产品该版本的永久使用权。所以即使哪一天我穷困潦倒付不起钱了,仍然还可以免费使用 Goland 开发,只是不能再升级罢了。

至此,我看到了 JetBrains 对客户的尊重和诚心,和对旗下产品的骄傲和自信。

由于自己不再需要 JetBrains 破解授权了,搭建的 JetBrains 授权服务器按道理也可以关服了,但这个服务有不少我的同学朋友在用,鉴于我自己从破解到付费的心路历程,我并不觉得我是在阻碍 JetBrains 的收入来源,而是为 JetBrains 培养潜在的用户,容我坏笑一声。

所以,这个服务我会继续维护下去的,等确实不再有什么意义了,再关服也不迟。

最后,还是那句话:

祝大家早日实现财富自由,实现“JetBrains 自由”!届时请点击这里购买正版的产品。