原文:Top Open Source Projects In 2017
作者:William Belk
翻译:雁惊寒
今天,让我们一起来看一下2017年开源界的八个顶级玩家。下面列出的几个开源项目反映了开源社区在过去几年来发展的成熟度。这里列出的所有项目(Lab41除外)都是在2014年及以后发布的,每个项目都在各自的社区里发挥着重要的作用。
TensorFlow
Google的TensorFlow发布于2015年,它是一个可扩展的基于神经元的机器学习库。我们可以使用TensorFlow构造流水线来对图像和文本这类东西进行分类,甚至还可以构造出更复杂的问题场景,例如“X类型的用户会买Y吗?”。
许多行业目前对于机器学习的研究或应用还只是流于表面。尽管在我们的意识中一直认为自己可以用AI来实现任何目的,但机器学习还是会受到计算资源和数据训练的限制。在未来的几年里,数据的训练可能依然是大家忽略的问题,许多人低估了能够解决复杂问题所需的可靠训练数据的数量。也就是说,机器学习是为真实场景服务的,并且会很快出现在我们每天使用的很多应用程序之中,隐匿于应用程序的底层。我们还将看到许多有趣的项目和展望,这些来源于机器学习的东西说明了目前还存在着太多的公开数据可供使用。
如果你想了解更多有关TensorFlow的内容,请查阅这篇来自于Google的博文。
Hyperledger
Hyperledger发布于2015年,由Linux基金会赞助,旨在推动区块链技术在未来商业的应用。 Hyperledger开发了模块化的工具,可以作为分布式区块链基础来解决各种商业问题,包括合同安全、匿名账户和身份管理,以及基于社区的历史交易记录。
Hyperledger已经使得IBM、思科、红帽、VMWare,摩根大通、富国银行、埃森哲等公司对其产生了巨大的兴趣。
Node.js / React Native
我们得承认 Node.js 社区的胜利,它现在无处不在。Node.js使得新一代程序员在服务器端编码方面摆脱了束缚。我们在谈论React Native的时候,不能不承认Node.js将继续在软件工程领域保持强劲的势头,特别是对于消费者和移动应用。
React Native于2015年推出,并且许下了一个美好的愿望:只使用一个代码库就能将应用程序部署到多个平台上。例如,使用单个代码库来为苹果iOS、Android和Web编译应用程序。
这为什么是一个诱人的想法呢?对于消费者网站而言,我们可以使用最常用的语言:javascript。我们无需把团队根据不同语言的特点拆分开来,例如javascript、ruby/python/php、java、Objective C。我们可以快速地进行构建。我们可以利用本地设备组件来解决像图像处理这样的“硬骨头”。我们可以只维护单个应用程序,然后将其核心应用分发到每一个需要的平台上。
React Native还有哪些酷炫的地方呢? 应用广泛,就像Facebook、特斯拉、Airbnb、Instagram、腾讯、彭博和Uber一样。
Dolores
公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
三个关于OA办公系统的究极问题,从开源的OA办公项目-Dolores(朵拉)诞生迎刃而解了。Dolores项目遵循Apache Licence 2.0 开源协议,可以直接拿来用,也可以修改代码来满足需要并作为开源或商业产品发布/销售。
Kubernetes
当Google在2014年发布Kubernetes的时候,这个项目的前途看起来很光明。该项目的目标非常远大,试图解决在多个层次、组和角色之间对分布式服务器容器协调的问题。例如,一家公司可能在四个城市的三个环境层(开发、预备、生产)上运行了200多个容器,这管理起来非常头疼。
我们必须要承认,在过去的几年里,虚拟服务器协作在大型企业的复杂部署中占有举足轻重的地位。这是Amazon Web Services目前如此成功的其中一个原因。即使像Docker这种虚拟化的容器部署逐渐兴起,但问题依然存在。公司必须依靠脆弱的开源项目、昂贵的专有平台或者依靠广泛的内部工具来管理虚拟集群和容器。
在大规模的容器协作方面,Kubernetes似乎明显处于领先地位,并与纽约时报、高盛、SoundCloud、Box、Comcast 和 易趣 等用户建立了合作关系。
Lab41
虽然Lab41本身并不是一个开源项目,但它提出了一些有趣的问题,进而引出了一些开源代码,并对开源社区做出了一定的贡献。它展示了开源原则、风险投资和政府优先事项的交叉点,这是一个非常独特的东西。
Vault
如果你看看下面这张有关全球数据泄露的交互信息图的话,就能马上理解为什么Vault如此重要了。
由于凡信的1.0和2.0都是基于环信SDK 2.x系列开发,而当前环信官方力推的是3.x的系列SDK,在此背景下,作者决定将凡信迁移至3.x的demo上。迁移的同时,对存储机制和网络接口做了一定的优化。与此同时,针对时下火热的直播APP,结合环信的聊天室功能和ucloud,做了两个模块-观看直播和进行直播;针对IM场景中常见的发红包/抢红包,集成了由环信提供的红包SDK,对于想做红包以及账户管理的开发者,是一种非常值得推荐的解决方案,一是开发者不用头疼于安全问题,以及开发中逻辑不严谨导致的资金转移丢包的问题。