微信号:infoqchina

介绍:有内容的技术社区媒体

JetBrains变更引发强制订阅许可激烈争论;全栈开发工程师就是个神话

2015-09-19 09:01 Q新闻
1
强制订阅许可
JetBrains变更引发的激烈争论

JetBrains在开发者社区引发了大规模的争论,争论的焦点在于他们宣布的变更其所有的主要开发工具的产品许可模型,包括IntelliJ和ReSharper。从11月2日开始,永久的产品许可证将由一个基于订阅的服务所取代,他们称这个服务为JetBrains工具箱(Toolbox)。该工具箱可以通过按月或者按年订阅条款获得。客户可以选择将哪些产品纳入他们工具箱的一部分,并付出相应费用。


JetBrains指出,这种变更将会解决(未公开)他们收到的关于当前定价模型的反馈的问题,并且“更简单和容易理解”,然而“(提供)对大家而言更灵活的模型……”。新的许可条款将适用于IntelliJ IDEA,AppCode,CLion,PhpStorm,PyCharm,RubyMine,WebStorm,ReSharper,ReSharper C++,dotTrace,dotCover和dotMemory。所有产品全包价格(如有变更)对个人开发者目前列为19.90美元每月,而对“公司/组织”的每个开发人员则高达39.90美元每月。


在宣布这些变更后,JetBrains将会建立定期的支付流,但是许多开发人员不是做出何时购买的决定,而是立即开始抗议和批评这种变更行为。JetBrains的工具将不再被“拥有”,他们只能被“租用”,并且当停止支付的时候,将不能再被使用。开发人员Daniel Yankowsky指出,他所担心的不仅仅是许可的变更,而且包括新软件许可要求的事实,“这些软件将需要背景连线通讯(phone home)……[至少一次]每30天”。


Reddit网站用户“slccsoccer2”概述了他对新模型的反对意见,写道:


“JetBrains历来对自己的产品比去年同期新增了重大的价值,让他们的新版本值得购买。我担心这种变更会让JetBrains重点关注订阅客户降低产品品质,而不是提高他们的产品品质。 ”


Reddit网站用户“mike_hearn”是这样评论的:


订阅收益将会扼杀改善软件的动机。


当你的客户为他们已经拥有的完全相同的产品向你支付费用的时候,即使是最好的意图也抵挡不住向其它产品重新分配订阅收益的诱惑。毕竟,把钱投资在现有用户产品上开发新功能和bug修复几乎不能改变收益。而把钱投资开发新产品,推销给新的市场才能增加新的用户基础和增加总收益。


针对9月8日发布的最初公告有一个更新项,JetBrains说:所有的定价和条件仍然可能发生变化。 此外,他们说他们没有对大量的用户评论“充耳不闻”。但是,JetBrains仍然没有提供详细细节:他们将会做出何种变更或者公司是否会收回他们放弃当前许可结构的计划。


2
一个神话的职业
全栈开发工程师的高标准


“全栈开发工程师(full stack developer)”一词经常出现在企业招聘的岗位描述中。但Hello Pretty联合创始人兼首席技术官Scott Hadfield在近日发表的一篇博文中指出,全栈开发工程师就是一个神话,即使不完全如此,用人单位也很难找到一个这样的人。

为了进一步阐述这一观点,他列出了下面这样一个并不详尽的“栈”:


用人单位对全栈开发工程师的预期远远超出一般人的能力。全栈开发工程师至少需要对栈中的每个组件都有足够深入的了解,以便能做出明智的选择及向管理层解释。上图所示的技能表每年每层都会增加新的组件,每隔几年又会增加新的层。因此,Scott认为,在招聘时寻找全栈开发工程师不仅不合理,简直就是愚蠢。


不过,Scott也承认,确实有人具备全栈能力。也有许多距离全栈尚远,但仍然令人惊叹的开发人员、设计人员和项目管理人员。而有些自称全栈工程师的人也仅能列出上述一半多的组件,就更不用说组件之间的交互了。于是,他写道:


我看到的几乎所有使用全栈一词的情况(尤其是在招聘海报中),用人单位真正的意思只是寻找“令人惊叹的人”。


另外,Scott指出,全栈开发工程师或许根本就不应该编写代码,而应该更多地充当系统架构师或集成工程师的角色。在使用“全栈开发工程师”这样一个流行术语时,应该说明是哪个“栈”,比如是Web栈,还是移动栈。


最后,Scott总结道:


全栈开发工程师就是一个神话,不是因为不存在这样的人,而是因为这个术语没意义。


Scott的博文在Hacker News上引发了激烈的讨论。网友andrewstuart对“全栈开发工程师”的理解在参与讨论的网友中具有一定的代表性:


我对全栈开发工程师的定义是,他们能够自己构建和部署一个完整的、可以工作的应用程序,而不需要其他任何人的帮助。那意味着他们能够编写前端、后端代码,能够配置服务器,当然还能够设计数据库表。


不过,有网友认为运维技术也应该是开发过程的核心部分。如果花费大量时间构建的应用程序因为运维细节无法按计划部署,那会导致大量的返工。


有许多网友都持有与andrewstuart类似的理解,他们认为全栈开发工程师并不是一个神话。BadassFractal就是其中一例:


我就做全栈开发,包括Ops(通过各种CM工具配置AWS并向上部署应用程序……)、DB(PostgreSQL用了5年……)、后端(独立构建类似Rails的框架……)、前端(可以综合运行原始DOM、Backbone及React)等所有这一切。


缺点是,我在其中任何一个方面都不是真正的核心专家,因此,其中任何一个领域中的任意一名优秀专家都比我强。


BadassFractal的后一部分观点颇具代表性。jvehent也认为,一个人可以成为全栈开发工程师,但却无法成为一名全栈专家。对此,有网友指出,企业应该给这两种人都留有空间。另有网友表示,如果企业在招聘时只盯准了前端和后端均是专家级的开发人员,那非常可惜,因为在一个多人团队中,他们全面的能力并不能得到有效的发挥。



文章推荐


LinkedIn的Kafka优化之道

成功技术领导者10条经验锤炼

为什么你的软件项目会失败?

从入门到实战,Netty多线程篇案例集锦

投稿可勾搭:

邮箱:editors@cn.infoq.com

合作QQ:1073600161

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 iOS完全自学手册——[一]Ready?No! 四个月后江西小伙带着上海女孩又回了家... 有了5W2H,产品小白也可以轻松搞掂可用性测试 Kruskal 最小生成树算法 【博客侠】Unity Tips 汇总