开源项目的正确打开方式:如何发明完美符合自己业务特点的轮子?

软件开发领域有一个流行的原则:DRY,Don’t repeat yourself,我们翻译过来更形象通俗:不要重复造轮子。开源项目主要目的是共享,其实就是为了让大家不要重复造轮子,尤其是在互联网这样一个快速发展的领域,引入开源项目,可以节省大量的人力和时间,大大加快业务的发展速度,何乐而不为呢?

然而现实往往没有那么美好,开源项目虽然节省了大量的人力和时间,但带来的问题也不少,相信绝大部分同学都踩过开源软件的坑,小的影响可能是宕机半小时,大的问题可能是丢失几十万数据,甚至灾难性的事故是全部数据都丢失。

除此以外,虽然DRY原则摆在那里,但实际上开源项目反而是最不遵守DRY原则的,重复的轮子好多,尤其是国外,一看哪个开源方案不爽,自己就吭哧吭哧搞一个差不多的:你有MySQL,我有PostgreSQL;你有MongoDB,我有Cassandra;你有Memcached,我有Redis;你有Gson,我有Jackson;你有Angular,我有React。总之放眼望去,其实相似的轮子很多!相似轮子太多,选择就是让人头疼的问题了。

怎么办?完全不用开源项目几乎是不可能的,我们需要更加聪明的去选择和使用开源项目。形象点说:不要重复发明轮子,但要找到合适的轮子!你开的是保时捷,可别找个拖拉机的轮子。

接下来我将根据加入UCWeb 5年与开源项目有关的经历,总结出一些“如何正确使用开源项目”的经验和教训。有的项目是我亲身经历,有的是我接触到的,有的是我观察的,其中部分描述细节可能并不完全准确,大家可以结合自己的经历一起探讨。

原文发布于微信公众号 - 星流全栈(MeteorFullStack)

原文发表时间:2016-02-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

Spring Boot 终极清单

我上学那会主要学的是 Java 和 .Net 两种语言,当时对于语言分类这事儿没什么概念,恰好在2009年毕业那会阴差阳错的先找到了 .Net 的工作,此后就开...

852
来自专栏cloudskyme

云计算读书笔记(一)

云计算的概念 云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。 云的核心理念就是资源池。 为...

4506
来自专栏ThoughtWorks

读书雷达 l 业务分析师(BA)篇

ThoughtWorks BA社区从2011年起就建立了BA书橱,根据大家的推荐选择了来自软件需求、商业分析、设计思维、软技能,以及敏捷精益方面的四十余本书。 ...

3115
来自专栏互联网技术栈

Druid:实时处理时序数据的OLAP数据库

大数据一直是近年的热点话题,随着数据量的急速增长,数据处理的规模也从GB 级别增长到TB 级别,很多图像应用领域已经开始处理PB 级别的数据分析。大数据的核心目...

1592
来自专栏VRPinea

AMD推出多款硬件与软件更新,为VR带来部分支持

近期AMD消息频出,让人眼花缭乱,光光在台北国际电脑展上,其就展示出了不少新品,如:Threadripper代32核、面向消费级显卡市场的RX Vega 56 ...

1050
来自专栏斑斓

架构模式的圣经

在模式领域里,有一部伟大著作给予软件设计领域带来的影响非常大,那就是以德国人Frank Buschmann为主要贡献者的《面向模式的软件架构》(Pattern-...

3776
来自专栏黑白安全

安全研究人员提醒AI助理需谨防人耳听不到的“海豚攻击”

中美研究人员已经验证了一种可向 Siri 等 AI 助理发出“隐藏式攻击命令”的方法,因其采用了人耳察觉不到的音频,从而强迫智能助理执行非机主下达的恶意命令。《...

933
来自专栏施炯的IoT开发专栏

2015 MVP OpenDay 及 Community Camp 演讲PPT分享

这两天来到首都北京参加一年一度的MVP OpenDay 和 MVP Community Camp。其中,31号下午有我的课程:What Will You Mak...

1916
来自专栏圆方圆学院精选

【董天一】IPFS:世界正在悄然发生变化

        2015-05-05 Juan Benet 在自己的终端里面敲入了下面的文字:

1281
来自专栏养码场

回顾15年我从嵌入式转至Java后端阅读的一些书籍,让我变成了自己想要的样子

很早就想整理下自己读过的一些书了,想把感觉还不错的分享和推荐给大家。然而,写这篇文前面的一个月一直在忙着公司的项目和另一本技术书的阅读。感觉需要做一点事情来定下...

3722

扫码关注云+社区