这里我们谈的开源项目是指CoX。CoX在整个CooCox战略布局中占有相当大的作用,如果CoX失势,CooCox平台 极有可能成为众多平台中的一个,顶多靠客户群占有一定的市场份额,而且这个市场份额会一直被挤压。
组件式开发方式,现在已经成为趋势,而且行业各个层次都已经认识到,包括ARM, 半导体,开发者。即使在互联网, 也是一样,比如Python, Ruby Gem, Node.js npm包,Java jar包,嵌入式行业的MDK 5, mbed, Freescale Process Export.
2014年以来,ARM CMSIS标准逐步发力,由点到面,逐步形成规模。
- CMSIS-CORE
- CMSIS-SVD
- CMSIS-DSP
- CMSIS-DAP
- CMSIS-RTOS
- CMSIS-DRIVER
- CMSIS-PACK
ARM来势汹汹,半导体纷纷应对,开始出自己的标准,搭建自己的小生态,Freescale的Kinect SDK, ST Cube Library等等。
那么CoX是最初提出统一标准的,CoX何去何从?===> CoX VS CMSIS?
现在正是ARM与半导体角逐的时候,CoX还有发展的机会,要在CMSIS大面铺开前,占有一定的份额。
接下来,会从以下几个方面,分析:
- 为什么CoX没有发展起来?他遇到了什么问题?
- 分析下开源世界
- 利用开源的思路来运营CoX
Why Open Source?
- 雷锋精神,造福大众,人人为我,我为人人
- 借鸡下蛋
- 自己没技术,没精力,没资源(不足),发动大家一起帮着完成
- Microsoft .NET Micro Framwork开源,那么多平台,Microsoft怎么能做的完
- Eclipse基金会,Apache基金会都是类似的
- 培养市场
- 东西要有人用才有人买,把市场培养好了,自己就可以卖的更多
- 市场手段
- 打击竞争对手,比如金山开源金山卫士,IBM开源Eclipse打击Sun(Sun有一大块工具业务)
为什么要参与开源项目?
我觉得可能要分几类人:
- 带有商业目的的(正在有使用价值的)
- 这个开源项目,正应用在他的产品中
- 不可避免的要遇到一些bug
- 可能有一些Feature暂时官方不支持的,他提交做了
- 这个开源项目,正应用在他的产品中
- 纯的志愿者
- 人人为我,我为人人
- 想提升个人技术水平
- 利用品牌知名度,提升成就感,荣誉感,成就感
很明显,第一部分,是核心的一部分,最好,把这一部分人也进行分类,给他们量身打造一个参与方案来。
怎么让社群参与进来?
- 首先是推广,要让大家知道这个项目,而且是大家需要的一个项目
- 网站
- 官方微博,博客,利用各种媒体宣传
- 招募志愿者
- 打造开源社区必要的环境, 形成社区
- 开源代码托管(Github)
- Bug/Issue
- 邮件论坛等沟通交流环境
- Roadmap
- 规范,不同的人怎么参与进来
CoX前面出什么问题了?
CooCox把CoX当作一个传统软件运营,定期发布版本,没有社群参与。
- CoX做为一个HAL, 有点类似 JAVA, 一次编译,到处运行,单单靠CooCox这几号人,是很难实现的
- 一个东西好与不好,只有真正检验过,才有结论,没有活跃的用户,提需求,反馈Bug是很危险的信号。
CoX要以一个开源项目去运行
CoX的用户有哪几类:
- 半导体
- 口号:基于CoX的Driver/App 都能在他家的芯片上运行
- 开发者
- 口号:无需到处学习芯片,掌握CoX, 打遍天下半导体,一次开发,到处运行
- 中间件
- 口号:无硬件平台差异,一次开发,到处运行
- 开发板
- 前提:开发者已经很喜欢CoX
- 开发工具
- 前提:CoX也有一定的影响力
- 集成
- 图形化动态生成代码
- 志愿者
- 无论是学习,雷锋精神贡献
怎么做:长或短说,
- 推广,要让行业看到这个项目,更重要的是看到这个项目的更新
- 社群,在一个开源项目很重要,关键是怎么营造出来,尤其是把行业中跟利益挂钩的角色发动起来。