At a Glance:
-
Involved in open source since: Early 2000s
-
Works for: Self-employed contractor at Kichwa Coders Canada Inc.
-
Eclipse Foundation contributor since: Early 2010s
-
Involved in: Architecture Council, Eclipse CDT, Eclipse CDT Cloud, Eclipse Embedded CDT, Eclipse Platform, Eclipse SimRel, Eclipse LSP4E, Eclipse LSP4J, Eclipse Packaging Project, Eclipse Tools Project, Eclipse Orbit Project
-
Committer to: All of the above
-
Eclipse Foundation committer since: 2014
What’s your background as a developer?
Being a software developer is the only career I’ve ever had. I’ve been a programmer since I started studying it at the University of Victoria, so about 25 years now. Once I graduated, I worked for a number of different companies before setting up my own consultancy.
What was your first involvement or encounter with open source?
Although it wasn’t exactly what we call open source these days, I’d say my first involvement was with the GCC and GBD tool chains in the early 2000s, doing some work on those. I was working for Altera at the time, which is now owned by Intel, and Altera was involved with the early CDT tooling work at the Eclipse Foundation, mostly as a consumer. There was a team, however, contributing back bug fixes and feature requests, and I was part of that team.
My first actual contributions to the Eclipse Foundation happened in the early 2010s. I was contributing heavily to projects under the Eclipse Science Working Group. At the time I was consulting for a UK-based science research facility that was trying to build some common software among a bunch of different science communities. Very shortly after that, however, I got very heavily into the Eclipse CDT project. My partner at Kichwa Coders was at EclipseCon participating in a hackathon, and I was participating remotely, doing a very large code cleanup. That cleanup was my first contribution to the CDT, and I was made a committer on the project shortly afterwards.
What made you want to become a committer?
Part of it was simply for business reasons. As a consultant, it’s important that my clients see me as an expert, and being closely involved in the project is an easy way to establish that credibility. And I can provide more value for them if I’m able to have more meaningful input into the project. If there’s something they want or need from the project, I can more directly help make that happen.
But it’s also the case that I really enjoy it. Being a committer lets me get much more closely involved in the many projects I’m involved in these days, much more so than by being a contributor. As a contributor, you don’t have as much ability to shape the project going forward.
I’ve been involved with quite a few projects for a long time, and the Eclipse Foundation actually recently awarded me the Lifetime Achievement Award, which was an honour.
How have you found that experience? What have you learned from it?
One of the biggest differences between being a contributor and a committer is your level of responsibility. As a committer, you’re bringing other people on board and helping them with their contributions, which is one of the things I enjoy the most. Especially with the Eclipse CDT project. It’s a multi-million-line, complicated beast, and there isn’t really anybody that understands the entire thing anymore. So, when you’re helping someone through a big fix, you’re also helping them untangle all the connected strings to make sure a fix here doesn’t break something somewhere else.
What’s been your biggest challenge as a committer?
One of the really challenging parts of any open source project, but especially some of the ones I’m involved with, is keeping the community alive and engaged. In the early 2000s, open source was new on the scene, and it was all the rage. That’s still true to some extent, but much less so for the older, more traditional projects like the Eclipse IDE, which I’m very involved in.
That’s why it was so satisfying helping set up the Eclipse IDE Working Group, which has helped get a whole new generation of people involved, both on the investment and the programming side. The reality is that one of the most difficult things in open source is keeping projects alive in the long term.
It’s something that may be under appreciated about the development process at the Eclipse Foundation. In the GitHub open source world, it’s easy to just create a fork and pull request for any project you find. The Eclipse process can feel more onerous. But in my experience, this more in-depth process is how you build projects that will last a long time. Most open source projects just don’t.
Any advice for someone considering getting more involved or becoming a committer?
Something to keep in mind is that the Eclipse Foundation development process puts a lot of emphasis on the idea of a meritocracy. And that means once you become a committer, people who are contributors might look at you differently or interact with you differently. It may well be the case that someone who is a contributor has more experience and technical knowledge than someone at the committer level, they’ve just decided for their own reasons not to be a committer. So, if you’re a committer, you may find people defer to you when they shouldn’t necessarily, so it’s important to keep an eye out for that.
And it’s worth mentioning that while it’s a real joy and very interesting to work with so many different people from so many different organisations, you can end up as a committer getting pulled in many different directions. I’ve had this guilty feeling many times where I couldn’t help someone review their code or in some other way. It’s important to remember that there’s only so many hours in a day, and you can only do so much.
Do you have any particular goals as an Eclipse community member?
We’ve been working for the past few years to revitalise the Eclipse IDE, and I’m pleased to say we’re seeing some real progress. The number of companies that have signed up to contribute to the work has been growing dramatically. A whole bunch of new people and new players have gotten involved, and I’m excited to help keep that momentum going.