ShannonChenCHN / eureka

✍️ I read, I write, I think, I do, I learn, I code.
133 stars 13 forks source link

关于开源 #69

Open ShannonChenCHN opened 7 years ago

ShannonChenCHN commented 7 years ago
ShannonChenCHN commented 6 years ago

Open sourcing Swift code

相比原来所从事的传统机械行业,显然,我更喜欢 IT 这个行业,正是互联网的开放,才让我看到更大的世界,才知道自己的渺小。

『Open sourcing Swift code』 的作者正是知名开源库 JSQMessagesViewController 的作者 John Sundell,这个开源项目目前在 GitHub 上的 star 数已经超过 10 k了🙈。在这篇文章中,作者分别从 Why,What,How 这几个角度,大概讲了一些关于开源的实用建议。

1. Why open source?

2. What to open source?

可以将项目中一些通用的、功能单一的模块抽取出来,比如:

重要: 我们开元出来的不一定要非常酷,也不一定要到达前无古人的程度,真正重要的是能把我们项目中一些能够帮助到别人的代码,分享出来。

3. How to open source a project?

后续

读后我转发了作者关于这篇文章的 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 认为,

延伸阅读:

ShannonChenCHN commented 6 years ago

读 『什么是开源精神

  1. 开源需要贡献、需要付出,但在贡献和付出之前,首要的是去了解、去使用已经存在的。

  2. 不要去做「纯调研」,更笨但更有效地做法是,直接去用,在项目真正使用过程中,才能深触地感受到这个项目的优缺点。拿来主义不光能省去开发成本,还能让你扩充见识和想法,而不会成为井底之蛙还茫然自得。

  3. 在开源世界里,参与比主导更重要。做开源不仅仅是指开源自己的代码,其实还包括提反馈意见(issue)、分享使用体验、完善文档、添加测试等等。在参与别人的开源项目时,不光是技术水平上的提升,还包括读写能力、沟通能力、英语水平等多方面的提升。

  4. 开源的是社区,代码仅是很小的一部分。没有社区的活跃性,开源项目源码会一直停留在「孤芳自赏」阶段。一个比较好的开源方式是:有了好的想法,就分享出来,最初的代码展现基本的思路就好,然后通过社区的参与,不断往前演化,让大家都成为开发者,群体的力量远大于个体。