大部分互联网公司内部使用开源现状
nginx,zabbix,redis,memcached,mysql,fastdfs,codis,hdfs等几乎所有的软件均来自开源社区。服务器相关公司内部系统均基于开源框架构建而来,包括编程语言本身python,Java,php,go均是开源的,甚至当前最流行的安卓手机系统也是开源的。开源软件给互联网公司提供了一个完整的生态环境,离开开源软件互联网几乎公司无法运作。
有哪些公司在做开源
小米:其开发的监控系统弥补了zabbix监控的不擅长的场景,在很多业内都得到认可。豌豆荚:其开源的codis解决了redis分布式的问题协程旅游网,去哪网,禅道,360等都有大量开源产品BAT更不用说,谷歌,Facebook这些大腕更更不用说,大家都知道。稍微能说上名的,社区里比较活跃的公司都在做开源,甚至连芒果TV这样一个传统行业都开始跟进与分享,我们不能落后。
取自社区,回馈社区的态度
对社区已经由较成熟实现的系统,不另起炉灶,不重复造轮子最大化减小开发成本,减少人力。社区版软件经常会遇到与公司内部需求不匹配场景,因此需要基于社区版本开发新功能,新改进,我们希望做到饮水思源及时回馈,让更多有同样需求的人少走弯路,做一个有责任感的,对技术有追求的公司,虽然不是滴水之恩当涌泉相报,也可以做到尽力回馈,我们相信每人都付出一点世界会变得更美好
为什么要做开源?
开源是互联网思维(开源,开放,互联,互通)。当下互联网发展迅速,任何技术的开源形态最终都会产生,但是产生在哪里,产生的基础在哪里就要看你是否能抓住机遇,用开放的心态去解决开发者的痛点。开源是软件行业沟通的桥梁。技术分享交流大会一般基于开源产品讲解公司架构的改变,技术的变迁,遇到的问题与解决问题的思路,要想提升公司技术影响力有一个重量级的开源产品十分重要。开源可以推动行业发展。Linux系统的开源促使了安卓的诞生;安卓系统的开源诞生了无数的公司包括小米,魅族等; 开源是产品营销的利器。 消除企业客户的顾虑,降低售前咨询成本,提升品牌影响力。开源树立企业的信任感,影响力。我相信任何一个稍微有点规模的公司其内部都是有料的,任何一个互联网公司对技术也是有追求的,任何一个公司也是希望能够拥有一个得到社区认可的一个有着互联网基因的工程师文化的富有激情的团队。
如何做开源?
开放的产品或代码需要能够解决实际用户的需求,开放出去的项目或者产品需要持续的同社区反馈交流互动改进,让社区帮忙测试与优化。
完整的开发文档,对开放的项目必须要有完整的文档。
积极配合开发者的参与构建一种社区文化。
开源不是简单的放出去代码,它需要有一颗有责任的心,一颗追求完美的心,一颗不安于现状的心的程序员们去在开发完紧急复杂的需求外,再去认真的做。