自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就曾经是我们工程哲学中的一个主要的部分。
如今,我们运用、保护并为大量的首要项目做出了奉献——触及多种范畴如手机Tools、大数据系统、客户真个web库、后真个运转库和根底架构,也触及到开放盘算项目,Server和存储硬件。
2013 是我们开源项目具有主要意义的一年,我们具有大量使人骄傲的新项目,为正常运转和保护它们的更新许诺,和运用它们的充溢生机的社区一同任务的欲望。仅在我们的Github账户上,我们如今曾经有超越90个堆栈,有超越40,000次的提交,一共被复制了15,000次。
年底是一个很好的时机往返顾我们投入精神的一些首要的范畴,简要重述(不是具体的!)下我们任务的一些项目列表。
我们最骄傲的开源奉献经常是我们为了处理在 Facebook 碰到的范围和功能的应战而开发的一些技巧。
手机也不破例:Facebook 的手机使用曾经是我们产品团队本年的一个重点,我们如今也还需求开发新的兼容性——在这类状况下,那些要敏捷开发、编译、测试并宣布我们手机使用的需求变得愈加的高效。开源我们的任务,正如我们曾经做的那样,是很天然的工作,这些Tools曾经成为我们手机开源作品集的中心。
比方,在四月份,我们宣布了Buck,我们的Android编译Tools。开发者的效力对我们来讲很主要,天然速度是Buck的重要任务:在Facebook,我们发明它在编译我们的使用时,比 Ant 快了超越两倍。从一Start,这个项目就愈来愈弱小,并被Android社区也包含一些著名的Java项目普遍使用。
关于iOS,我们也有相似的瓶颈,发明我们需求减速和主动化Xcode的手动编译进程。后果就长短常盛行的 xctool ——也在四月份宣布——可使工程师(更不说那些不断集成的机械)愈加容易的编译和测试iOS和Mac项目。
我们***份举办的Mobile @ Scale上推出了Rebound,一个Android的物理和动画库。Will Bailey在这篇比来的博文中具体引见了这个项目,我们置信对真实天下的物理建模是一个有力的方法,便利在使用中创立天然、可触的动画和交互后果。
最初,经过宣布另外一个手机Tools来完毕这一年,另有比这更好的方法吗?今日我们很冲动的宣布Origami,一个Quartz Composer的Tools集,答应设计者更快的编译和构建手机交互的原型。
Web技巧也和Facebook相干,包含手机和桌面的客户端。在前段,我们开源的重点更多的在于支撑在蒲月份的JSConf上宣布的疾速灵敏的JavaScript库React。
从那当前,React库——和社区的热情者——有了必定的开展。如今在编译Tools上有了大量的集成,Server真个情况(像node,Rails,和Python)和其他客户真个库——也包含一些备受注目的内部的安排Tools如Khan Academy。团队保护了一个杰出的社区提要博客,包含大量其他React项目标例子、演示和教程。
总之,我们也想协助进步JavaScript言语和web使用的质量。例如,Regenerator,是用来转换ECMAScript 6的yield语法到当今的阅读器的一个转换器,Huxley,在炎天由Instagram团队构建的,曾经疾速成为web使用中一个十分盛行的可视化正则测试Tools。
Facebook与开源数据根底设备(open source data infrastructure)很有渊源,回忆我们对MySQL, Cassandra,Hadoop,Hive和Hbase所做的奉献可以看出这一点。2013年也不破例,仅仅在过来的几个月里,我们就上线了两个新的旗舰级数据项目。
起首是Presto,一个新的分布式SQL查询引擎,被设计用于高功能剖析我们用于运转交互式查询的300PB数据堆栈。
我们在炎天的Analytics @ Scale event上发布了Presto而且在上个月于我们的blog上对它做了更多引见。从那当前,我们冲动的看到它被很多像Airbnb和Dropbox如许的公司采取,而且从很多热忱的社区失掉了奉献,包含new clients,Ansible playbook和debian packaging。
第二个项目是RocksDB,一个十分异乎寻常的数据根底设备(data infrastructure):一个基于LevelDB的嵌入式key-value存储类库,而且为具有多核CPU和疾速闪存的情况做了优化。另外,在它上线的当前几个月里,它惹起了普遍的兴味,一些巨大的社区曾经把它绑定到其他的言语上。
我们对数据根底设备(data infrastructure)的奉献和支撑拓展得很好也曾经超越了我们自身。我们对Giraph供给了弱小的支撑,比方,它曾经被进步到可以支撑1万亿边沿的图形构造。
最初,但绝对不是最不主要的,根底设备项目在我们对开源项目标奉献中依然是最为主要的一部分。
HHVM,the HipHop Virtual Machine,是今朝为止我们的项目资产中最为明显而且是跟随人数最多的项目,而且失掉了大量的来自PHP生态系统的支撑。2013年有近4000次提交,而且在功能和第三方php框架的兼容性上有了长足提高,这关于社区的普遍采取来讲长短常主要的。
这个团队方才从封锁中走出来而且在昨天禀享了他们最新进度的音讯。而且我们很冲动的看到在不断不时的集成测试以后,VM被集成到Travis CI,而且为集成到其他盛行的web server参加了FastCGI支撑。
我们本年也为很多其他的明显的根底设备项目任务过。关于我们本人的项目,包含pfff,我们的代码剖析Tools箱,libPhenom,一个高功能的事情框架,和folly,我们盛行的C++类库。而且我们本年为 Mercurial,LLVM和GNU grep供给了很多明显的奉献。
Open Compute项目在2013年继续强大,运用new work on networking hardware,新的社区和根底治理,和整年浩繁的hackathons和会商会。Facebook努力于支撑项目建立而且它的目的是开发设计用于一切数据中间技巧的开源Server和数据中间 - 而且让我们等待下个月的Open Compute Summit。
当你在运用或许为一个开源项目做出奉献时,我们晓得没有比看到它裹足不前更蹩脚的了:bug 没有被修复,问题没有处理,pull requests 被疏忽。关于 Facebook,我们的目的是,经过我们的投资组合,坚持强有力的社区介入义务感。
我们曾经采用了详细的办法来到达这个目的。例如:我们如今鼓舞我们的工程师团队在运用或许开发一个开源项目标时分,首选 Github,Bitbucket 或许 Apache 软件基金会的项目作为源码的起源。
我们有一个新的Tools链,使 repos 和我们外部系统同步,同步代码评审进程,Task跟踪等等。同时把我们比来检测的一切 repos 仪表化,包管他们坚持安康的开展:我们有外部的仪表盘来显示commits 的数目,pull requests 的数目和每一个团队 issues 的数目。这给我们供给了一个早期预警系统,提示社区中有哪些被我们无意中疏忽了。
同时我们很骄傲的公布,我们正在做的 Bountysource 项目帮我们社区处理了非常多问题,此中包含鼓舞大师介入各类开源项目,嘉奖那些介入开源项目标开发者。我们曾经有了一系列的嘉奖方案,包含 HHVM 和 D。
就在上个月,我们公布 Facebook Open Academy 曾经把开源带到天下各地大学的盘算机科学课程中。
在 2013 年,我们也同步Start了 "@ Scale" 工程活动的项目,这个项目旨在聚集开发职员会商和剖析各类技巧大范围施行面对的应战,分享他们的处理计划和相干的开源项目。本年的活动包含 Analytics @, Mobile @ 和 Data @ Scale,相干的视频曾经放在了我们的 Facebook Developers channel。 敬请等待来岁更多的 @ Scale 活动。
最初,欢送拜访我们新工程的网站 code.facebook.com!我们尽量让您更便利的存眷我们一切的活动具体信息,在 blog posts, events, videos, academic publications 和 open source projects 上都可以找到我们一切的工程项目和活动。定阅我们的 Facebook Page 和 open source news 可以取得更多的更新旧事。
Facebook 的有名格言:我们的开源项目依然是只完成了1%。
经过上面说起的一切主题,我们晓得另有非常多方面需求我们继续尽力。我们很光荣在我们浩繁的项目中有弱小而热忱的社区支撑,赐与我们激烈的义务感和动力。
不论你们是在Mobile端,web,数据亦或是根底设备社区,我们都很等待能继续与你们协作,2014年再会!
本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务