“轮到谁准备 JavaCar 演示了?”我问我的同事。正如我所预料的那样,答案是:“你!”
然而,我并没有太失望,因为我很高兴展示我们在 Sun Microsystems Labs 团队所构建的东西。我们的 JavaCar 遥遥领先于时代——一个用于车载网络、远程信息处理和信息娱乐的车辆测试平台,而所有这些概念在当时的主流中尚不存在。
因此,我开始仔细地启动演示,并使用喷雾瓶快速擦拭车辆,然后再向另一批来访的高管展示汽车。当我这样做时,我突然回想起过去六个月的开发——我们是研究机构内部的一个三人团队,但我们已经从公司多个团队的 15 位以上不同的个人那里获得了代码贡献,才使这个演示成为现实。
虽然那天我没有想太多,但那个项目已将我推向了开源事业。
内源 & 社区
在完成 JavaCar 项目后,我着手尝试收集 Sun Microsystems 各处的“零散”项目——那些被很多人使用,有时以多种不同形式或版本使用的项目。当我从 Sourceforge.net(当时它还是开源的)获取 PHP 代码库并在 Sun 内部构建了一个内部 Sourceforge 实例时,我第一次真正接触到开源。
我还第一次意识到,仅仅为问题构建工具是不够的——我花费了大量时间寻找项目、说服人们,以及将 Sun Labs 内外的不同团队联系在一起。我是一名内源社区经理;只是当时我还不自知。
在我离开 Sun 之后,我在一家创业公司工作了一段时间,在那里我的开源和社区技能并没有真正被需要(除了偶尔使用一些开源软件)。然而,我的下一站是摩托罗拉,在那里我继续从事工程师的工作,为 Linux/Java 手机平台开发嵌入式软件。
接下来发生的事情改变了我的职业生涯,并进一步将我推向了开源和社区管理的世界。偶然地,我在摩托罗拉找到了一个为公司构建了内部 Sourceforge 版本的人——听起来熟悉吗?我和他开始聊天,不知不觉中,我开始帮助他管理该站点,并编写扩展程序和其他 PHP 代码来改进该站点的功能并将其与其他摩托罗拉系统集成。我们还将小的更改贡献回了代码库和我们依赖的其他开源项目。
我们的站点在内部变得非常受欢迎,公司的大部分人开始使用它。我们聘请了一个两人团队来进行技术和日常管理,而我(不情愿地)更多地成为了一名社区布道者/战略家。然而,这一变化将我推向了定义我今天职业生涯的方向——谈论、教育、宣传和指导他人关于开源(和内源)软件和方法的重要性及好处,所有这些我都非常享受!
蜕变完成
我经常开玩笑说,我不再以技术为生,我只是谈论它。虽然我偶尔仍然会使用 shell、Perl 或其他脚本语言进行 hack,但我主要致力于帮助公司成功地使用开源(包括将相同的原则应用于内部协作)。
我曾花时间帮助 Red Hat 构建战略性开源咨询服务,为三星启动开源小组做出了贡献,现在我正在 Autodesk 指导开源战略工作。通过这段开源和社区的旅程,我学到了什么?
- 不要害怕尝试新的方向,尝试可能让你感到不舒服的事情。
- 关系(即使是虚拟的关系)很重要——它们可以帮助你完成事情。
- “尽早发布,经常发布”不仅适用于代码。
我对任何刚开始接触开源的人的建议很简单:保持谦逊,但要大胆。开源的伟大之处在于你可以产生巨大的影响,但你必须在社区的范围内做到这一点,并且学习如何在有时具有挑战性的人际关系中发挥你的最佳水平是一项只能通过实践获得的技能。
5 条评论