本文系转载,著做权归做者全部。
商业转载请联系做者得到受权,非商业转载请注明出处。linux
做者: 魏永明数据库
来源: 微信公众号linux阅码场(id: linuxdev)编程
本文背景segmentfault
MiniGUI是最负盛名的开源Linux图形用户界面支持系统之一。本文是魏永明老师于公元2017年9月1日最新原创的讨论MiniGUI的涅槃重生之路的文章。浏览器
做者简介服务器
魏永明,获清华大学工学学士、硕士学位。其主持的 MiniGUI 项目,是早期国内最知名的几大开源软件项目之一,曾普遍应用于功能手机、数码相框等嵌入式产品中。魏永明于2002年创立北京飞漫软件有限公司,成功实践了围绕开源软件的双许可证商业模式;于2015年10月联合创办北京玖柏图技术股份有限公司并担任 CEO。魏永明为 Linux 及开源软件在中国的普及和应用作了大量工做,翻译或编著若干技术著做(《Linux 实用教程》、《Linux 设备驱动程序》等);2013年,鉴于他在开源软件领域作出的突出贡献,被“中国开源软件推动联盟”评选为“开源软件杰出贡献人物”。微信
前段时间去深圳出差,约了几个飞漫的前同事一块儿吃饭喝酒,其中高总目前供职于深圳一家数控系统开发厂商。2000年开始,高总就在 TCL 和创维力推 Linux + MiniGUI 的智能电视方案,甚至还基于 MiniGUI 开发了本身的浏览器。然而你们都知道,智能电视这一类产品在十年以后(2010年)才得到了市场的认同并获得了大的发展和普及,其中 Android 从技术上保证了智能电视这类产品的成功,高总力推的方案在当时得不到产品部门的认同,其实无关技术,而是市场还不成熟。你们谈起这些往事,各个唏嘘不已。架构
MiniGUI 做为生长于国内土壤的一款开源软件,1999年发布了第一个版本,2003年左右成熟起来,并在嵌入式产品类型蓬勃发展的 2000年到2010年之间得到了大量的应用,普遍应用于工业控制系统、功能手机、数码相框等类型的产品中,其中尤以华为的数码相框、联芯的功能手机方案、RDA 的功能手机方案为表明。本人于 2002 年成立了飞漫软件,尝试利用开源和商业并举的方式(双许可证模式)运营 MiniGUI 及其产品,得到了必定意义上的成功,期间也有不少经验教训。有关详情,你们能够在网上搜索本人在 2009 年发表的《MiniGUI 十年回顾》这篇文章:
http://www.fmsoft.cn/zhcn/abo...框架
自上面这篇文章发布以来,又有八年时间过去了,斗转星移,AI 成为下一个高科技领域的竞争焦点。在操做系统及基础软件领域,Android 已经占据了除苹果以外的全部智能手机的市场份额,但并无彻底替代全部基于 Linux 的智能设备以及其余更多的嵌入式实时系统,仍然有不少客户在使用 MiniGUI 开发各种智能设备;另外一方面,MiniGUI 当年的竞争对手 Qt 几易其主,但仍然在顽强生存着。当年时兴的“嵌入式系统”字眼,已被“物联网”取代,华为的 liteOS以及其余本土开发人员发展起来的 RT-Thread、SylixOS 等 RTOS(实时操做系统)产品,得到了政府部门甚至资本市场的支持,从而得到了新的发展契机。编程语言
做为 MiniGUI 的原创者,本人对这款软件的感情自没必要说。可是,除了我本人以外,还有更多的飞漫软件同事(包括高总这些 MiniGUI 的早期用户及开发者)为 MiniGUI 的发展倾注了诸多心血。
万目前供职于深圳一家明星企业,是当年飞漫深圳研发团队的负责人,侯是架构师,如今珠海创业。2007年,飞漫深圳团队在万和侯的领导下,开始负责 MiniGUI 的维护工做。在2009年左右,这个团队为 MiniGUI 开发了一整套的动画支持框架和界面开发技术。若没有 Android 的横空出世,这些技术本能够应用于功能手机的升级改造中,为功能手机提供优秀的 UI/UX 解决方案。但 Android 的开源免费,Google 的大力推广,却让这些技术丧失了应用和发展的机会。
董目前供职于小米,是 miniStudio 产品的主要开发者。miniStudio 是一个基于 Eclipse 的集成开发环境,提供了“所见即所得”的 GUI 界面编辑工具。为了实现GUI 应用的编程便利性,董改造了 MiniGUI 控件的编程框架,开发了 mGNCS(新控件集)组件,而且引入外观渲染器这样一种高级的 UI 定制体系和方案,领导团队开发了 miniStudio 产品。时隔多年的今天,当我从服务器找到 miniStudio 1.0.8 for Windows 版本,安装到电脑上并运行时,我仍然惊讶于这款软件提供的可视化编程能力,就算在今天,也是难能难得的!但飞漫软件并无花精力推广和发展 miniStudio,也没有基于 miniStudio 发展出能够良性循环的商业模式出来,不由使人扼腕叹息。
mDolphin 是基于 WebKit的浏览器产品,张、吕为先后两名主力开发人员,该产品的开发历时多年持续演进,甚至成功应用于联芯的功能手机方案当中。mDolphin 是 MiniGUI 上的一款典型的大型应用软件,除了其自己的应用价值以外,也有力地证实了 MiniGUI 产品的成熟性。目前,张做为技术专家供职于阿里巴巴,吕在互联网领域创业。
上面提到的这些曾供职于飞漫软件的前同事,为 MiniGUI 的发展付出了本身的青春年华,他们的技术能力也获得了极大的提高和锻炼。不论他们后来从事什么行业,或打工或创业,在飞漫软件围绕 MiniGUI 所作的开发工做,仍然是其履历中重要的一笔。除了他们以外,在长达十多年的发展历程中,飞漫软件先后为业界培养了近百名优秀的高级软件工程师,限于篇幅不能一一列举。他们有的供职于腾讯、阿里等大型互联网公司的关键技术岗位,有的在移动互联网等领域创业,他们围绕着 MiniGUI 所作的开发和维护工做,让他们受益一辈子。
上周去深圳,当万在其供职的企业熟练地向他当前的同事演示和讲述 MiniGUI 之上的动画框架和相关技术时,我才深切感觉到,高、万、侯、董以及其余为 MiniGUI 的发展倾注过精力的开发人员对 MiniGUI 的感情并不比我差多少。
和高总他们吃饭的时候,高总提到 MiniGUI 仍然有很旺盛的需求,仍然能够继续发展。其实就这个问题,几乎每次到深圳和高、侯他们吃饭喝酒,都会拿出来争论一番。他们认为 MiniGUI 仍然有旺盛的市场需求,应该继续发展,就这么丢下无论实在惋惜;我则认为每一个产品都有本身的生命周期,MiniGUI 从 1999 年到如今都已经十多年了,生命周期差很少到头了。
本人从 2010 年开始,领导原飞漫软件的团队开发过 Android 上的工具类 App(领航桌面、锁屏等),定制过智能电视方案,如今则另起炉灶在智能硬件和移动互联网领域创业。大概从2012 年开始,MiniGUI 的开发处于停滞状态,除了将万、侯他们开发的最新版本以及 mDolphin 开源发布以外,几乎没有再作过大的更新。但从2015年开始,MiniGUI 的需求又变得旺盛起来,每一年都会有客户主动找飞漫软件得到 MiniGUI 的商业受权。
折腾多年之后,回过头来反思 MiniGUI 和飞漫软件走过的路,我之因此认为 MiniGUI 的生命周期已到,大体是因为飞漫软件未能取得心目中的成功。换句话说,我把技术和生意搞混淆了。一个生意可能没法持续按照单一的模式去运营,但技术却不会轻易过期。
举个典型的例子 MySQL。MySQL的早期运营公司使用双许可证模式,得到了必定程度上的商业成功,后来被 Oracle 收购,双许可证模式基本已经完成了它的历史使命,但 MySQL 的应用却随着互联网、移动互联网、云服务的发展而愈加普及,就算后来出现了诸多 NoSQL 数据库,但 MySQL 仍然展示着其旺盛的生命力。
再好比 OpenGL 这类规范或者基础设施,发展了几十年,从未见过其过期。Apache、X Window 等等技术或开项目,几乎是开源世界的常青树,Linux 内核就更不用说了。
显然,只要是有市场需求和用户基础的基础软件,持续发展才是其主旋律;容易过期的是生意,而不是技术自己。
做为一款开源软件做品,MiniGUI 在技术上是成熟的,成功的;失败的只是生意:飞漫软件并无由于 MiniGUI 而得到大的发展。我相信抛开生意,仍然有可能找到一种方法可让 MiniGUI 继续发展下去。
就如何发展 MiniGUI 的问题,最近集中思考了几天。后来在宋宝华老师(知名 Linux 内核专家)的微信群里,宋老师找我约稿,我才肯定了本文的题目:《MiniGUI 的涅槃重生之路》。
技术方面,在围绕 MiniGUI 的软件栈当中,应重点作好以下三方面的工做:
以上技术方面的未尽事宜,只要有开发者,假以时日,都是能够作出来的。但最麻烦的是谁来养这些开发者,或者,说白了钱从哪儿来?
这么多年靠技术创业,我发现单纯靠技术作生意是最难的,要难过任何一种传统的生意模式,好比开饭馆,作代理等等。你们都知道,在中国市场,软件的价值每每会被低估,经过卖软件副原本赚钱的时代也已经一去不复返,因此中国这篇土壤上历来没有孕育出微软这样的巨头。在这样的一个大环境下,飞漫之因此可以依靠 MiniGUI 这样一个单一业务坚持十多年,在 MiniGUI 中止更新后还能有一些收入,能够说彻底是由于运气。但任何事情都有双面性,中国企业在互联网商业模式方面的探索,促进了腾讯、阿里等企业的飞速发展。因此,这里我能够探讨一个假设:假如可以重来,我会选择什么样的模式来作 MiniGUI 这个生意?
首先,我不会天真地认为 MiniGUI 这个生意能够作到每一年上亿的营业收入,我认为一千万元的年收入规模对这样一个软件来说就已经很好了。
其次,我认为 2010 年以前飞漫软件采起的双许可证商业模式是正确的,是当时条件下的正确选择,为飞漫软件的进一步发展积累了资金。但在 2010 年或更早,应该做出商业模式上的调整(固然,前提是本人不认为 MiniGUI 的生命周期已结束,这是眼界的局限性问题)。
最后,围绕 MinIGUI 的生意模式,正确的作法应该是:利用开源软件优点,持续扩大用户(开发者)群体,维持一个小规模(10到15人左右)的软件公司,在确保公司能够长期生存的状况下,静候市场发生变化,寻找爆发的机会或者被收购。
就我目前的情况,个人精力不容许再组建一个完整的团队来运营MiniGUI,将其做为一个生意来作。但在这里,我能够给出一个供参考的商业模式,固然,这个商业模式亦可供 RT-Thread、SylixOS 等基础软件创业团队参考:
A. 使用 Apache许可证发布基础软件(好比操做系统、函数库等),不要再使用 GPL/LGPL 等条款发布。这样能够迅速得到最大程度的商业应用,扩大市场占有率。要知道,假如 Android 使用 GPL 许可证发布,是绝对不可能得到如此大的成功的。
B. 提供收费的开发工具,好比 MiniGUI 的集成开发环境miniStudio,并按开发人员数量及使用年限提供许可。开源这类工具软件的意义不大,但这类工具软件运行在桌面电脑上,因此能够经过云端来控制其许可证,还能够经过云端来分发一些收费的模块或者提供技术支持服务。这样的模式下,工具软件的销售成本就会变得很是低,用户甚至能够在网页上实如今线下单,并经过邮件得到许可证。
假如采起以上的商业模式,经过适当推广,每一年在全球范围内发展和保持 500 名付费开发者,则基本上能够养活一个 15人规模的小软件公司。假如推广得力,达到一千万元的年销售规模也是可能的。
更多精彩更新中……欢迎关注帐号:linux阅码场(id: linuxdev)