放代码,钓工程师

“你了解Facebook的开源软件项目吗?”

每面试一位工程师,Facebook前开源项目负责人James Pearce都会不厌其烦地再问一遍。

Pearce坚定这个问题有重要的统计意义:根据此前调查,不仅有3分之2员工在加入公司前认真了解了其开源代码,还有半数员工认为开源代码促使他们选择了Facebook。

Pearce因此总结出一条定理:

开源代码的香气能够吸引方圆千里的程序员前来觅食

这么想的不只Pearce一个人,据美国股权众筹平台AngelList统计,超半数美国初创公司愿意开放代码。

开源的考量可能是多方面的,这些公司主导的开源项目更多的是出于公司角度考虑:比如想抛砖引玉吸引各类大侠提高软件质量,比如为了彰显实力打击对手,更有可能,公司想塑造良好的口碑吸引一流的人才。

GitHub联合创始人Tom Preston-Werner也赞同这个观点,认为聪明的开发者关注聪明的代码,当开源出实用的代码时,就能吸引人才。

不过也得讲究技巧——

“营销”代码

放福利的这波操作怎么打决定了效果的好坏。

AngelList认为,想要在开源代码中捕捉到更广泛的人群,必须用市场营销的思路对待每个开源项目,有三点小建议:

1. 写任何工程师都能看懂的开源代码

各路大神,代码开源真的不是自嗨鸭,求求您别开只有内部人员才能看懂的公司笔记了行吗?

敲黑板,想让各方编程大神看到公司代码甚至贡献一份力量,一定要把这份代码写得清楚好理解:

  • 代码重构得尽量简单
  • 名称、空格等要遵循约定俗成的样式
  • 用环境变量替换私密信息
  • 注明代码里的上下文环境

总之,不管出于什么目的,总得先捕捉到更多受众,扩大潜在影响力。

2. 把技术文档当成销售文案

撒了大网想补到大鱼,你得让其他工程师相信你的项目值得他去了解、学习、甚至添补。

  • 阐明项目的意义
  • 解释你希望贡献者提供怎样的帮助
  • 列出这些技术的参数、依赖软件和许可证书
  • 为特殊案例提供易于访问的参考资料

3. 宣传你的项目

每天,GitHub上都会收到82000个新上传的项目,想让你们自己公司的项目在众多项目中脱颖而出,还得讲究合适的方法。

  • 在其他论坛/社区(如Hacker News、Reddit、Tech Ladder)上发布自己的项目,吸引更多的潜在人群
  • 去一些相关的社交网站、平台引发讨论(如Product Hunt、Gitter、Dev.to)
  • 利用起自家资源宣传一波,如邮件告知、社交媒体推送等

使用其他营销策略,把自己当成产品去宣传就是了。

纷纷热议

没想到,这样一个“2B”的话题,竟然引来C端用户的热议。

不到一天,Hacker News上已经有100+条评论了,可以看出,每一条评论的篇幅都不短,看来都被发布者精心编辑过:

评论中呼声最高的是不赞同的声音,用户fipple认为,Facebook之所以乐意开源更多代码,还不是因为它的主要价值是来源于社交网络,而不是这些代码。

所以fipple觉得,当代码成为一个公司关键价值驱动因素时,自然不能天天开源了,难道要把自己的饭碗拱手于人?

“谷歌能开源Waymo无人车的代码吗?”也有网友附和。

这样想的不只美国人民,在知乎问题《为什么很多美国IT公司愿意开源自己的某些代码》问题下,也有不少国内网友提供的自己的看法。

其中,ID为刘缙的网友在回答赞同数最多,他表示很多中国公司也愿意开源,代码不都是核心竞争力。

要是公司不想开源,那也有自己的苦衷:

“大部分时候开源的最大障碍是代码写得太烂又缺文档,放出去怕给公司丢人。”他说。

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2018-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券