【作者】MiniGUI 及飞漫软件创始人魏永明

【2020 年重编注】2017 年开始,MiniGUI 的业务又复苏了。在三年的时间里,飞漫软件发布了 MiniGUI 3.2/4.0/5.0 三个系列的版本,并于 2018 年年底重启了 HybridOS 项目。时至今日,HybridOS(合璧操作系统)高举突破和创新的旗帜,在引领着国产操作系统的发展。

【2011 年重编注】这篇文章,是为纪念 MiniGUI 发布 10 年(2009 年)而写的。从 2010 年到现在的 2011 年中期,这个世界的变化很快。MiniGUI 和飞漫软件从水平市场逐渐集中精力于手机这个垂直市场,而 2007 年 Google 发布的 Android 系统,如秋分扫落叶般发展迅速,看起来将在 2012 年全面占据中低端(千元)智能机市场。MiniGUI 这个产品的生命周期,也似乎要走到尽头了——起码在手机市场,大概也只能在功能手机这个领域存活三到五年左右的时间。但不管如何,大家了解下 MiniGUI 这个嵌入式系统、移动终端中关键系统软件的发展历程,应该还算是有些用的吧。

一、引言

MiniGUI 的开发起始于 1998 年底,第一个版本大致发布于 1999 年 6 月。从第一个版本的面世到现在,已经过整整十年时间。在这十年当中,经过许多客户的使用和验证、经过飞漫软件多年的持续研发投入和精心打造,今天的 MiniGUI,已经成为了性能优良、功能丰富的、跨操作系统的嵌入式窗口系统,用户遍布全球各地,为中国的嵌入式系统软件树立了一面鲜活的旗帜。在这十年中,MiniGUI 的发展大致经历了三个阶段:

  1. 1999 年到 2002 年:纯自由软件阶段。在这个阶段,MiniGUI 以纯粹的自由软件形式开发和发布,这时的 MiniGUI 还很不成熟。
  2. 2002 年到 2005 年:围绕开源的 MiniGUI,通过定制开发、技术支持、培训等服务发展 MiniGUI。在这个阶段,飞漫软件通过为客户提供定制开发、技术支持服务等业务,逐步将 MiniGUI 打造成了一个成熟的嵌入式系统软件。
  3. 2005 年到 2009 年:以销售 MiniGUI 增值版产品、软件使用授权的模式持续推广和开发 MiniGUI。在这个阶段,飞漫软件通过销售 MiniGUI 软件产品获取收入并持续发展 MiniGUI,并开发了基于 MiniGUI 的浏览器(mDolphin)、J2SE 方案(mPeer)、mStudio 等相关及配套软件产品,形成了围绕 MiniGUI 的一个完善的软件平台。

MiniGUI,作为一个完全自主开发的系统软件,走过了十年的历程,生命力如此之强,在当今浮躁的大环境下实属难得。那么,MiniGUI 在这十年中走过了哪些路程?发展 MiniGUI 又有哪些现实的价值?本文将详细为大家阐述 MiniGUI 的十年历程以及执着发展 MiniGUI 的现实价值。

二、MiniGUI 的最初发展

MiniGUI 的起源,要从 1998 年算起。

那时,自由软件的思想刚刚从国外传入到中国大陆,大陆也有许多人开始学习和关注 Linux。在此之前,笔者还沉浸在微软为我们营造的软件世界中。那时,笔者不知道 Linux 是一个什么东西,而 Windows 的封闭、臃肿却让我有了看看微软之外世界的想法。在这样的背景下,我有了尝试其他操作系统的冲动,而我当时所从事的研究课题也迫使我作出一个选择――是 Windows 还是 Linux。

当时,我在清华大学某实验室工作。该实验室正要开发一套工业控制系统――用于新型机床的数控系统。以前,这样的控制系统一般都建立在 DOS 操作系统之上,因为 DOS 最为简单,并且能够直接控制中断和 I/O,从而可以获得非常高的实时响应能力。但 DOS 是一个16 位操作,不能充分发挥基于 32 位处理器的新硬件平台的功能,因此,我们首先要选择一个新的 32 位操作系统。由于微软系列产品在大家心中“神圣不可侵犯”的地位,我所在研究小组的领导倾向于使用 Windows NT 作为操作系统开发这个数控系统。现在想起来真是有些后怕!如果当时真的选择了 Windows NT,那这个数控系统简直就是无法完成的――因为它需要 2ms 的实时响应能力!Windows NT,这个号称“新技术”的操作系统,实际根本不是一个硬实时操作系统,而且其庞大累赘的体系结构,也无法真正应用于工业现场环境使用。

在经过很长时间的调研之后,我们对 Linux 有了一定的认识。其中最为关键的是,Linux 已经有了一个实时的内核补丁,即 RT-Linux。利用 RT-Linux,可以直接处理中断,从而能够让一个普通的 Linux 系统成为一个健壮的硬实时系统。经过长时间的游说,实验室终于决定选择 Linux 作为数控系统的操作系统平台。但紧接着出现了另一个问题――GUI 怎么办。因为 Linux 上的 X Window 也不可避免地庞大和累赘。我们曾经做过一个试验,如果在 RT-Linux 上启动 X Window,则会导致严重的关键中断延迟。而且,当时的 X Window 汉化技术也不很成熟。所以,建立一个轻型的 GUI 系统,并且具有良好的中文支持,是首先要解决的问题。

但实际上,这已经不是什么问题了。那时,我已经具备了一定的图形用户界面系统开发经验。早在 1995 年,就已经开发完成了 DOS 上一个简单的图形用户界面系统。我将她称为 MiniGUI。在 Linux 上的 SVGALib 函数库的帮助下,建立一个类似的图形用户界面支持系统的确是一项并不困难的工作。经过笔者大概半年没日没夜的编码,MiniGUI 最初的版本(0.2.0)在 1999 年 6 月遵循 LGPLv2 许可证发布,并在 SMTH BBS 的 Free Develop 版面做了对 MiniGUI 的介绍。这样,一个最初仅仅因为解决 Linux 上中文化图形界面问题而开发的 MiniGUI 就这样问世了。

1999 年时,大陆已经有许多非正式组织在倡导 Linux 操作系统,也已经出现了一些由中国人主持的自由软件项目,比如由章文嵩主持的 Linux Virtual Server 项目、由苏哲主持的 Smart Boot Manager 项目等等。后来,包括 MiniGUI 在内的这三个自由软件项目,被公认为三大由中国人主持和开发的自由软件项目。

作为笔者的个人兴趣,从 1999 年到 2002 年期间,MiniGUI 始终作为一个纯粹的自由软件项目而持续开发和发布,最终发展到了 1.2.0 版本。在这一阶段,还有众多组织和企业支持了 MiniGUI 的开发:

  • 由清华大学学生何小波、陶品等发起和组织的 AKA 组织。这个组织为 MiniGUI 早期的发布、宣传做了大量的工作。
  • 联想公司。联想在 2000 年期间,也尝试开发自己的发行版(Happy Linux),并采用 MiniGUI 作为其安装程序。笔者以个人身份参与了该项目的开发,经过该项目的开发,MiniGUI 形成了一个较为完整的图形用户界面支持系统,第一次体现了其商业价值。
  • 蓝点(深圳)软件技术有限公司。该公司是早期三大中文 Linux 发行版之一 Bluepoint Linux 的开发商。2000 年 5 月到 2001 年 5 月,笔者曾在该公司的北京研发中心工作,并尝试将 MiniGUI 用于深圳元征公司的汽车检测用PDA 设备中。这期间,MiniGUI 得到了一些新的发展。
  • 北京中科红旗软件技术有限公司。该公司是 RedFlag Linux 发行版的开发商。笔者也曾在该公司的嵌入式事业部工作。在该公司工作期间(2001 年 5 月到 2002 年 8 月),尝试将 MiniGUI 应用于单兵作战手持设备以及信息终端中。在这期间,MiniGUI 得到了进一步的发展。
  • IBM developerWorks 网站。2001 年到 2002 年期间,通过担任该网站的专栏作家,笔者撰写了一批阐述 MiniGUI 设计思想、MiniGUI 使用和编程的文章,为推广 MiniGUI 起到了推波助澜的作用。
  • 梅特勒托利多(常州)称重仪表公司。该公司是笔者所知、除笔者自己之外,第一个将 MiniGUI 应用于商用嵌入式设备中的企业。这个企业也是后来飞漫软件的第一个客户。

虽然作为一个自由软件项目,MiniGUI 可以仅凭个人兴趣以及一些为数不多的用户的鼓励和支持慢慢发展,但因为国内的软件基础薄弱,无法在短时间内形成适合自由软件发展的土壤,因此,笔者决定创立一个商业化公司,通过商业化机构的运作,促进 MiniGUI 的快速发展。这样,就诞生了北京飞漫软件技术有限公司。

三、MiniGUI 的商业化发展历程

2002 年 9 月,笔者创立了北京飞漫软件技术有限公司,尝试自由软件的商业化运作模式。飞漫软件成立之初,我们的主要业务模型是通过定制服务、技术支持、培训等业务来获得收入,MiniGUI 仍然作为一个自由软件项目而发展,只是其维护者从个人转向了商业机构。

飞漫软件从成立到 2005 年底持续开发 MiniGUI,并发布了若干版本:于 2003 年 5 月发布了 MiniGUI V1.2.6 版本;于 2003 年 9 月发布了 MiniGUI V1.3.0 版本;2003 年 10 月,MiniGUI 完成了到 uClinux 和 eCos 操作系统的移植,并发布了 MiniGUI V1.3.3 版本。至此,MiniGUI 成为一个跨平台的嵌入式图形用户界面支持系统。

2004 年 8 月,华为选择 MiniGUI 作为平台软件产品,用于机顶盒、手持终端等产品领域。在此之前,飞漫软件主要的业务,是通过为客户提供基于 MiniGUI 的定制开发业务,以及技术支持服务来获得收入,而华为采购 MiniGUI 并支付软件授权使用费用,为快速发展 MiniGUI 提供了另外一条商业化道路。这样,从 2005 年开始,飞漫软件开始了一次重要的转型,即以软件产品的销售、软件使用授权作为主要的业务而进行发展,并推出了 MiniGUI 增值版产品。飞漫软件也走上了一条较为快速发展的道路,从 2005 年到 2007 年,飞漫软件的年销售额增长率保持在 40%以上。

2005 年 1 月,TD-SCDMA 标准的主要制定者(大唐移动,现在的联芯科技)采用 MiniGUI 作为商用 TD-SCDMA 手机的 MMI 方案;2005 年 7 月,基于 VxWorks Simulator 的 MiniGUI 演示开发环境顺利完成,该环境的成功搭建进一步加深了飞漫软件与美国风河间的合作。

2006 年 1 月,正式发布 MiniGUI 的相关组件产品 mGp V1.0、mGi V1.0 以及 mG3d V1.0;2006 年 5 月,飞漫软件成为美国风河系统公司全球合作伙伴,为 VxWorks 提供全面的图形解决方案。

2006 年 12 月,在香港举办的世界电信展上,大唐移动(现联芯科技)隆重推出采用 MiniGUI 和 Fhas 应用开发平台作为图形显示系统和终端应用开发平台的 TD-SCDMA 3G 手机终端软件标准平台 Arena。经过多年的发展,截止 2009 年 10 月,中国移动 3G 手机(即 TD-SCDMA 手机)市场中,有超过 50% 的 3G 手机使用 MiniGUI 作为其图形用户界面。在 2009 年上半年,由中国移动深度定制的四款 3G 手机中,有两款手机采用 MiniGUI;这两款手机是:中兴通讯的 U210 以及宇龙酷派的 F69。除此之外,还有早期试商用阶段的中兴通信 U85、海信 T68 等型号的 TD 手机。目前,采用 MiniGUI 开发的手机类产品已经有十几款型号。

2008 年 10 月,经过一年多的开发,飞漫软件发布了 MiniGUI V3.0。最新的 MiniGUI V3.0 版本在 MiniGUI V2.0/1.6 的基础上,提供了众多高级功能特性,将帮助用户开发具有更好用户体验的嵌入式产品。MiniGUI 3.0 中 蕴含有众多由飞漫软件研发团队首创的技术(外观渲染器、界面特效等),标志着 MiniGUI 3.0 从模仿、跟随他人走向了自主创新阶段。与此同时,飞漫软件基于 MiniGUI 开发的其他两项技术和产品:mDolphin(嵌入式浏览器)、mPeer(嵌入式 J2SE解决方案)也得到了诸多重要客户的认可并使用。

2009 年初,全球 500 强企业思科系统(中国)有限公司和飞漫达成合作,在网络电视领域展开广泛深入的合作,思科系统(中国)有限公司选用飞漫软件的全线系列产品作为其网络电视方案的基础软件,包括 MiniGUI、mDolphin 浏览器、mPeerJ2SE 解决方案。

2009 年 10 月,在中华人民共和国成立 60 周年之际,飞漫软件推出了 MiniGUI 的配套开发工具产品 miniStudio。至此,围绕 MiniGUI 的关键应用、开发工具等就相对完整了。

2009 年,经过多年的实践,飞漫软件终于找到了一条符合市场需求的发展道路,并稳步走上了快速发展道路。虽然 2008 年底、2009 年初,和众多中小企业一样,飞漫软件也受到了全球性金融危机的影响,但 2009 年飞漫软件的预期销售业绩将同比增长 80%或者更高。这一成绩的取得,证明了飞漫软件所选道路的正确性,也标志着飞漫软件的发展已经走向了快车道。

值得一提的是,直到今天,飞漫软件仍然以自由软件的形式发布 MiniGUI 的某些版本。其中包括广泛使用的 MiniGUI V1.3.3,最新发布的 MiniGUI-GPL V1.6.10 等。同时,飞漫软件还积极以开放源码的形式发布了诸多软件,如 mGDesktop、mGallery、mGIS 等等。飞漫软件也已成为国内为开源社区贡献代码最多的本土企业。

四、执着发展 MiniGUI 技术的现实意义

尽管 MiniGUI 的发展并不是一帆风顺的,尽管 MiniGUI 从纯自由软件走向商业化运作的模式被许多人诟病,但飞漫软件执着发展 MiniGUI 技术的现实意义不仅仅是为了单个企业的商业成功,而且也为了中国软件行业的发展、中国嵌入式行业的发展:

  • 在中国软件产业缺乏人才、缺乏经验,而且知识产权保护乏力的情况下,开发一个系统软件的过程必定是艰难曲折的。但是,MiniGUI 的成功表明,中国人完全有能力来自行开发完整的系统级软件以及配套的开发工具,并将其商业化,最终通过为客户带来价值而证明自己的价值。
  • 在开发 MiniGUI 以及 mDolphin 等软件的过程,飞漫软件积累了大量的研发管理经验,培养了大批软件开发和测试人才。这些人才不仅仅为飞漫软件的发展做出了重要贡献,也必将把飞漫软件的成功开发经验,尤其是研发管理经验带到其他企业,从而帮助整体提升中国嵌入式软件的开发水平和管理水平。

飞漫软件的成功,将吸引大批优秀人才进入到嵌入式软件的开发潮流中,相信中国必将涌现更多掌握核心技术、具有创新能力的嵌入式软件企业,从而带动中国嵌入式产业的长足发展。

五、以“十年磨一剑”的精神来重塑嵌入式行业

在中国短短的软件产业发展历史中,经过十年时间研发和推广的软件凤毛麟角。飞漫软件的实践表明,只有抱定“十年磨一剑”的长远目标,才能在基础薄弱、人才缺乏、融资环境恶劣的中国软件业整体环境下打造出一个个软件精品。嵌入式行业,尤其是电子消费类产品行业,所面临的竞争激烈,产品更新换代非常快,要想在这个红海中畅游,没有多年的研发积累是不可能的。

笔者呼吁嵌入式行业的从业者,从现在开始,加大研发投入,重视软件价值,以“十年磨一剑”的精神来重塑中国的嵌入式行业!


加载对话