Firefox OS,由Mozilla基金会主导研发的开放原始码移动操作系统,采用Linux内核。这个计划于2011年7月25日发布[4],最早主要应用于智能电话和平板电脑[5],但因难以打入手机市场,于2016年7月停止推出预载Firefox OS的新手机,转型主打物联网的操作系统。
![]() |
Firefox OS与Google Chrome OS类似,是一种网络作业环境,以Gecko浏览器引擎为中心,采用HTML5来开发。它允许基于HTML5的应用程式,能透过JavaScript语言,直接透过装置硬件来做相互沟通[6]。Firefox OS的所有应用都基于网络,希望用户一开机就能够连接上互联网,但仍可透过HTML5 cache Manifest或相关API在离线时使用。
发展目标
2011年7月25日,Mozilla公司开始Firefox OS的研发,目标在于建立一个独立且完整的操作系统,用以推动网络开放,并使开发人员能够在不同手机平台上开发跨平台应用程式。并确立了一些工作方向:建立新的WebAPI来驱动装置和操作系统的功能,例如:电话和相机;建立权限模型来保证系统的安全,以及底层驱动Android装置的低端代码[4]。2012年正式发布了Firefox OS。
Mozilla研发总监安德里亚斯·加尔(Andreas Gal)形容目前已存在的移动设备平台犹如“围墙花园”[7],Firefox OS将完全使用开放的HTML5网页标准技术,不涉及专利软件及技术。Firefox OS希望建立起一个平台,让符合网页标准的网页浏览器便能够执行软件,让程序开发者统一在同一套标准下开发可以共通使用的应用程式,不需再为各平台各别开发专用的应用程式。
发展历史
2011年7月25日,Mozilla研发总监安德里亚斯·加尔(Andreas Gal)于讨论组群上宣布“Boot to Gecko”项目(简称B2G)[4]。这项信息引发了许多科技媒体关注[8][9]。其中根据Ars Technica引述:“Mozilla表示,B2G基于标准的开放网络有潜力成为一个具有竞争力的替代品,取代由主流移动操作系统提供的现有单一供应商应用程式开发环境。”[10]。
2012年2月28日,在执行于Android型号的智能电话上,首次公开展示Firefox OS[11][12]。7月2日,Boot to Gecko正式被命名为Firefox OS[13],并于8月展示部分系统截图[14]。
2012年9月2日,Strategy Analytics分析师预测,Firefox OS将在2013年占据1%的智能电话市场[15]。
2013年1月10日,中兴通讯于国际消费电子展上证实将推出Firefox OS智能电话[16],并在2013年7月2日,西班牙电信推出首款商用Firefox OS手机ZTE Open[17]。西班牙GeeksPhone公司接着也推出GeeksPhone Keon和Peak。2月24日,Firefox OS商业计划正式扩大[18]。Mozilla于巴塞罗那世界移动通信大会记者会上宣布,第一波Firefox OS手机将提供给巴西、哥伦比亚、匈牙利、墨西哥、蒙特尼哥罗、波兰、塞尔维亚、西班牙与委内瑞拉的消费者;LG集团、中兴通讯、华为和TCL集团将承诺生产Firefox OS装置[19]。
2013年5月27日,鸿海科技与Mozilla签署合作协议,合作范围包括平板电脑和其他手持装置产品[20]。
2014年5月14日,Mozilla基金会和T2Mobile合作推出Firefox OS参考平台手机被名为“Flame”,这是专为开发人员用于开发和测试的手机[21]。
截至2014年12月16日,Firefox OS手机在全球共有14家营运商和近28个国家上市[22]。
2015年12月8日,Mozilla联网装置部门副总Ari Jaaksi在其Twitter页面宣布将终止Firefox OS智能电话的开发与销售,而将Firefox OS聚焦在物联网的发展[23]。2016年2月,Mozilla公司在寄送给开发者的电邮中宣布:在2.6版本发布后,他们将停止开发手机平台上的Firefox OS,原开发团队将会移到别的项目上,例如Firefox TV和其他的智慧家电。
2016年9月27日,Mozilla宣布Firefox OS于手机平台的商业性开发已经停止,且所有相关的代码将从mozilla核心中移除,以便未来Gecko(Firefox的排版引擎)的开发不受已停止的手机项目之影响。但也会发布Firefox OS 2.6版稳定的原始码,供开源软件社群继续利用与开发手机操作系统。只是因为此后的Gecko引擎在演进中将逐渐与2.6版为止的Firefox OS越来越不相关,这意味着开源软件社群必须自行跟上Gecko的发展来修改B2G代码,对社群成员将是一大挑战。[24] 目前(2016-10-26)在Firefox OS官网上,看到的下载仍是2.5版开发者预览版。
虽然手机上的Firefox OS停止开发了,但给物联网的项目仍继续,例如Firefox OS TV。
展示
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Mako-b2g.png/640px-Mako-b2g.png)
在2012年世界移动通信大会上,Mozilla宣布与西班牙电信合作,将共同开发基于HTML5和WebAPI所建构的“Open Web Device”[25]。Mozilla还宣布,支援该项目的还有Adobe Systems和Qualcomm,以及德国电信的创新实验室也将参与该项目[26]。大会现场还展示该系统执行于三星Galaxy S II手机(移除内建的Android操作系统)[11][27]。2012年8月7日,一名诺基亚工程师将该系统移植到树莓派上[28]。2013年2月25日,索尼展示Firefox OS移植于Sony Xperia E运作效果,并开放ROM供下载[29]。
Firefox OS可支持装置包含Nexus S、Nexus S 4G、Galaxy S2、Galaxy Nexus、Nexus 4、Otoro、PandaBoard和台式电脑[30]。
Mozilla于2014年世界移动通信大会上联合展讯通讯(Spreadtrum)展示25美元Firefox OS智能电话[31]。至今Mozilla已联合4家手机制造商和5家营运商于欧洲和拉丁美洲推出Firefox OS手机。在印度,Mozilla项目与Intex及Spice公司推出25美元手机[32],但最终价格为33美元(1,999卢比)[33]。
分支
松下电器继续开发用于智能电视的操作系统,使用基于Firefox OS的My Home Screen[35]。
明辨科技从Firefox OS中分支出H5OS。公司创始人宫力在担任Mozilla公司总裁期间曾负责Firefox OS的开发[36][37]。
架构
Firefox OS架构主要由三个软件层组成[41]:
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Firefox_OS_Architecture_diagram.png/640px-Firefox_OS_Architecture_diagram.png)
Gonk是Firefox OS平台最底层的系统,包括Linux核心和用户空间硬件抽象层(Hardware Abstraction Layer,HAL),核心以及一些用户空间库都是常见的开放原始码项目,例如:Linux、libusb、Bluez;而部分硬件抽象层与Android开放原始码项目(Android Open Source Project,AOSP)共享,例如:相机、全球定位系统。基本上Gonk也可以被当成是一个非常简单的Linux分支版本,Gonk就是个Gecko的移植目标, 也就是说,一套在Gonk执行的Gecko,就像Gecko也有Mac OS X、Windows和Android版本一样。因为Firefox OS项目具有Gonk完全的控制权,相较于其他操作系统,可以开放更多的接口给Gecko。例如:Gecko可以直接存取Gonk的完整电信堆栈和显示缓冲器(Frame Buffer),这是其他操作系统作不到的[41]。
Gecko是Firefox OS的排版引擎,Gecko提供HTML、CSS、JavaScript等开放标准的支持,由相关网络堆栈、图形堆栈、排版引擎、JavaScript虚拟机和接口层组成[41]。
Firefox OS的用户界面层,任何绘制于屏幕上的所有容都属于该层的工作,也就是说目前现代智能电话应具备的标准应用程式皆基于Gaia实现,包括锁定屏幕、主画面、拨打电话、文字简讯、相机。Gaia完全使用HTML、CSS、JavaScript技术来实现而成,Web API是本层到其底层系统的唯一沟通入口[41]。
发行历史
装置
Firefox OS与Android之间架构上的相似性允许Mozilla平台运行于许多Android的装置上。一些Firefox OS的移植几乎与原始版本没有什么不同,其他的则做了大量的修正以适配正在移植的装置。
Firefox OS被移植到下列装置:
- Sony Xperia SP[49]
- Huawei Ascend Y300[50]
- Huawei Ascend G510[50]
- HTC Pico[51]
- Nexus 4 [52]
- Nexus 5[53]
- Nexus 7 (2013) [54]
- Moto G[55]
- Sony Xperia Z3[56]
- Sony Xperia T2 Ultra[57]