I was fortunate enough to be chosen to present my first lightning talk, at Manchester Tech Nights.
I spoke about overcoming the apprehension of getting started in open source, something I’ve been interviewed on before and am passionate about.
Here are the slides from the night:
Hi, I’m Dan. I’m here to talk about Open Source - how to start getting involved in it and how to not be scared and apprehensive about your own ability to start contributing to other people’s work.
We all use open source software every single day but I bet such a small percentage of people who use it actually contribute and get involved in building it.
I was pretty scared myself at first and didn’t think I was good enough to submit code to the bigger, well-known projects but I’m here to tell you to not be apprehensive about these things and to show the benefits of getting involved.
What is it?
So what is open source?
Well I’ve only got 5 minutes so I am not going to read through all this - I guess you kind of know what it is, it can cover a lot.
I’ll tell you a few things that it isn’t though.
- The best Node package ever
- The jazziest new feature in WordPress
- The next Bootstrap or jQuery
What it really can be is things like tests and documentation - as you see when I searched there was over 110,000 issues on GitHub with tests needed and 100 pages of projects with docs needed.
Contributing can be anything like this - even raising issues is contributing.
Little things like fixing spelling mistakes can be greatly appreciated:
Don’t be scared
So a small change in a big project can help. Do not be scared of making a small change and submitting a pull request for it, because it’s likely that it will help someone.
Don’t be scared of being knocked down, it’s happened to me before when I prepared a pull request to quite a bit project, thought I’d done this awesome feature and it just got closed by someone without a reason why.
I got put down, I felt like I didn’t want to code for a while and I wasn’t good enough to contribute but do not let it get to you - the response you get is generally much more positive.
So why should you bother then?
You feel really great when you help someone out, when someone compliments your work or when you see your own code out in the wild. I saw someone working on an open source project and saw a few lines of my code and I was all “Hey…I did that!”
It is a massive sense of accomplishment.
You can kind of have your pick of projects, you can do something in a totally new language or an entirely different domain and use open source as a platform to learn something new and as there’s generally no time restrictions or deadlines, you can do so at your own leisure.
Ultimately it can get you noticed and raise your own profile within the tech community. Here’s a little story about getting noticed…
So I kind of got my current job through open source.
I used this Grunt plugin that the guys at Building Blocks had written, loved it, tried to contribute to it. I then researched the company, found they had a job going, applied and got the job!
I still have that job now. I still work on that plugin…that damn plugin…
Open source your own work
Open sourcing your own work is a great way to get out there.
This is a plugin me and the guys have written just because we needed it, but open sourcing it on GitHub has led to others contributing and helping us out. Only this morning this guy raised some issues and gave me advice on how to go forward with the package, which is great!
So help is always out there when you open source your own projects.
My entire website’s source is online at GitHub and I’ve had a few people email me saying “Thanks, I’ve learnt from it” - so having it there has helped people and made me feel good about it.
Open sourcing plugins and packages that we need to use with work has proved really popular - these Grunt and Gulp plugins we wrote are now in the top 6% on the NPM registry! I made one of these purely for my own website but other people like it.
This one here, a little package called Dammit, is just a stupid little command line app that swears at you. I spent about an hour on my lunch break making it but for some reason it’s now in the top 5% on NPM! That just goes to show that the internet can be a strange place…
So, if you find it useful (or not), others probably will too.
Now there can be downsides to this. I’m not gonna lie, there might be the time when some “teen cyber hackers” fork your entire website in orer to “Make the world a safer place”. I’ve no idea how they intend to do that, but I’m keeping my eye on them. I hope they don’t attack the NSA with my blog or anything…that’d be awkward.
But it can be scary knowing that other people can have an entire copy of your source code, so just be careful and only share what you definitely want to be out in the open, and license properly.
So the gist of it is:
- Get involved
- Be helpful
- Be confident in your own ability to contribute
I’ll leave you with a quote from a well-known open source website:
That was actually me(!) - I got interviewed for OpenSource.com because I’d gotten involved in open source projects and raised my own profile, so it goes to show that it can be done and is useful.