自2009年优步成立以来,开源软件一直是该公司平台及其基础技术成功的不可或缺的因素。从那时起,优步的工程师创建了新的开源项目,并利用和回馈现有的开源项目来构建我们的数据基础设施、微服务和移动应用程序。随着时间的推移,世界各地对我们服务的需求增加,需要更多的工程人员,随后需要更多的开源贡献。
认识到创建开源标准和优步最佳实践的必要性,我们推出了开源计划办公室2019年(OSPO)。我们的oso作为优步开源管理和文档的中心资源,监督一般的开源战略,建立政策和流程,消除使用或贡献开源的摩擦,以及其他职责。
建立我们的OSPO正式确立了Uber与开源社区的关系,为我们的工程师提供了必要的指导方针和结构,以确保对开源项目的适当贡献和使用。2019年,OSPO支持了优步工程师的大量开源贡献,同时促进了组织的成员资格,如城市计算基础,无人机互操作性的互通平台,而且lf presto基金会。
一个吉祥的开端
我们在开源后面的努力在InfoWorld命名为我们过去的项目之一时,在年初获得了提升,Horovod,作为一个2019年年度科技大奖得主。我们在2017年开设了Sourced Horovod,以使用Tensorflow启用分布式深度学习,为LF深度学习基金会贡献2018年。最近对Horovod的贡献扩展了对Keras,Pytorch,Pyspark和Apache MXNet的用途。
我们也很高兴看到烟花,另一个机器学习项目我们在2017年开放资源, 得到由LF AI基金会的技术委员会接受作为2019年初的孵化项目。作为一种概率编程语言,Pyro将深度学习和贝叶斯建模结合起来,以加速利用这两种技术的研究。雷竞技是骗人的
进一步增加了开源深度学习项目的组合,我们很高兴作出贡献路德维希,建立在Tensorflow之上的深层学习工具箱,让用户在没有编写代码的情况下培训和测试深层学习模型。独自一下,Ludqig通过更多的人进行深入学习,而开放采购允许开发许多新用例,并通过在工业和学术界领先的ML研究人员采用。雷竞技是骗人的
不过,2019年初的优步开源(Uber Open Source)并不完全是关于深度学习的。我们的数据基础架构也需要大量的内部创新,本着这种精神,我们把优步的一些顶级数据平台项目还给了更广泛的开源社区。这个领域的一个项目我们选择了开源,AresDB,不仅支持实时数据分析,而且利用GPU加速处理大规模查询。
管理一个为全球用户服务的平台,让我们的工程师拥有了丰富的规模开发经验,并为社区做出了很大贡献。我们在2019年初为社区提供的另一个解决方案,Peloton,组合计算群集,管理资源以获取不同的工作负载。此统一的资源调度程序在云和内部部署服务器中工作,允许规模,工作负载优先级和资源优化。
在过去,我们的可视化团队展示了与流行项目的开源的承诺,如kepler.gl.和Deck.Gl.,今年,我们将我们的公共可视化套件又向前推进了一步住客,自动驾驶汽车可视化的开放标准。我们设计AVS是为了促进自动驾驶汽车的发展,它提供了一个工具,可以从任何类型的车辆传感器获取数据,并创建一个可视化的传感器如何感知其环境。以前每个从事自动驾驶汽车的组织都必须在内部开发这种类型的工具,现在任何组织的团队都可以利用AVS并根据自己的用例修改它。
社区参与
总的来说,我们在Uber保持着高速的发展,因为我们的工程师不断寻求改善我们平台上提供的交通和送货服务。我们的开源参与度与这一速度相符,正如优步工程师对开源项目所做的大量贡献所显示的那样。
除了这项技术工作,我们的OSPO还在寻找支持开源社区的机会。2019年中期我们共同创立了城市计算基金会(UCF)是一个在Linux基础的主持下的组织,专门用于开放的软件开发,可提高城市移动性,运输,安全和基础设施。作为初步贡献,我们将Kepler.GL的管理转移到UCF的基于开源Web的数据可视化工具。
在2019年,我们也提交Hudi,我们在2017年建造的一个项目支持低延迟的摄取和数据准备的HDFS, Apache孵化器。优步利用了Apache Spark、Apache Hadoop和Apache软件基金会的其他几个项目,所以把Hudi贡献给更广泛的Apache社区是非常有意义的。在孵化过程中,Hudi已经成为Hadoop生态系统中的一个重要框架。
接近年底,我们发现了另一个我们可以支持社区的地区,共同创立LF Presto基金会。Uber工程师热情地使用和贡献的Presto是一个数据源 - 不可知的SQL查询引擎,它可以帮助我们的内部用户通过具有非常低的数据分析的数据分析来实现洞察力,使我们决定与其他领先的技术公司合作,找到LF Presto基金会一个简单的基础。
十月底,我们拍手叫好Jaeger的毕业典礼来自本地云计算基金会(CNCF)孵化计划。jaeger.这是优步于2015年创建的分布式追踪平台,帮助企业追踪和排除基于云的架构。2017年,CNCF接受Jaeger为孵化项目。随着Kubernetes和CoreDNS等项目的发展,Jaeger成为了一个成熟的CNCF开源项目,因为开源社区参与了它的开发,并被更广泛的行业采用。
10月份还考虑了对我们开源项目的进一步自主认可信息世界授予专横,对顶级开源项目给予的识别,以及Ludwig和海妖。正如上面提到的,Ludwig使得深度学习更容易使用,而Kraken则无缝地大规模存储和分发Docker图像。
12月,我们宣布我们的一致性化学规范是一个广泛采用的Linux基金会的伞形项目,它定义了业务工作流程中的拐点,其中应该存在开放的源许可证合规性更简单,更加一致。通过遵循本标准,我们可以继续在我们的开源伙伴关系和更广泛的社区中建立信任。
最后在2019年,我们非常乐意宣布开发/任务<> Uber Coding Fellowship,这个计划结合了我们对开源的支持,以及在工程社区内促进多样性和包容性。这家总部位于旧金山的非营利组织开发/使命提供免费的编程课程,指导和资源,以帮助非代表性社区的年轻人在斯蒂芬领域找到职业生涯。与2017年以来的开发/使命合作,我们现在已经推出了优步编码奖学金,优步工程师将从DEV / Mission如何使用Git和Node.js等开源工具和框架(如Git和Node.js)教授八个校友。
2020年的优步开源
开源软件的良好记录值包括代码透明度,成本效益和广泛开发人员基础的属性。开源软件项目从大数据扩展到人工智能到前端工具。事实上,这是不可能想象优步的现有工程文化而没有它。
认识到开源软件及其社区对优步的价值,我们的oso将继续支持开源项目的可持续性。我们期待着在2020年为开源项目和社区做出更多的贡献。







