说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

为何开发者应推动公司开源?

HTML文档下载 WORD文档下载 PDF文档下载
无论出于何种目的,企业常常会考虑开源一些内部项目,但企业为何应该开源、应该开源哪些项目是让人头疼的问题。微软工程师Ahmet Alp Balkan对此作出了建议,并强调这不仅是企业高管的问题,更与开发者自己息息相关。

IT界有一句俗语——“如果老二无法战胜老大,那么就把老大赖以生存的东西开源。”企业常常会考虑将某些内部项目开源出去,不论是因为崇尚开源还是为了提升公司形象,又或者是为了打击竞争对手。但应该开源什么样的项目确实是个难题,开源了合适的应用可以为公司带来好名声,但开源了错误的项目甚至可能将公司带向险境。

微软工程师Ahmet Alp Balkan在博客上发表文章 《What should you open source in your company》,深得开发人员认可。

Balkan认为,大多数工程师都会在公司发现有价值的代码或者是好用的内部工具,这些都是值得自己保留的东西;另一方面,你也会在工作中花费很多人力去开发可重用的辅助工具以及类库,这些免于遭受截止日期压力的作品往往更富有创造力。 如果能把它们以开放源代码协议发布出去,无论是对自己还是其他开发者都是非常有意义的事情。

对于企业,开源几个不涉及核心功能的类库或者辅助工具并不会为自己带来负面影响,但是通过大家共同的努力,一定可以帮助它变得更好,IBM开源Eclipse正是为此。此外,如果企业并不处于行业的领先地位,甚至考虑开源核心技术以打击竞争对手,但对整个行业的技术发展能起到很大的推动作用,Yahoo!开源自己的DFS与Map-Reduce实现,以及微软支持开源地图服务OpenStreetMap都是很好的例子。

最差的情况下也不过是项目无人问津,但至少还能为公司的GitHub页面充实门面。

以下面这些名企为例,他们开源了那些技术可以作为企业的参考:

  • Linguist——GitHub:一个检测源代码以及二进制文件是由何种语言编写的类库。
  • Guava——Google:Java扩展功能类。
  • MoSQL——Stripe:MongoDB到PostgreSQL流式复制的类库。
  • PonyDebugger——Square:使用Chrome Dev Tools的远程iOS调试工具。
  • Rogue——Foursqure:类型安全的Scala DSL。
  • Brackets——Adobe:基于Web的Web代码编辑器。
  • Twitter的Finagle、Bower、Zipkin等等。

这些公司开源的工具虽然非常有名、实用,但都没有涉及自己的核心,因为对于技术公司来说,将关键技术开源相对于把武器送给了竞争对手,这是非常危险的举动。比较例外的是Facebook,它开源了Corona、Cassandra等众多核心技术,甚至Google也对其Open Compute Project赞赏不已。但不得不承认的是,作为强用户粘性的社交网站,其最有价值的财产还要数多至10亿的用户,即时是这些核心技术也得略逊一筹。

Balkan还指出,对于开发者,很多时候会经常重用之前开发的组件,尤其当你在更换了工作之后,也会更愿意使用老东家熟悉的工具。出于这些目的,你也应该推动开源公司内部的开发工具或者类库开源。如果你还是该工具的开发者,在项目被其他IT公司看中之后,这些公司也一定会认可你的技术实力,因此成为你的潜在雇主。

同样的道理,支付宝前端负责人玉伯也曾在CTO俱乐部活动中倡导IT公司之间摈弃成见,在业界建立一个前端的生态圈、共享部分开发模块。这一举措不仅能够降低各公司的开发成本,员工在离职后也可以享受好处,同时圈内开发者能够更好地协作。

此外,还有件需要注意的事——公司开源某个项目多非大发善心,通常这都得感谢某个/些人在背后所做的努力,他们提出想法、说服高管,最终造福全体开发者。

如果你正有此打算,首先需要做的就是整理出可重用的代码、编写测试和文档,以及说服各位企业高管。

对比MySQL,你究竟在什么时候更需要MongoDB 不以“大小”论英雄,对比IBM、AWS,谁才是Hadoop界的MVP? 参加“我们都用JIRA”视频征集大赛 赢取乐视TV超级电视 开发者下一个待开发市场:印度 一周消息树:80%开发者背井离乡,70%经常加班 请问Oralce 有级联更新这个概念吗? 求:intel ixp2xxx np资料及开发包,有 ixp1200也行 欢迎搞这个的朋友们来交流 为什么我装的windows2003,加入域后,用域用户登入后没有管理权限阿? 到哪儿可以下载用于WIN2000 SERVER的NORTON杀毒软件---谢谢!! PB和ORACLE的连接问题! 如何加快对话框的显示? 如何不需要用IE访问,直接用php xxx.php执行? 【关于timer控件的问题】 到哪儿可以下载用于WIN2000 SERVER的NORTON杀毒软件---谢谢!! (I've Had) The Time of My 容性电流流过感性负载会引起感性负载的电压升高吗, 为什么不能用过滤法净化胶体 分散系为何一定是混合物?胶体不是可以为纯净物么? 胶体是纯净物还是混合物 Fe(OH)3胶体是混合物还是纯净物拜托各位大神 人类大概要哪年才能上月球去住?我好想去那里啊.这里 人类会住在月球上吗? 高层重音提示三中全会主题 新一轮改革孟加拉国反对党罢工引发冲突3人死亡湖南一菜农与市场保安争执后死亡 涉事阿富汗东部发生路边炸弹袭击 致18人迪拜世界最大机场正式启动客运服务就在哪里站起来《美丽梦想》你们都知道吗?智者乐 仁者寿妈妈,我爱你封冥记大空戒圣堂之血罗盘人生终极守护之月龙石鄱阳湖国家湿地公园旅游芦沟竹海旅游九龙公园旅游无锡梅园旅游望海长廊旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘