该系列第一篇发布后收到不少反馈,包括:
  1. 第一篇里说的MonicaHQ不一定盈利
    没错,但是问题在于绝大多数开源项目商业数据并没有公开,从而无法判断其具体是否盈利。难得MonicaHQ是公开的,所以才用来做这系列文章的开篇。
  2. 很多人关心最初用户(专业术语叫种子用户)是怎么来的?
    这不但是开源项目的难点,还是任何一切项目的难点,这个话题实在是太大了。无法开展。
  3. 有相当一部分人喜欢看像MonicaHQ这种处于早期的开源项目介绍,觉得这类项目才有参考意义,但是也有相当一部分人喜欢看成名的大开源项目分析。
 
所以:
  1. 我将系列名称改为了《商业模式分析》。
  2. 在以后等文章里,我可能无法举出翔实的数据支撑了,只能靠我个人片面的记忆和经验,所以更加需要大家的反馈来纠正偏差了。
 
好了,开始第二篇文章。
这篇文章的主题是:持续维护在开源项目中的重要性!以SeleniumWatiN 为例子
 
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这个大金主好爸爸,第二又没有任何收入来源,拿什么去支持持续不断的更新?
 
这个真实的故事告诉我们,开源项目一定要有能支撑其长期发展的商业模式!技术暂时不先进没有关系,只要有一个能够支撑其长期发展的商业模式!你可以像龟兔赛跑里面的那只乌龟,超越那只睡觉的兔子!
 
 

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

  1. 开源项目商业分析实例(1) - MonicaHQ

    本来写一篇开源商业模式的稿子,因为有四大主题,这个稿子有点大,导致现在半个月过去了,都还没有憋出来.   今天想想还是采用MVP(minimum viable product,最小化可行产品)模式吧. ...

  2. GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署

    GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...

  3. 基于Java+Spring Boot开源项目JeeSite的Jenkins持续交互介绍

    一.实战项目介绍- JeeSite 基于Spring Boot 2.0 数据存储MySQL 语言:Java 规模大小:适中,适合初学者 源码地址:https://gitee.com/thinkgem/ ...

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

    伯乐在线已在 GitHub 上发起「DotNet 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-dotnet-cn (注:下面用 ...

  5. 开源项目大全 >> ...

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

  6. 【开源整理】.Net开源项目资源大全

    汇总了.NET平台开源的工具类库,新的内容在不断更新中.内容借鉴了博客园.伯乐在线.GitHub等平台. (注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的 ...

  7. Android 开源项目及其学习

    Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...

  8. 转发 ----> 2018年阿里巴巴重要开源项目汇总(持续更新中)

    转发自segmentfault  https://segmentfault.com/a/1190000017346799 前端 1.数据驱动的高交互可视化图形语法 AntV - G2 G2 是一套基于 ...

  9. 值得学习的C/C++开源项目 持续更新

    值得学习的C语言开源项目 持续更新 文章目录 值得学习的C语言开源项目 持续更新 - 1. Webbench - 2. Tinyhttpd - 3. cJSON - 4. CMockery - 5. ...

随机推荐

  1. Redis数据结构以及应用场景

    1. Redis数据结构以及应用场景 1.1. Memcache VS Redis 1.1.1. 选Memcache理由 系统业务以KV的缓存为主,数据量.并发业务量大,memcache较为合适 me ...

  2. Oracle SQL优化器简介

    目录 一.Oracle的优化器 1.1 优化器简介 1.2 SQL执行过程 二.优化器优化方式 2.1 优化器的优化方式 2.2 基于规则的优化器 2.3 基于成本的优化器 三.优化器优化模式 3.1 ...

  3. 页面css样式找不到问题

    出现了一个页面没有样式的问题: 问题: 1.路径不对, 可以打开页面f12看样式是否找到 检查路径是否正确. 2.样式没引全或者没引对. 查看引入的样式是否正确或缺少样式. 3.路径明明写对了却404 ...

  4. System.net.mail.smtpException;服务器提交了协议冲突 服务器响应为:

    最近发邮件遇到问题. 主机godaddy 端口 25,80 都可以用 stmp服务器地址:smtpout.secureserver.net 不支持ssl 我就吧 EnableSsl 设置为false了 ...

  5. mysql 开发基础系列16 视图

    一. 什么是视图视图是一种虚拟存在的表,行和列数据来自,定义视图的查询中使用的表,并且是在使用视图时动态生成的.优势有: 简单: 使用视图的用户完全不需要关心后面对应的表的结构,关联条件,筛选条件. ...

  6. Spring系列之手写注解与配置文件的解析

    目录 Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 引入 在前面我们已经完成了IOC,DI,AOP的实现,基本的功能都已经 ...

  7. Apache-Flink深度解析-DataStream-Connectors之Kafka

    Kafka 简介 Apache Kafka是一个分布式发布-订阅消息传递系统. 它最初由LinkedIn公司开发,LinkedIn于2010年贡献给了Apache基金会并成为顶级开源项目.Kafka用 ...

  8. k8s网络之calico

    一.概述 前面我们部署calico由于集群规模不是很大,使用的是calico的bgp模式的node-to-node-mesh全节点互联,这种模式在小规模集群里面还可以用,3.4.0版本的calico支 ...

  9. 翻译:SET子句(已提交到MariaDB官方手册)

    本文为mariadb官方手册:SET的译文. 原文:https://mariadb.com/kb/en/set/我提交到MariaDB官方手册的译文:https://mariadb.com/kb/zh ...

  10. [转]Mysql FROM_UNIXTIME as UTC

    本文转自:https://stackoverflow.com/questions/18276768/mysql-from-unixtime-as-utc You would be better off ...