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