Dev-XP-Session on Open Source and Community

Chat session for developers to learn more about getting involved in open source, practices and community.

Lee Dohm and Alejandro Cadavid

04.04.18

Hello Everyone,

We are kicking off today program and we are glad to have Lee Dohm and Alejandro Cadavid with us today!

Today we’d be having Lee Dohm, Open Source Community Manager at GitHub and Alejandro Cadavid, Platform Engineer at GitHub to share awesome insight and experiences with us and also get to answer our questions.

A lot of us are excited about open source and community so I’m sure this would be another exciting one

To get started, would love to have our guests introduce themselves because no one can do it better. Please tell us about yourselves @lee-dohm @acadavid

@lee-dohm
I'm Lee Dohm, Open Source Community Manager at GitHub. I've been a software developer for over twenty years, starting professionally in 1995 but I was a hobbyist programmer before that. I've worked over the years for Intel, Microsoft, Amazon and now I'm working for GitHub. I started volunteering on the Atom editor project in early 2014 just answering questions on the message board. I was quickly invited to be a moderator on the message board and eventually an official Atom volunteer maintainer. I was hired by GitHub in January of 2016 to be the Community Manager for Atom and Electron. Since then, I've taken on Community Management for all of GitHub's open source projects including Desktop, the new github/site-policy repo, and more.

@acadavid
I think most of you know me already, so, i'll keep it short, but i'm a software developer working at GitHub for the last 8 months, I'm based in Amsterdam but originally from Colombia. My experience is mostly with distributed systems, using Ruby, and some Go nowdays

That’s a long time @lee-dohm, how have you kept up with the ever changing landscape of technology. Having to learn new things, and leave some?

@lee-dohm
Lots and lots and lots of reading πŸ˜€. Early on it was magazines like Dr. Dobb's Journal. But eventually the Internet became my go-to with various programming sites and eventually aggregator sites like Stack Overflow. I try to teach myself new languages every so often (the book "Seven Languages in Seven Weeks" is one I would recommend for things like that)

Lets get to the business of the day.

First question from: Olaoluwa @olaoluwa

What is the coding methodology like to be employed by GitHub? The reason I asked is that, I once made an application to GitHub as Ruby Software Engineer. My screening was to submit any of my open/closed source code so as to check my Controller. However I got denied after the screening. What methodology of coding should I look for to be employed at GitHub?

I know Modularity is a big deal to GitHub, but checking Controllers found me so weak.

This is a question tough to answer. Each team has it's own criteria for defining what they are looking for when it comes to hiring. I don't think it's methodology that teams look at, but, more how you structure your code, how clear is it to read, if you know the tools (in this case Ruby and Ruby on Rails), if it's well-tested, if you're aware of the complexity of the code. All those details matter, but there isn't a particular answer and is heavily dependent on the team and position you're interviewing for.

Question from: Favour Oriabure @favoriabs

How do I find great open source projects that I'd be interested in contributing to ?

Most of the time, I recommend looking at the tools that you're already using and seeing what pain points you have. If you're already using it, then you have a strong motivation to make it better or fix bugs.

Additionally, look for tools or technologies that you would like to exist that don't already. This is how I came to contribute to Atom because I was looking for an editor that had the flexibility and extensibility of Emacs but was more modern and looked prettier πŸ˜€.

Question from: Omigie Osayamen @oxax

How easy is it to maintain a full time job and also be an effective full time contributor? given that open source contributors are not paid ?

Sometimes it isn't easy. Especially if you have a full-time job and a family to take care of. Open source work can take up a lot of your free time or time for hobbies. The best advice I can offer is to be realistic about how much time you really do have and don't overextend yourself. Only have one PR open at a time. Limit yourself to a certain number of hours of issue triage a week, etc.

@oxax
Nice, thanks.

Question from: Paul Ayuk Njar @root

How can I start a good open source project that people would actually contribute to ?

I would recommend to not worry about finding a project that others would contribute to and concentrate on finding a project that inspires you. I don't recall the exact figure but over 80% of open source projects (including insanely popular ones) only have one dedicated maintainer. I have a ton of repositories under my account at Lee Dohm ... some of which are intended just for me but many (including my Atom packages) are shared open source efforts ... almost none of them get any outside contributions ... maybe 10 of them total.

@root
Thanks.

Question from: Omigie Osayamen @oxax

What in your opinion drives companies like Microsoft to start contributing to open source and what hinders other companies who obviously use open source products that they have improved in-house to meet their unique needs but do not contribute back to the community.

I can't speak for anyone but myself. But in my opinion, the biggest concern around companies contributing to open source is concern around protecting their intellectual property and opening themselves up to litigation, especially around patents.

Question from: Fayemi David @KingDavid

Can we have a github for graphic artist and UI/UX designers?

I don't know if there are similar websites for those professions. The problem is that for example `git` is not a good tool for handling very large binary files (like those of Photoshop, Corel, etc). Those files are not well handled by `git` and hence `github` so it's a problem we don't tackle ourselves. But perhaps that's a business opportunity for you! :smile: But I'd do some research, perhaps that product already exists!

elitenoire:
Check out Trunks on Product Hunt.

Question from: Omigie Osayamen @oxax

So what personally is your drive for your passion for opensource. It seems you have to stay committed without direct financial benefit.

My drive is that there are certain tools or technologies that I want to exist and if I don't do it (or help with it), who will? I have the advantage that at this point in my life I do have a lot of free time to dedicate to my passion projects and I'm very lucky in that regard. So I see it in a similar vein to charity work ... it's something I do to give back because I've been so fortunate.

Question from: Somto M.Ugeh @somto

What platform enhancements are GitHub working on to make it easier for newbies to get involved with Open source ?

We're doing some improvements on the platform. For example, we make it visible when you're doing a first contribution to a repository, so they repository maintainers can keep that in mind when reviewing your pull requests! There's a lot of work to do there, but we're trying to improve. Perhaps @lee-dohm knows of more specific projects he might wanna share!

You can read more about that here ..

@lee-dohm
I'm leary of talking about future projects because we do a lot of speculation and test drives of things that don't work out or don't work as well as we thought they might. We're always looking into ways to make participating in open source an easier and more welcoming system though. Stay tuned and if you have any ideas along those lines, please feel free to reach out and let me know πŸ‘πŸΎ

Question:

What's your job like? @lee-Dohm as open source manager for GitHub

My job consists of a lot of coordination between different groups. I work on a daily basis with Engineering, Support, Legal, and Community-and-Safety (which is part of Engineering, but I work with them _a lot_). To a lesser extent, I work pretty closely with Marketing as well. I answer a lot of questions on a lot of platforms, whether that's answering questions in the new Community Forum , triaging issues in various open source repositories, helping out on Twitter, or participating in various open source Slack teams like the ones for Atom, Electron and Probot. And on top of all this, I build policies and procedures for GitHub's open source projects, and write a monthly series of articles for the GitHub Community Forum titled "Studies in Community"

That's the general overview.

Question:

What are the common benefits to contributing from open source, what do I stand to gain? and for new beginners learning to code, how do they overcome the fear of rejection and contribute to open-source ?

@lee-Dohm
Well, I for one got a really awesome job because of my contributions to open source πŸ˜€.

@acadavid
You'll get a lot of knowledge from the contributions you make, you will learn to read code (a very important skill!), you learn to work with others and help others to grow, and of course, potential employers love to see open source contributions! It makes it obvious for them that you know how to code. Regarding the fear of rejection: it's tough, we all have it in one way or the other, even in a new job you have that fear, but the important thing is to remember that most people love getting contributions! so as long as you try to do your part and read and apply their contributions guidelines, you should be good!

@lee-Dohm
Regarding the fear of rejection, I recommend starting small and simple. My first contributions to Atom were documentation fixes πŸ˜€.

Question:

Are there resources you can recommend to know more about open source? , is there a get-started you would recommend ? especially for newbies.

Once upon a time I read "The Cathedral and the Bazaar", a book by Eric Raymond. I think it was a good primer for the original inspiration of and philosophy underpinning open source at least in its original form. Other than that, get involved in a project. Every open source project is a little different. Or if you're not ready to get involved, watch one of the larger, more established open source projects like Rust, Rails, or Node (as examples among many, many others). You can learn a lot by seeing how various established projects do things or handle certain situations.

Question: Tochukwu Nkemdilim @tochukwu_nkem

What are top 3 books you'll recommend to improve one's skills as regards contributing to open source and improving as developers ? It might not be fully tech related.

@lee-Dohm
"Code Complete" by Steve McConnell
"Clean Code" by Robert C. Martin
"About Face" by Alan Cooper, et al

@acadavid
I can only think of one, and that will give you enough to work with πŸ™‚. "The Passionate Programmer" by Chad Fowler.

Question: Tochukwu Nkemdilim @tochukwu_nkem

What's the best way to handle reaction both as a project maintainer and also as a contributor? Reason being that you'll have to communicate with people who could be rude..

I have a _lot_ of thoughts about this. You can find a lot of my thoughts on this in my Community Management repo at and somewhat longer-form things in my Studies in Community series

Hello everyone, we are fast approaching the end of this session. It has been a good one. Thank you to all the participants today and most especially our guests, we would love to have you guys here again!!

Till next time, have a wonderful day!

Want to be part
of the conversation ?

Join the community