开源内部应用程序?这个想法太疯狂了,太不现实了吧?!有人认为将自己的内部应用程序开源后,岂不是让竞争对手可以研究透自己吗,那在竞争中还有何秘密可言?但事情并非完全是负面的,它也有积极的一面。
Stephen O'Grady的分析师在最近的一篇博客中写道,企业IT部门应该重新审视现有的内部应用程序开发战略了,应该多学习学习Facebook和Twitter采用的一些开放的姿态。他特别提到,是时候考虑改变应用程序开发投入方式了,要与竞争对手保持差异,依靠开源和宽容的许可扩展你的应用和发展资金。我认为他说的是对的。
遗憾的是,大部分组织开发的内部软件都属于组织机密,开源内部应用程序的态度从来都被看作是异类。
大多数内部应用程序都找不到对应的开源软件和商业软件,如果通过内部开发,然后进行开源,使用宽容的许可,如Apache许可,托管到第三方开源网站,如Github和Apache,这样让其他人也可以了解你的行业,如果你够幸运,还有人愿意无偿为你的应用程序贡献代码,这样你的开发成本就降下来了。
听起来有点不可思议,而且感觉纯理论性太强了,的确,说起来容易,真正做起来是另一回事,这个新的开发模式需要转变思想,特别是IT决策者的思想要够开放,它和使用开源产品完全不一样,要将现在还属于公司商业秘密的产品开放给所有人浏览,是需要魄力和实力的。
其实这是一个心理障碍,开源并不意味着你就失去对源代码的控制了,要知道版权还是归你所有,有些企业的开发人员在内部项目上不知不觉使用了开源代码,从来没有考虑过它的开源许可带来的影响,他们认为反正开发的软件也不会在公司之外分发,因此那些开源代码的许可限制是不会触发的,许多开源许可都有分发限制,你必须遵守。
如果你开源了,说不定你的竞争对手还会和你一起完善这个开源项目,其实在软件行业这不算新鲜事,IBM和Oracle都使用了Apache HTTP Server项目的成果,也都在为这个开源项目做着贡献,如果要他们都自己从零开始开发一个HTTP Server,那成本就大了,至少现在看来,Apache HTTP Server,IBM和Oracle都活得好好的。合理开源不仅可以减少内部资源的消耗,还可以增加自己的知名度,提高代码的质量。
【编辑推荐】