Open ShannonChenCHN opened 7 years ago
相比原来所从事的传统机械行业,显然,我更喜欢 IT 这个行业,正是互联网的开放,才让我看到更大的世界,才知道自己的渺小。
『Open sourcing Swift code』 的作者正是知名开源库 JSQMessagesViewController
的作者 John Sundell,这个开源项目目前在 GitHub 上的 star 数已经超过 10 k了🙈。在这篇文章中,作者分别从 Why,What,How 这几个角度,大概讲了一些关于开源的实用建议。
可以将项目中一些通用的、功能单一的模块抽取出来,比如:
重要: 我们开元出来的不一定要非常酷,也不一定要到达前无古人的程度,真正重要的是能把我们项目中一些能够帮助到别人的代码,分享出来。
读后我转发了作者关于这篇文章的 twitter 帖子,得到了作者的回复。随后,我又提了两个问题,作者很快又认真回复了我:
Me: How can I get involved in other people's open source project? John Sundell: I recommend fixing bugs & adding new features to projects you already use. Me & @_inside talked about it here: overcast.fm/+Jxstx4Apg/39:… 🙂 这个问题讲的是如何真正地参与到别人的开源项目中去,John 给出的答案是:
- 使用别人开源的项目
- 修复你所使用的开源项目中的 bug
- 往别人开源的项目中添加新功能 最后 John 还提供了一个 podcast 的链接,他在这个节目中跟别人讨论过这个话题。
Me: How can I get more people to know my own open source project? John Sundell: Keep working on it to make it really polished & useful for others. Create a great README & documentation. Then tell people about it 🙂
第二个问题是,如何让更多的人知道我自己的开源项目。 John 认为,
开源需要贡献、需要付出,但在贡献和付出之前,首要的是去了解、去使用已经存在的。
不要去做「纯调研」,更笨但更有效地做法是,直接去用,在项目真正使用过程中,才能深触地感受到这个项目的优缺点。拿来主义不光能省去开发成本,还能让你扩充见识和想法,而不会成为井底之蛙还茫然自得。
在开源世界里,参与比主导更重要。做开源不仅仅是指开源自己的代码,其实还包括提反馈意见(issue)、分享使用体验、完善文档、添加测试等等。在参与别人的开源项目时,不光是技术水平上的提升,还包括读写能力、沟通能力、英语水平等多方面的提升。
开源的是社区,代码仅是很小的一部分。没有社区的活跃性,开源项目源码会一直停留在「孤芳自赏」阶段。一个比较好的开源方式是:有了好的想法,就分享出来,最初的代码展现基本的思路就好,然后通过社区的参与,不断往前演化,让大家都成为开发者,群体的力量远大于个体。