带我走出程序员中年危机的开源项目,刚刚从LF AI & DATA基金会毕业了
Posted AI前线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带我走出程序员中年危机的开源项目,刚刚从LF AI & DATA基金会毕业了相关的知识,希望对你有一定的参考价值。
程序员最害怕什么?按照我的排名,第三位是上班 996、虚耗生命;第二位是年终 325、一年白干;排名第一自然是自己倾注了大量心血研习的技术突然被淘汰了。还有更糟的吗?!有,就是那时候你已经过了 35 岁。
我,恰好遇见了最糟糕的情况。而那带我爬出深坑的绳子,叫做“开源”。
2004 年,我北大毕业加入宇宙行的数据中心,成为了一名支持大半个中国区核心系统的数据库工程师。我那时接触的技术平台,自然是“高端”的 IBM 大型机 Db2 数据库集群。给高端打上引号并非是反义或者嘲讽,而是为了强调 IBM 大型机一贯的两个标签:技术先进、价格昂贵。那时的我信奉技术至上,相信更先进的技术未来必有一席之地。
不过,我很快发现宇宙行的大型机团队规模增速远不及小 / 微型机团队。也许这是因为甲方部门的发展空间有限?没关系,我可以去到乙方服务整个中国银行业。于是我加入 IBM,成为大型机数据库售前工程师。到了 2010 年左右,生意真是越来越难做了,市场上到处都在喊“去 IOE”。也许这是中国国情所致?没关系,东边不亮西边亮,我还可以加入美国的银行呀。于是我加入了大摩的 IT 部门,这下总能安稳做技术了吧。
可惜美好的时光是短暂的。安稳日子没过 5 年,连美国的银行都开始将核心系统下移到 X86 服务器,甚至尝试使用开源数据库,你们也去 IOE,这是什么道理?技术至上的逻辑出了什么问题吗?
虽然没有哪一个开源数据库敢说自己打败了 Oracle 与 Db2,但不妨碍开源数据库以及开源软件得到越来越广泛的应用。在很多行业,开源软件开始侵蚀传统闭源软件的市场份额。从技术角度来看,这似乎是一种“逆向淘汰”。“免费的往往是最贵的”,很多人这么嘲笑开源软件用户只是贪图便宜。
但要探寻技术至上逻辑的漏洞,首先得放下成见。我问自己,“技术至上”究竟是 IT 产业的逻辑,还是我的一厢情愿?技术上的“逆向淘汰”在 IT 产业一而再、再而三地重复上演。比如,小型机在很多领域替代了大型机,而微型机几乎已经彻底淘汰了小型机。从技术角度看,这实在是反直觉。但如果换个角度来看,我们就会有不一样的答案——IT 能力的普及。
IT 产业的逻辑链里不单有技术因素,还有经济因素。在小型机代替大型机、X86 服务器代替数据库集群等大趋势成型的临界点上,往往不是我们有了更先进的新技术,而是我们有了能大幅度降低成本且够用的新技术。简而言之,存在这样一个趋势:强大、复杂又昂贵的技术很有可能会被够用、简单、低成本的技术所取代。 虽然 X86 和智能手机已经把 IT 能力普及到了个人,但接下来还有物联网设备、自主机器人等等,只要 IT 能力的普及还未结束,这个趋势不会轻易停止。
想明白了这个道理,我开始探究是否存在这样一种可能——再也不用担心技术大方向更迭对程序员的职业生涯产生较大影响,通过参与开源软件社区来开拓出路。
当然,我所指的开源软件不是光光用了开源许可证的软件。
我所说的开源软件是一群人(贡献者),出于一个特定的主题(项目愿景),基于设定的规则(社区章程),共同开发的(开放协作)、使用开源许可证的软件产品。这为外部人员的参与提供了可能性。外部程序员如果能够深度参与一个开源项目,那么自然便可以对其施加一定的影响,他的投入就会更有保障。反之如果是闭源软件,或者封闭社区的产物,外部人员所花费的心力随时可能因为项目方修改技术路线而打水漂。所以,谨慎选择造神型的开源社区。
除此以外,在选择开源社区时,还需要考虑这个开源软件是否符合前文提到的技术趋势。提供足够功能这一点自不必说,我想提醒大家关注的是,该开源软件的功能是否足够单纯、与上下游的界限是否足够清晰。要谨慎看待那些大而全的开源项目,耦合度太高,鸡蛋都在一个篮子里。虽然短期来看学习成本似乎比学习多个项目要简单一些,但由于缺乏多样性,如果项目本身被淘汰,开发者付出的机会成本还是非常高的。
所以我认为,尽量使用多个小型 / 单纯的开源软件来构建系统。这样一方面可以参与到更多的开源社区里面,另一方面也可以抵御大型项目难免的系统性风险。
拳王泰森有一句名言:“Everyone has a plan until they get punched in the mouth.”关于“开源”的道理我们可以讲很多,但如何践行才是关键,尤其我脸上已经挨了一拳。学游泳的第一步是跳到水里,于是我加入了创业团队,和伙伴一起从头开始构建一个开源社区——Milvus 向量数据库,并将之孵化成为第二个从 Linux 基金会毕业的由中国团队发起的 AI 开源项目。这两年间的经历初步验证了前文的理论。
首先,我们需要厘清项目的愿景——为什么创造这个项目。当我们在 GitHub 上创建一个 Repo 的时候,需要的是只是一个灵感、一种信念。但如果我们想把这个 Repo 推荐给其他开发者,让他们加入社区,那么我们需要一个清晰的理念来打动他。以 Milvus 为例,我们想要传达的理念是端到端的 AI 应用构建模式非常低效、不灵活,应该采用更加模块化的方式,算法层就负责模型的事情,后续的部分交给 Milvus 向量数据库,从而大大提升 AI 应用构建的效率。
愿景(有的社区会称之为宣言)的作用在于,帮我们更容易找到那些有相同想法的伙伴,为社区的参与者建立一个共同的目标。
其次,我们需要明确项目的定义。通常我们会把愿景设置得宏大一些,但远大的目标需要一步步脚踏实地才能达到。作为起点,项目的定义要单纯一些、落地一些,以确保项目一开始就处于一种基本可用的状态。然后通过不断的迭代去接近最终的目标。Milvus 向量数据库的核心功能非常单纯,就是服务于 AI 场景中由模型生成的嵌入向量(embedding vector)。最初,不少人担心“功能这么单纯(不客气的说法就是‘单薄’),会有人用么?”这两年来的近千家社区用户,充分证明了功能纯粹的开源基础软件有着很强的适应性。
然后便是建立顺畅的社区沟通渠道。人与人之间的沟通是个永恒的话题,沟通方式也随着时代不断的演进,过去开源社区会主要依靠邮件列表来进行沟通,如今人们更倾向于 Slack 与微信群。不过即时聊天工具也有很明显的短板,噪音过大,讨论易受干扰以及内容难以沉淀。因此,论坛还是有很大的存在价值。
设置沟通渠道的时候,也需要考虑社区中不同人群的特点。一个活跃的社区通常包含这么几类人:软件使用者,代码贡献者,非代码贡献者等等。
对于软件使用者,他们需要在碰到问题时寻求解决的方法,因此对于 FAQ 型内容的沉淀有较高要求,可以考虑为他们设置论坛(比如使用 GitHub 自带的论坛功能)。而贡献者需要频繁展开讨论,对沟通的及时性、讨论结论的保存与分享有较高的要求,因此可以利用 IM 与一些在线文档工具。
由此可见,一个社区存在多种沟通渠道是很常见的。所以我们需要在项目网站上列出这些渠道以及这些渠道的使用指南,让用户与开发者更容易找到组织。
在开源的世界里,自身努力很重要,外部协作也非常重要。Milvus 项目在整个 AI 技术栈中和很多上下游项目有交界面。我们不能放弃这些互动的机会,但要和这么多不同的社区建立联系也不是件容易的事情。这里倒也有个取巧的方法——加入专项开源基金会。
专项基金会由于针对细分技术领域,其中的开源项目通常存在很多潜在的合作机会。Linux 基金会旗下专注于云计算的 CNCF 基金会是目前最广为人知的专项基金会,针对 AI 领域的另一个专项基金 LF AI & Data 基金会也是势头生猛,Milvus 项目在去年初便加入其中进行孵化。在基金会的帮助下,我们得到了很多合作和推广 Milvus 的机会,目前 Milvus 已经成为了毕业项目。
不过,加入基金会也意味着我们放弃了 Milvus 项目的商标等法律权利。很多人对此颇为犹豫,但这其实是开源社区最重要的一点,不要尝试去控制社区。来的都是朋友,而不是免费劳力。
我在开源中找回了技术的乐趣,希望你也可以。如果对 Milvus 项目感兴趣,欢迎在 GitHub 上搜索 milvus。要是能随手点个星,那就更好了。
个人简介:
顾钧,Zilliz 高级架构师,合伙人。北大毕业 16 年以来专注于数据库、大数据技术,尤其对 OLTP 平台与场景有着丰富的经验,先后任职于工商银行、IBM、摩根士丹利、华为等企业。加入 Zilliz 后,顾钧的工作着重于开源社区的构建与推广,代表 Zilliz 出席 LF AI & Data 基金会技术咨询委员会,并负责 Milvus 向量数据库在基金会的孵化工作。
自 2019 年 10 月开源以来,Zilliz 团队开发的 Milvus 向量数据库获得了广大用户的认可和支持,目前全球社区规模超过 10000 人、企业用户超过 1000 家。2021 年 6 月,Milvus 从顶级开源基金会 Linux 基金会旗下 Al 子基金 LF AI & DATA 毕业。
AI 应用落地作为一项非常复杂化的工程问题,在实际业务落地过程中面临许多难题和挑战。2021 年 9 月 3-4 日的 ArchSummit 全球架构师峰会深圳站上线《AI 工程化治理》专题,爱奇艺技术总监杨成伟作为出品人,邀请爱奇艺、腾讯、vivo 等技术专家,以 AI 的工程化实践为主,剖析 AI 在实际业务落地中面临的一些挑战以及应对之道。
点击底部【阅读原文】了解大会专题详情~大会 8 折限时折扣进行中,咨询票务小姐姐获取更多优惠:18514549229(同微信)。
今日荐文
看到曙光!国产14nm芯片将于明年量产,可满足70%生产需求
你也「在看」吗? 以上是关于带我走出程序员中年危机的开源项目,刚刚从LF AI & DATA基金会毕业了的主要内容,如果未能解决你的问题,请参考以下文章 如何渡过中年危机(四条路:1.专注本业,做深做强 2.走架构 / 管理路线 3.转行到关联行业 4.创业开个公司,最考验综合能力。提前做好自己的职业规划) 程序员如何解决中年危机?Flutter全方位深入探索,吐血整理