JavaScript - - By James Hibbard

Interview: How to Join a Major Open Source Project

Recently, my co-editor Aurelio was invited to become a member of the jQuery team. To mark this spectacular achievement and to find out what’s involved in contributing to the most popular JavaScript library in use today, I took the opportunity to ask him a few questions.

To kick things off Aurelio, could you tell us something about yourself?

Sure. My name is Aurelio De Rosa. I’m a (full-stack) web developer living and working in London. I have more than 5 years’ professional experience programming for the web using HTML5, CSS3, Sass, JavaScript, and PHP. I’m a regular blogger for several networks, speaker, author of books, member of the jQuery team and the JoindIn team, and co-author of some academic papers. I’m also the technical reviewer of several online courses for Learnable and the book “HTML5 & CSS3 for the Real World, second edition”. Above all these things, I’m really passionate about everything related to the web (well, not everything…sorry Java). In my spare time I love to experiment, learn, contribute to open source projects, and have a few beers.

Wow! Sounds like you’re a busy guy. What made you decide to get involved with jQuery?

I don’t think I’ve ever really thought about being involved in jQuery as part of the team, it just happened.

Like many developers that have started working on the front end a few years ago, I lived in a world full of browsers issues and inconsistencies. jQuery was (and is) the best solution to avoid dealing with such issues in order to focus on what really mattered: the website. Everyone is aware of the good work that the jQuery team has done over the years and I think this year the web community has recognized the effort by voting to have the jQuery team as one of the finalists of the Net awards in the category “Team of the year” (vote for us!).

As the curious developer that I am, only working with jQuery wasn’t enough for me. So, I often read the documentation of methods I never used and sometimes I even read the source code to learn as much as I could. In performing these activities, I started finding minor inconsistencies or issues in the documentation that I promptly notified to the jQuery team of on GitHub. Sometimes I tried to fix these issues by submitting small pull requests. This is how I started in May 2013, by submitting a pull request to improve the jQuery documentation. I was happy because I was improving a project that I used on a daily basis and that I was really passionate about.

I see. And how did you approach the project?

I probably found the issue that I fixed with my first pull request while reading the documentation to verify something. Then, I started working on my book jQuery in Action, Third Edition and everything changed. When you write a book, you put a lot of effort into it and you go even deeper into the subject compared to what you used to do. This means that often I had to read the source to understand why a method was acting in a certain way or to confirm some statements I wrote in the book. This activity allows you to find documentation inconsistencies, errors, or even undocumented method signatures. For example not so long ago I found that wrapAll() acts like wrap() when passing a function to it, an issue that is corrected in the upcoming version 3 of jQuery.

How does contributing to a project like jQuery work on a day-to-day level?

At least at my level, people don’t have a daily schedule. I pretty much work on jQuery when and if I have time. Of course, as a responsible member of the team, people try to get some stuff done every week. In my case, I try to fix some issues in the documentation or read a few pages to see if there is anything that can be improved. This might be different for people like Dave Methvin, the president of the jQuery Foundation.

In addition to that, every team has a biweekly meeting on the jQuery IRC channel where we discuss what has been done in the past two weeks and what we plan to do in the next two. We also discuss other topics like events, conferences, and announcements.

How did it feel to submit your first PR? What was your first PR?

I felt good. When you start as a developer, you use these famous libraries and frameworks created and maintained by gurus of the field. You look at those projects and people with admiring eyes. So much indeed that sometimes these people seem unreal, that you can’t talk to them, or meet them in person. Based on that, even if my first PR was a small fix (about the :checked pseudo-selector to be precise), I knew that I was contributing to a project used by countless developers all over the world. It was a minor change but I was proud of that.

How do you work out where to focus your attention?

As a member of the content team, my main focus is the content. This means that I fix the issues and improve jQuery’s documentation and the guides provided in the learn.jquery.com website. However, anyone is free to contribute to any of the other projects managed by the jQuery Foundation like jQuery UI, QUnit, Chassis, and many more.

How much time have you put into contributing to jQuery?

To date I’ve been contributing to jQuery for more than two years, but it’s only since last year that I’ve been contributing regularly. In the past six months, since I started joining the meetings, I’ve contributed on a weekly basis to the project. I think this evolution is also related with the authoring of my book.

You mentioned being asked to participate in meetings with the content team—how did that happen? How do those meetings work?

At the end of 2014 the jQuery team started a discussion to restore a content meeting and during the discussion Jörn Zaefferer proposed to invite me to the meetings. By reading the answers of the other members maybe my name was already around, but he was the person that mentioned me. I was enthusiastic about the proposal and I accepted it without any reservations. Being part of the jQuery team was inconceivable for me until a few years ago, and I’m very proud of that. Even more because, based on a recent discussion I had, it seems that I’m the first Italian ever to be a member of the jQuery team, which make me even more proud of the result achieved.

The content team and the content meetings are led by Anne-Gaelle Colom. Like almost all the other meetings it’s held on IRC in the #jquery-meeting channel. She prepares an agenda for our meetings with the topics to cover and the decisions to make. We discuss how we’re doing, if the amount of the issues is decreasing, and how we can improve the content. We also chat about other topics like how we can have more people involved in the project (come help us!). All the discussions are logged and publicly available, so that everyone can follow the evolution of the projects. We also publish the internal minutes for every meeting.

Who else is in the team? Any notable figures?

The jQuery team is composed of excellent developers. I can’t really mention some over the others because this is really a team thing, or at least I perceive it as such. However, I guess the most notable developer in the team is John Resig who has become famous for, well, creating the jQuery library in first instance.

What advice would you give to someone who is looking to start contributing to open source, but who is unsure where to start?

My advice is to not be afraid. Many developers I spoke with are really terrified of contributing to big open source projects because they feel they don’t have the right skills or the knowledge. The people behind most open source projects, especially jQuery, are very polite and willing to help you. The team looks forward for your contribution. If you are uncertain where to start, read the contribution guidelines and then get in touch with the team via chat to know how you can help. Try it, you have nothing to lose.

Ok Aurelio, that seems like a good place to leave it. Thanks for taking the time to share your experiences with us. Hopefully this will encourage more people to start contributing to open-source projects, be they big or small.

Sponsors