实际上, 保持动力的第二个方法仍然是 "多报bug". 当你报的bug足够多的时候, 可能会发现只要你一段时间不上网, 邮箱里就有很多bug邮件等着你处理, 可能是开发者发布了新补丁等你帮忙测试, 也可能是一组相关联的bug状态发生变化需要重测, 这时候bug reporter的作用就很重要. 如果不回复, 开发者的工作就可能被阻塞, 意识到这一点, 就会加倍感受到自己在社区中的价值. 如果我说保持动力的第三个方法仍然是多报bug, 那我一定会被读者骂死 :) 其实, 在我看来, 保持动力的最终极办法, 就是跟开源项目的其他贡献者成为朋友. 加入一个国际性的开源项目, 可以认识到地球上不同角落的朋友, 也许有的角落你一辈子都没有机会到达, 但是那里有个跟你素未谋面却一样为同一个开源项目做贡献的人, 这是多么神奇的事情! 如果你得到某个老外的帮助, 一定要记住她/他的名字, 虽然老外的名字很难记; 如果你得到别人的鼓励, 也不要忘了鼓励别人, 大牛和菜鸟一样都需要鼓励. 如果你跟世界各地的开源项目贡献者成为朋友, 就会加倍享受到开源的乐趣, 那个时候, 地球人都无法阻止你报bug了... 既然决心报bug, 就千万别浪费一边扫地一边偷学的好机会, 这正是扫地僧的真谛所在. 开源社区里虽然不需要"偷", 但要观察到别人忽略的东西, 学到别人没学到的东西, 也需要 "留心", 所谓的 "偷学" 其实就是分外留心地观察和学习. 只要有心, 报200个bug可以学到很多东西.
值得强调的是, 如果你的目标是从报bug入门进阶为开发, 那么从一开始就应该订阅开源项目的patch列表和devel列表, 一开始读不懂不要紧, 长期耳濡目染, 量变可能会引起质变, 这也是一种"扫地". 如果你像我当初一样对自己的开发能力没有足够自信, 这种看似曲折的道路可以大大降低入门开发的门槛, 不知不觉增长信心. 如果你还是没信心, 想一想5000美金吧 XD 除了这些能直接学到的东西, 报bug还能带来很多间接的好处.
报bug能学到很多东西, 可惜很多东西记录不下来, 记下来的也可能会失真. 这也正常, 如果读一读别人的分享就能学到这些东西, 那又何必亲力亲为去扫地? 如果真的报了200个bug, 一定会充分掌握扫地僧骗钱大法, 申请GSoC成功的概率一定会很大. GSoC的学生需要在申请时说明自己想要为项目做什么贡献, 尽管GSoC的合作项目会提供一些可选的任务, 但更鼓励学生提出自己的idea. 如果你对项目很了解, 就容易提出自己的idea, 不会跟其他学生撞车. 如果你对项目很了解, 就会对不同任务的难度心里有数, 申请成功后也容易实现目标. 其实大多数被拒绝的学生, 不是idea太难不现实, 就是idea太容易骗钱意图太明显. 骗钱可以, 但不要太明显 ;-) 其实, <<做一名开源社区的扫地僧(上)>>, 到这里就可以结束了. 也许有人会困惑, 这才刚讲完扫地, 还没开始讲骗钱, 怎么就结束了? 有这样的困惑, 正是纸上谈兵的后果. 如果真的按照扫地僧打怪升级的道路去做, 会发现对自己帮助最大的人, 其实是开源项目中的前辈, 而这篇文章最大的作用无非是引诱多几个人去尝试, 真正的价值不大, 属于读过就可以忘掉的类型. 开源项目的前辈, 有的就是GSoC的潜在导师. 骗钱事宜, 都是导师说了算, 所以最重要的还是赶紧找个项目去跟潜在的导师混熟 ;-) 正经地说, 这篇文章希望探讨的问题不仅仅是骗钱, 而是这么一个老大难的问题: 应届毕业生找工作难! 没有工作经验, 所以找不到工作; 找不到工作, 所以没有工作经验. 其实对于未来码农来说, 解决这个问题的办法很简单, 只要愿意在开源项目中找一份扫地的活干, 花个大半年的时间报一两百个bug, 就能积累一定的经验, 这个时候去找测试岗位的实习 [广告1], 肯定很受欢迎, 而有了开源项目经历和靠谱的实习, 肯定不怕找不到工作. 在开源项目中扫地扫久了, 还能逐渐进阶入门开发, 如果成功参加过GSoC, 就更不愁找不到工作了. 当然, 参与开源项目实践, 也不能包治百病. 比如, 参与开源项目不能代替学习计算机基础和算法基础, 不能代替阅读好书. 不过, 多实践对于明白需要学什么会很有帮助, 实践遇到瓶颈的时候也会更容易发现自己读书不够. 再比如, 参与开源项目也不能代替企业的实习经历, 实际上两者都能学到很多东西, 但两者互不可替代. 不过, 如果有开源项目的实践经历, 对于寻找更好的实习机会肯定大有帮助. 希望这篇文章对在读本科新生或者研究生新生有帮助, 尤其是对开源感兴趣却不知如何入手的同学, 或者对开发感兴趣却经验不足的同学. 开发能力很强的同学请不要被这篇文章误导, 你应该向 google-opensource.blogspot.com 中记录的优秀案例看齐, 争取成为下一个优秀案例, 扫地的路径不一定适合你, 我这种骗钱的技俩也不应该是你追求的层次 ;-) GSoC每年报名申请的时间是4月份, 现在开始扫地距离GSoC2013还有半年的时间, 其实很充裕. 对于接近毕业面临就业压力的学生, 现在开始扫地合不合适我就不知道了 :P 我有一个小小的愿望, 希望以后国内的大学生争先恐后给开源项目报bug, 通过报bug入门参与开源项目, 紧接着成功申请GSoC, 并且在骗完钱之后仍然继续给开源项目做贡献 ;-) 希望将来本科生参与开源项目就像现在的本科生参加数学建模竞赛, ACM竞赛, XXX软件开发比赛一样多. 想一想哪个比赛有5000美金, 就知道谁吸引力大了 XD 我还有一个大一点的愿望, 希望将来我们可以在国内举办比GSoC更大规模的夏令营, 鼓励和支持更多的学生为开源项目做贡献. 每年1000多名参加GSoC的学生中, 印度学生和美国学生是最多的, 都有200人上下, 而中国学生只有50人左右. 如果有更多中国学生愿意走"扫地僧路线", 我相信人数翻一翻两翻完全不是问题. 但是如果大家真的争先恐后都去申请GSoC了, 肯定也没办法全部申请成功, 毕竟机会有限. 我希望我们能够举办一个"本土化类GSoC", 提供更多的机会, 当然这需要钱. 其实现在很多学校都喜欢举办ACM/数模等的院赛和校内赛, 是否以后也可以多举办一些院级或校级的"报bug扫地夏令营"呢? 有人会问, 如果扫地捉bug的人多了, 僧多bug少怎么办? 我只能说, 我非常期待没bug可报的那一天 ;-) 其实很多开源项目每年"制造"的bug远不只200个, 比如Wine项目, 从2011年到2012年就增长了3500个bug. 粗略估计, 凡是ohloh.net上活跃贡献人数排名前1000的项目, 每年都能制造成百上千个bug:https://www.ohloh.net/p?page=100&sort=active_committers 如果你不信, 你给我钱我找给你看 XD 活跃的开源项目其实是一直在发展中的, 简直可以说是批量生bug, 所以bug是永远捉不完的... 从捉bug入门进阶开发, 不是新鲜事, 我只是跟随前人的脚步走, 应该感谢扫地的前人. 刘未鹏写过一篇文章, 叫做 <<怎样花两年时间面试一个人>>, 我的扫地僧计划有很大程度上受到了这篇文章的启发, 所以我还应该谢谢刘未鹏 ^_^ <<做一名开源社区的扫地僧>>, 其实就是从学生的角度出发, 对 <<怎样花两年时间面试一个人>> 的理论进行实践. 有(上)自然有(下), <<扫地僧(下)>>也大致预谋好了, 但现在仍不能剧透, 否则一旦失败就变成搞笑剧了 冏 其实, 最完美的结果是, 这篇文章的学生读者, 将来写出成百上千各种版本的 <<扫地僧(下)>>. 虽然文章的标题叫做扫地僧, 可是文章的内容其实是"山寨扫地僧", 为了呼应金庸原著中的绝世扫地僧, 在结尾向大家介绍Wine社区的扫地高僧 Anastasius Focht, 十一年来他分析了成百上千个bug, 他的bug report就是Wine的调试教材...http://goo.gl/TxIvZ 最后, 感谢我的GSoC导师Aric Stewart, 在Wine的开发中给我很多帮助. Aric Stewart是日本人, 我们都希望中日和平友好. 我相信开源不分种族性别信仰和国界. 感谢 Dan Kegal, Bruno Jesus, Austin English, André Hentschel 等帮助和鼓励过我的开发者, 尽管他们看不懂中文 :-\ 感谢Google Open Source Team, 8年来为培养开源社区新人做了很多贡献, 特别要感谢 Carol Smith, GSoC的成功举办离不开她. 亲爱的读者, 如果你读到这里才想起自己已经不是学生, 猛然意识到GSoC骗钱已经与你无关, 那我只能说非常抱歉, 骗你读了这么久... 如果你想报复社会, 就转载这篇文章吧... 小调查: CrossOver (Wine的商业版) 将专门为中文用户提供中文技术支持以及特别优惠. 如果你有时间, 请花3分钟做一份关于 Wine / CrossOver 的调查, 一共只有6个问题, 非常感谢!http://goo.gl/aEfE4 Qian Hong fracting AT gmail DOT com 2012-10-12 [注1] 要了解技术性的内容, 可以看一下我的 "分享Wine调试经验" 系列, 比如:https://groups.google.com/forum/?fromgroups=#!topic/gzlug/dGet0BGOikQ [广告1] 代Kexin姐发个广告: 红帽北京长期招内核测试实习生, 欢迎在校学生投简历, google一下就可以找到相关信息. 如果感兴趣但担心自己达不到要求, 我建议从扫地开始 ;-) 如果扫地扫够了准备出山, 也可以发信问我要Kexin的联系方式. 想通过手机客户端访问开源中国:请点这里 |