每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg


今日推荐开源项目:《简历模版 Resume-template-for-Front-End-Developer》传送门:GitHub链接

推荐理由:如果你正在搜索一份简历模版,这个项目肯定能作为一个好的参考,模版上包含了工作经历,个人信息与作品和专业技能水平等等你肯定需要在简历上提供的资料,而且排版看起来也相当整洁,即使现在不需要面试,以后需要模版的时候也可以将它作为一个不错的选择。


今日推荐英文原文:《100 Days Of Code in Open Source》作者:Wajahat Karim

原文链接:https://android.jlelse.eu/100-days-of-code-in-open-source-3ceb38474a89

推荐理由:作者尝试着连续100天在 GitHub 上做出贡献之后学到的东西,实际上这甚至招来了一些 offer,这兴许就是付出者终有回报的体现了。

100 Days Of Code in Open Source

What I got in 100 days and what you can get from Open Source?

My GitHub Contributions Graph

Let me start by saying this. Open Source is just great. You will never know what kind of surprise is coming next and how? In this article, I’m going to tell you a story of 100 days and what kind of surprises I got. So, without further delay, let’s get started.


First questions first! Why open source?

Open source is all about sharing and caring. It teaches you collaboration. It teaches you to appreciate others hard work. It teaches you to respect the licenses and avoid piracy. It teaches you to make things better by contributing yourself. And it teaches you a lot of other things.

And with the 20th anniversary of Open Source passed recently, and Microsoft’s acquisition of GitHub, the largest repository hosting platform of Open Source, its pretty self-explanatory that why open source is core part of software developers and software users.


100 Days of Open Source

I got into open source by a very interesting coincidence, which I shared in an article last year here. Since then, I have tried to contribute regularly. But, still I got some off days. As I was doing more open source, I was becoming addicted to it. And my heart wanted to put more and more code outside. In a matter of weeks, I started thinking about everything from open source perspective.

My friend shared me an idea of the app. My first response was we will create it open source. I see any problem in Android Studio development and my first thought was to create the solution and put it open source. And then it didn’t matter how much stars I get on GitHub or whether it is good for developers or not. I just wanted to share more and more. But due to time constraints, I couldn’t keep it regular.

And then on 1st April, 2018, I made a promise to myself that I will not miss a single day of open source now. It was hard. Some days I was traveling. Some days I was with family. Some days I was busy with office workload. Some days I wanted to watch Game of Thrones. Some days I was sick. But, a promise is a promise. So, I kept contributing something daily. And today is the completion of 100 days of open source coding. And GitHub shows this in a very beautiful contribution graph.

My GitHub Contribution Graph —No single gray box since April 1, 2018

You can see in the graph that how much I have struggled with the open source. This is just for the year, but there’s more before that as well. My most active months are last 6 months, where I have tried to remain more consistent and committed. And I haven’t missed a single day since April 1, 2018. And that’s the happiness I am sharing in this article today.


Stats of My Contributions on Open Source

I know you are eager to hear about what is it that I have done in 100 days. I say I have contributed something daily for consecutive 100 days. So what’s that something? Let’s look at the picture below for that.

Stats of My 100 Days on GitHub

So, I’ve created 29 repositories in 100 days. That makes about 1 repository in 3–4 days. It’s not necessary that you create repository after you finish previous project. I keep adding new repositories and keep working on different projects at different times.

And 370 commits is like 4 commits every day. And you can imagine how much time it would take to make 4 commits. I believe 1–2 hours daily can give you 4 commits.

The star is the way to show love on GitHub as we do clap on Medium. The 440 stars in 100 days means that I get about 4-5 stars daily. That’s actually pretty good in a perspective that about 4–5 new developers like your code everyday.

The issues is the way to ask help on GitHub. There are plenty of Good-First-Issues on Github, if you are a new developer. So, solving issues on GitHub is also a contributing part. And I fixed 14 issues in my 100 days of code. That’s quite low number because I was too focused on my own projects to write code and creating my own issues.

The pull request is like an achievement if it gets merged by the original owner of the repository. And 11 pull requests means that in every 10 days, 1 pull request has been merged. And that seems pretty good to me.

Finally, the fans of your code, the followers. I got 67 followers in last 100 days. And that’s like more than 2 followers every day.


The Surprises I Got in 100 Days

Honestly, I never expected these. I was doing open source just to keep myself happy and active in developers community. It was giving me lots of good impression in my office, my friends, my community, and myself. So I kept going on. But, out of nowhere, I started getting different opportunities. These were the opportunities I couldn’t even dream of.

Job Offers

I have got 6 job offers from Canada, Germany, Singapore, China, and Australia. These came through email. And all emails started with line like this:

Hello Wajahat,

We saw your GitHub profile.

Unfortunately, due to some personal issues and constraints, I can’t leave my country, Pakistan, at the moment. So I had to decline all these amazing job offers. But, I recommend the students and fellow developers to do open source and to avail these opportunities.

Freelance Projects & Remote Work

I got 4 freelance projects and 2 remote working paid offers on hourly basis. I did only 1 and declined all rest due to time constraints. Since, my lots of time is spent on work and then open source and writing, so it becomes a lot harder for me to focus on freelance or other projects. But, if you are any service providing developer or company, you should definitely put your code on GitHub and contribute more. This will bring lots of clients to your side as GitHub builds trust in clients’ minds about your code quality and ability to develop.

A Library Became #1 on GitHub Trending for 2 Days

As a developer, this is like a dream come true. I never expected this. I wouldn’t say that I was lucky. Rather I have got to say that:

It took a lots of hard work, consistency, 1000s of lines of code, and 100s of hours spent on compiler to be in the list of GitHub Trending. Its NOT an overnight success story.

The library was MediumClap-Android and it has so far 285 stars on Github.

The library has been featured in various newsletters and was on GitHub Trending #1 for 2 days.

MediumClap-Android is on #1 on GitHub Trending in Kotlin Language

Recognition in Local and Global Community

Its been about 2 years in Open Source and writing on Medium. But, its been just now that my work is getting recognition around the local and global community. The MediumClap-Android library has been featured in various newsletters, which I couldn’t expect for ever.

 

And this week, Android Weekly featured my article in their hugely popular newsletter. And I believe that was all because of my consistent struggle and contributions in open source.


Conclusion and What’s Next?

My next is same as the current. I will keep doing open source and writing on Medium. And I would really recommend all the developers, new or experienced, to start contributions on open source and help each other and move forward a step towards better and collaborative software.

In the end, I would like to thank you, the readers, the developers who use my libraries and codes on GitHub, the developers who has starred or forked my libraries, the newsletters who have featured my articles or libraries in their digests, and everyone who have helped me in any way to get me here at this stage. A very Big thanks to everyone.


Wajahat Karim is an experienced android developer, an active open source contributor, and co-author of two books Learning Android Intents and Mastering Android Game Development with Unity. In his spare time, he likes to spend time with his family or do experiments on coding and open source, and loves to write about lots of things. Follow him on Twitter and Medium to get more updates about his work in Writing, Android and Open Source.

Also, if you have any questions you’d like him to answer, contact him through his website at wajahatkarim.com with DEAR WAJAHAT in the subject line.


每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg