该系列第一篇发布后收到不少反馈,包括:

  1. 第一篇里说的MonicaHQ不一定盈利

    没错,但是问题在于绝大多数开源项目商业数据并没有公开,从而无法判断其具体是否盈利。难得MonicaHQ是公开的,所以才用来做这系列文章的开篇。

  2. 很多人关心最初用户(专业术语叫种子用户)是怎么来的?

    这不但是开源项目的难点,还是任何一切项目的难点,这个话题实在是太大了。无法开展。

  3. 有相当一部分人喜欢看像MonicaHQ这种处于早期的开源项目介绍,觉得这类项目才有参考意义,但是也有相当一部分人喜欢看成名的大开源项目分析。

所以:

  1. 我将系列名称改为了《商业模式分析》。

  2. 在以后等文章里,我可能无法举出翔实的数据支撑了,只能靠我个人片面的记忆和经验,所以更加需要大家的反馈来纠正偏差了。

好了,开始第二篇文章。

这篇文章的主题是:持续维护在开源项目中的重要性!以Selenium和WatiN 为例子

Selenium是个很有名气的大开源项目,主要用于自动化测试,由IBM主导。我现在也在用。

然而在十年前,Selenium的质量比WatiN差很多,比如:

  1. Selenium当时是针对Firefox优化的,而WatiN是针对IE优化的。你要想你的自动化测试代码跑在IE下,WatiN质量比Selenium好很多。

  2. WatiN的用法和代码风格十分先进,WatiN和Selenium的用法和代码风格差距就像C#和Java的差距一样大,用惯了WatiN的用法和代码风格你再用Selenium你会无法忍受。

我从2008年开始一直用WatiN用到2015年。无数次想把WatiN换成Selenium,但是都告失败了,因为在以上几点里,Selenium还是一直不能超越WatiN。

然而,到了2015年,我终于放弃了WatiN,改用Selenium了。

因为2015年发生了两件大事!

第一件,Angular/React/Vue等现代Javascript框架出现了!

WatiN因为缺乏持续维护,终于跟不上潮流,无法用在这些现代Javascript框架上!而Selenium因为持续不断的更新,可以用在这些现代Javascript框架上。

第二件,这些现代Javascript框架对IE支持都不好,对Chrome支持都很好,同时IE市场份额不断地掉,Chrome变成了第一大浏览器了(这两者互为因果吧)。

WatiN因为缺乏持续维护,上面提到第一点也就是它最强大的竞争力,针对IE优化,随着IE市场份额不断地掉已经不再是竞争力了。

而Selenium因为持续不断的更新,并且把更新重点放在支持Chrome和现代Javascript框架上,Selenium第一个缺点消失了,变成了优点!现在Selenium在Chrome上跑比Firefox好很多很多了!

同时,也因为持续不断的更新,Selenium的用法和代码风格现在变得和WatiN类似,甚至比WatiN更好了!嗯,大家可以在脑海里想象一下,Java也像C#一样支持LINQ了,就可以理会到类似情景了。

See! 因为持续不断的更新,Selenium把WatiN所有优点都超越了!

我做为一个用了WatiN7年的老人,当然是无比的忧伤!然而又能如何?

好啦,问题来了,WatiN为啥不像Selenium一样持续不断的更新呢?

其实WatiN也想更新的啊,然而:

  1. 一开始的时候,WatiN真的领先Selenium太多,完全没有动力和必要更新啊。

  2. 几年后,nuget出现了。WatiN为此终于做出了几年来第一次更新!这次更新就是为了支持nuget.这次更新成功的原因是改动不大,工作量不大。

  3. 当2015年现代Javascript框架和Chrome超越IE这两件大事出现时,WatiN如果要适应它们,改动实在是太大太大了,所以果断放弃更新了。

而Selenium为啥能持续不断的更新呢?因为它有IBM这个大金主好爸爸啊!

WatiN第一没有IBM这个大金主好爸爸,第二又没有任何收入来源,拿什么去支持持续不断的更新?

这个真实的故事告诉我们,开源项目一定要有能支撑其长期发展的商业模式!技术暂时不先进没有关系,只要有一个能够支撑其长期发展的商业模式!你可以像龟兔赛跑里面的那只乌龟,超越那只睡觉的兔子!

原文地址:https://www.cnblogs.com/adalovelacer/p/Open-source-must-earn-money-2.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

开源项目商业模式分析(2) - 持续维护的重要性 - Selenium和WatiN相关推荐

  1. 你用的那些开源项目可能已经被放弃维护!

    在国内开源之路上,BAT 这些大型互联网科技公司走在前列. 有数据为证:截至 2019 年 3 月 22 日,阿里开源的总项目数为 1243 个,百度开源的总项目数为 746 个,腾讯开源的总项目数为 ...

  2. 自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

    自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常 ...

  3. xmpp 开源项目选择_如何选择和维护安全的开源项目

    xmpp 开源项目选择 评估开源项目安全性的一些技巧. (A few tricks for assessing the security of an open source project.) The ...

  4. 维护开源项目太难,Redis之父:只做自己想做的

    本文转载自 InfoQ 最近,开源项目 Docz 作者 Pedro 发表短文称繁重的开源维护工作不可持续,自己曾处于"崩溃"状态. Pedro 表示最初为了开发 Docz,他可以提 ...

  5. 开源项目如何挣钱? Spark 商业化公司创始人曝光心路历程

    众所周知,开源项目对软件发展来说至关重要,但仍有人认为用开源项目来赚钱是对开源项目的一种亵渎. HashiCorp联合创始人兼 CTO Armon Dadgar.Databricks CEO Ali ...

  6. 如何做好一个开源项目之徽章(二)

    在上一篇[如何做好一个开源项目(一)],笔者已经介绍过开源项目运作和维护的一些理念了,本篇开始,笔者将着重于介绍一些开源项目维护过程中的一些细节,比如徽章.构建等等.由于最近经常出差,所以博客有中断, ...

  7. .Net 开源项目资源大全

    Awesome DotNet,这又是一个 Awesome XXX 系列的资源整理,由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等 ...

  8. 来自微信团队的 6 个开源项目

    从GitHub上可以看出,到目前为止,由腾讯微信团队发起的开源项目已经有6个,并且这其中大部分都是在2016年开源的,领域涉及移动.数据库.基础类库.框架.中国大公司的开源曾经给社区留下不好的印象,比 ...

  9. 开源项目大全 ...

    http://www.isenhao.com/xueke/jisuanji/kaiyuan.php 监控系统-Nagios 网络流量监测图形分析工具-Cacti 分布式系统监视-zabbix 系统监控 ...

最新文章

  1. java重新初始化吗_Java中为何已经重新赋值的变量在输出后会初始化?
  2. 《论语》读后颜渊第十二主要大意
  3. mysql中逗号前的字符串_MySql逗号拼接字符串查询的两种方法
  4. Render errors:One or more layouts are missing the layout_width or layout_height attributes
  5. SpringBoot 自带工具类~StringUtils
  6. linux 查看文件工具,lsof---Linux查看文件信息的强大工具
  7. linux 内核高端内存意义,Linux内核高端内存管理
  8. oracle主键重复异常捕获,Oracle异常处理异常处
  9. 浅谈代码审计入门实战:某博客系统最新版审计之旅
  10. 计算机毕业设计Java物料生产管理系统(源码+系统+mysql数据库+Lw文档)
  11. div中加入span右对齐后出现换行显示的两种解决办法(转)
  12. java电影推荐系统_电影推荐系统源代码
  13. 基于osgEarth的空间态势三维场景视点控制与卫星轨道绘制
  14. 计算机怎么学的快,怎样学电脑打字最快电脑新手如何快速学会打字
  15. 中国二线城市有哪些比较知名的芯片设计企业
  16. 汽车天线系统结构、原理及应用指南
  17. Jquery-获取子元素children,find
  18. 【前端】CSS:border
  19. 红帽6 RHCERHCS认证培训笔记(4)
  20. 弹弹球小游戏(Java)

热门文章

  1. 小程序调用阿里云身份证识别OCR(附带七牛云上传图片)
  2. Linux文件系统之df
  3. Nginx实现tomcat集群进行负载均衡
  4. POJ 2135 最小费用最大流
  5. lsattr/chattr
  6. PHP截取IE浏览器并缩小原图的方法
  7. VmWare5.5主机Citrix桌面实施方案(二)
  8. Linux命令——chmod
  9. 聚类算法学习指南(二)
  10. 创建虚拟磁盘的小工具软件plainmaker.exe