2016:黑鸭子年度最佳开源新秀奖

2016-03-31 08:08


开源项目已经成为时代创新的引擎,这一点从本年度的黑鸭子开源项目年度最佳新秀奖中就可以得到充分的证明。 

开源年度最佳新秀奖

欢迎来到第八届黑鸭子年度最佳开源新秀奖。每一年,黑鸭子软件都会详细审查开源世界出现的新项目,并为其中的佼佼者颁奖。

在今年的年度最佳新秀奖中,绝大多数项目都是由营利型企业所赞助或者推动的,其中有些项目是赞助商核心产品的分支或者是内部开发版本,它们同时也推动了其核心产品本身的发展。总的来说,今年的新秀奖体现出三大行业趋势。

Docker容器技术的流行:Docker作为曾经的开源年度新秀奖得主,已经建立起自己的容器与DevOps技术流派,成为服务器虚拟化的后起之秀。Docker生态环境正在不停扩张,其中有一些项目获得了Red Hat和Capital One的赞助。

开源协作的兴起:Facebook短消息与Skype个人应用的成功点燃了在企业办公室内寻求相似解决方案的需求。实时通讯工具如Slack与GoToMeeting获得了广泛的应用。这些专利解决方案正面临着开源替代产品的竞争。替代产品所有的功能都与原版相同,而且不会被锁定。

人工智能的复兴:我们距离真正的有情感的机器人可能还有一段很长的路要走,但是深层次的机器学习技术已经能够应用多层处理技术搭建人脑神经网络模型,让计算机获得了自学能力。

1.Rocket.Chat

Rocket.Chat是一个为想要在自己的企业中托管聊天服务所搭建的开源网络聊天平台。Rocket.Chat所采用的模块化的包方式让人印象深刻,提供了从简单的文字信息与emoji表情支持,到面对面的视频会议、多用户音频会议、屏幕共享和更多的功能。Rocket.Chat为OS X、 Windows和Linux都提供了原生的桌面应用版本,为iOS和Android提供了移动应用版本。它甚至还有一个原生的Firefox OS应用,可以同时用于桌面端与移动端。因为开源的缘故,所以它已经成为了开发者搭建与开发自己的聊天平台的重要选择。

2.Mattermost

Mattermost是Slack的另一个开源替代应用,它的故事始于一项HTML5游戏开发。Mattermost建立的初衷是作为游戏门户并且帮助游戏玩家在Facebook之外进行信息交互,然而它被逐渐重铸为一个企业协作解决方案,用于帮助提升企业内部的通讯服务水平,其结果则是诞生了这个由Go语言和React框架搭建的开源的本地Slack替代方案。

Mattermost通过一个直观的界面将企业所有团队沟通集成在一起,不仅方便搜索而且在任何地点都可以访问。用户通过电话和个人电脑共享信息和文件,在保证虚拟通讯的同时确保私有IT基础架构的安全。Mattermost的接口与Slack相兼容,而且支持访问Slack开发的第三方软件。Mattermost提供了两个版本,其中一个用来支持1到50人的小团队,另一个则针对成百上千人的大型企业。

3.Hubl.in

视频会议解决方案如Webex和GoToMeeting已成为许多企业办公环境的标准工具。这些解决方案由于历史的原因,对许多专利桌面应用具有严重的依赖,但新的网络浏览器正在改变这一点。

Hubl.in是一个免费开源的视频会议解决方案,它的制作者也是制作OpenPaaS协作平台的开源软件公司Linagora。Hubl.in应用了免费的基于浏览器的视频会议技术,不需要任何插件,将实时通讯提高到了一个新的水平。OpenPaaS 团队在页面上张扬的宣称:“只要你能看到这段话,你就可以立刻使用Hubl.in”。Hubl.in基于WebRTC技术,实现了不同浏览器间分散的通信方式。这意味着你的视频并不会以任何形式的视频流经过Hubl.in,提高了安全性,并且提供了一个额外的隐私保护层。

4.MXNet

深度学习技术的目的是应用多层处理技术搭建人脑神经网络模型,让计算机获得自学能力,然后通过网络为其灌输大量的数据与知识。

MXNet是一个轻量级的深度学习图书馆项目,创建者是DMLC、CXXNet的内部人士,Minerva与Purine2,主要应用的课程是符号混合和命令编程。MXNet的核心使用的是动态依赖调度程序,能够快速自动化同时处理符号和命令操作。顶部的图形优化层使MXNet同时拥有速度和内存效率。这个图书馆是便携式和轻量级的,很容易扩展到多个GPU和多台计算机。它甚至可以在智能手机上运行图像识别等任务。DMLC的研发团队致力于制造大型开源机器学习项目,为此,MXNet也包含了整套的用于建设深度学习系统的蓝图和指南。

5.Bazel

无论是大企业还是小企业都知道需要快速有效地开发软件才能保持竞争力。Google在这方面很擅长,所以它也无私地把Bazel这个内部软件构建系统贡献了出来。

Bazel开发模式下所有项目都是从同一个共享的源代码库中开发出来,这样能够加快构建过程,提高可靠性。测试和发布都可以自动化完成,使用并行和缓存技术加快处理速度,特别适合大型代码库、多语言、多平台和密集测试项目。Bazel的核心功能在Google的工作环境中已经得到了苛刻测试。当前的迭代版本支持Linux and OS X,但还不支持Windows。

 

 

6.React Native

移动应用开发者经常面临艰难的决定:应该使用Android或iOS的原生工具来建立项目,还是选择一个跨平台的解决方案?一方面,原生应用速度更快,用户体验更好。但使用原生模式开发则意味着至少要使用不同的语言和框架编写两次相同的应用。大多数跨平台工具通常利用JavaScript让应用只写一次,但这样完成的应用往往表现不佳,用户界面也无法达标。

React Native是一个由Facebook赞助的开源项目,能让你同时拥有这两种方式。React Native框架应用React JavaScript库建立原生应用,让应用逻辑在JavaScript中运行,但用户界面则保持在iOS和Android的原生状态中。对于开发者来说,React Native代表着的是一种移动应用开发范式的转变:“学习一次,任意编写。” 

7.Kontena

Docker容器技术为DevOps团队的应用打包和部署工作带来了革命性的突破,但许多企业与机构在协调大规模容器管理时依然感到非常痛苦。

Kontena是一个开源容器管理解决方案,建造的目的就是帮助开发者“获得最大的幸福”。Kontena包括一系列成熟的技术和功能,用于加速容器开发与打破成功部署的障碍,其中包含了多主机、多AZ容器协调、Weave覆盖网络技术、VPN访问后端容器以及一个直观的应用部署工作流。Kontena提供了企业开发、部署、监控容器系统所需要的一切。它可以安装在任何云基础架构之上,完全开源,而且将很快扩展至Docker以支持Windows容器、CoreOS rkt和其他容器技术。 

8.Nulecule

Docker的开放容器提议精简了应用的打包工作,但对于多容器的应用实例来说,管理资产依赖与联系依然是非常困难的任务。

Nulecule项目将重点放在了复杂的多容器应用打包之上,同时保证所有实例的流畅部署。Nulecule由Red Hat所赞助,提供了用来管理资产关系的整体系统。与大多数容器系统将多容器应用看作单独的组件不同,Nulecule的复合容器方法提高了整个应用的灵活性和可移植性,建立应用细则,采用标准化方式来描述和封装多容器应用,同时在每个容器的镜像中包含了所有的依赖参考和业务流程元数据。 

9.InSpec

DevOps工作经常混杂着各种复杂棘手的遵从协议,这让开发过程变得缓慢。InSpec项目通过自动化的遵从性测试为开发铺平了道路,成为应用开发生命周期的一个组成部分。

InSpec开源框架提供了一系列复杂的功能用以指定遵从性、安全与法规需求,包括专门针对合规问题的测试、优先控制元数据标签和快速高效运行测试的命令行界面。 

10.Hygieia

在开源领域大举投资的并非只有高科技巨头。今年Capital One在寻找合适自己的DevOps仪表盘时发现无论是商业项目还是开源领域都没有很好的解决方案。因此,Capital One决定自己开发一个:这就是Hygieia,去年在Github上发布的一个企业DevOps仪表盘开源项目。

Hygieia为开发团队和业务领导在软件开发期间提供了简单的可访问全DevOps过程的快照视图。与传统仪表盘只覆盖开发流程的某一部分不同,Hygieia提供了一个全面的视图,通过两种形式体现:窗口小部件视图和管道视图。窗口小部件视图用来显示更详细的信息:目前的冲刺情况、代码贡献活动、持续整合活动、代码分析、安全性分析、单元与功能测试结果以及部署和环境状况。而管道视图则用来显示每个组件开发、测试和部署阶段的整个生命周期进程。 

11.Glucosio

当2015年5月开源贡献者Benjamin Kerensa被诊断患有2型糖尿病时,他意识到还没有哪种开源工具能够跟踪和他一样的糖尿病患者的血糖水平或其他指标。于是到了9月份,Kerensa就和他的开发小队发布了Glucosio--第一个开源糖尿病监测应用。

Glucosio能够输入和跟踪用户的血糖水平并通过应用助手提示用户保持水分或者检查他们的血糖。用户也可以选择匿名或实名报告自己的血糖趋势信息用以帮助糖尿病研究。Kerensa和Glucosio团队致力于提供免费的以用户为中心的糖尿病管理与研究应用。Glucosio目前已有20种语言的版本,在各大洲都可以下载。Kerensa还计划为研究人员提供免费的API用来访问匿名糖尿病患者提供的数据用以进行医学研究。 

12.荣誉提名:Vault

位于旧金山的创业公司HashiCorp最出名的是项目Vagrant:一个用来创建和配置轻巧便携的开发环境的工具。现在,他们推出新的开源项目Vault并称它为“安全管理你的秘密”的工具,这些秘密包括了API密钥、密码、证书、员工凭据和其他敏感资源。

Vault会对数据进行加密和解密但并不存储,允许安全团队定义加密参数,让开发者能够存储加密数据而无需自己设计加密方法。Vault甚至可以按照需求将这些机密数据生成用于AWS或SQL数据库的格式,然后在到期后自动删除这些动态秘密。统一的访问接口,严密的访问控制以及详细的审计日志可以让用户确认他们的秘密是安全的。 

13.荣誉提名:RancherOS

Rancher Labs开发出了一种高效运行容器的方式:一个微缩操作系统,除了装载着运行容器所需要的一切之外,别无其他。RancherOS实际上是一个20MB的Linux发行版,特别为以最简单的方式管理Docker容器而设计。这个想法类似CoreOS,但不同的是RancherOS 中的一切都是以Docker容器的形式运行,甚至操作系统本身。

RancherOS直接在Linux内核之上运行Docker,将所有用户空间Linux服务都分配为Docker容器,形成两个系统实例。System Docker实例启动所有系统服务(udev、DHCP、控制台),每种服务都运行在一个容器中。User Docker实例则在稍大的User Docker容器中创建唯一的用户容器。RancherOS通过容器提供功能更新,并且可以托管各种规模的容器管理平台(比如Rancher Labs的Rancher系统)。 

14.荣誉提名:OWASP安全知识框架

OWASP(开放网络应用安全项目)基金会是一个非营利社区组织,为网络应用安全提供资源与工具。许多网络开发者察觉不到安全风险和他们面对的漏洞。为此,OWASP SKF(安全知识框架)特别提供了一个免费的开源网络应用安全系统,也可用作开发者进行应用安全培训的工具。

SKF能够在整个产品生命周期对软件开发者提供支持,确保应用开发前与发布后的安全。OWASP-SKF框架对开发者用来编辑数据的技术进行分析,然后将数据与已知的安全漏洞进行匹配。SKF会在提供相关漏洞描述并给出解决方案实施反馈之后,验证安全补丁是否正确安装。