At a Glance:
- Involved in open source since: 1998
- Works for: Castle Ridge Software (Founder)
- Eclipse Foundation contributor since: 2003
- Involved in: Eclipse Che, Eclipse Theia, Eclipse JDT, Eclipse JDT LS
- Committer to: All of the above
- Eclipse Foundation committer since: 2003
Can you tell us a bit about your background as a developer?
At this point, I’ve been a developer for the better part of 35 years. I was part of the team that was working on the original Eclipse IDE for IBM before there was an Eclipse Foundation.
One thing I think people these days don’t appreciate is how much of a revolution this was at the time. These days, open source is everywhere and it’s a standard, but it really was revolutionary back then. People didn’t understand what we were doing or why.
I left that team to go work on other things like the Java Virtual Machine, which is now Eclipse OpenJ9. I came back to the Eclipse Foundation and the development tools space when I started working for Red Hat. It was funny, and kind of annoying, because I had to get my committer rights for the IDE by contributing little fixes and things, even though I was one of the original people that developed it.
How did your involvement with the Eclipse Foundation change from there?
I still retain my committer rights on the JDT project, since I worked for Red Hat. But currently, my time goes to Eclipse Theia.
What happened was the Eclipse JDT project started using Eclipse Theia as the IDE. That led to me getting more involved with Theia and the Theia community, which I really liked. When the project started de-emphasizing the IDE part of Eclipse Theia more towards running environments in the cloud, I took the opportunity to jump ship to stick with the Eclipse Theia community.
I’ve been a project lead there for the last two years or so and I am actually just celebrating the one-year anniversary of founding my company, Castle Ridge Software, which does contracting in the Eclipse Theia space.
How have you found your experience from contributor to project lead?
To be honest, the working framework of the Foundation can be a bit frustrating, but the reality is that it gives everyone involved a lot of confidence. You can trust everyone involved and the products of your collaboration because the rules are there to enable that.
I like to say that my number one productivity tool is trust. About a year-and-a-half ago, I started an Epic to try to catch up with the VS Code API, which we implement. And people would pick out tasks and start contributing. It built a lot of momentum and velocity, because everyone involved could see that everyone else was contributing.
And the community is hugely important. Even at the Foundation, not all communities will be made equal. But the nice thing is that it’s an open community working on open source stuff. Closed source communities tend to be insular and can fall victim to a certain amount of groupthink.
But having lots of different people with lots of different backgrounds ensures you’re always getting fresh perspectives, new ideas, and new use cases. In the long run, having a multitude of inputs really raises the quality of your code and your community.
How have you found the committer experience?
It’s more responsibility. But the nice thing about being a committer is that you’re constantly being exposed to new and fresh ideas, and constantly being, essentially, challenged.
You’re getting code from people with very different backgrounds
and corporate experiences who maybe don’t tackle a problem in remotely the same way as you. That’s a great opportunity to learn something. I’ve been at this for 35 years, and I learn something new every day.
But there are also significant challenges. One of the biggest is convincing people and organizations that it’s not only worth consuming our product but contributing to it. If you contribute to an open source project where you don’t own the IP, where do you put it on the books?
There’s kind of a corporate myopia in this sense, where if they can’t measure the value in dollar figures, it’s just a cost. But these projects produce significant value and you get to use that value. You just don’t own it.
What are your goals as a committer?
This is actually a very exciting time for me. We’re finishing up the last parts of the VS Code Extension API for Eclipse Theia, and we’re going to have some collaboration and remote management features that we didn't have before.
It’s very exciting because we’re reaching the point where there’s no good reason not to use Theia for whatever you want to do in the IDE space. Once upon a time, when we’d suggest it, people could come back with reasons why not. But we’re getting to the point where Theia is really going to always be the best option.
What’s also amazing is how it came together. Everybody working on the project went to their managers and sponsors and convinced them that this is a good thing and worth doing. It’s a great example of the open source process working how we hope.
Any advice for someone considering becoming a committer or getting more involved?
In general, people and projects want your input: they always need people to be doing things. So don’t be afraid to try, because by and large they welcome the help, even if the code needs a bit of adjusting.
Second, it’s a fantastic way to better understand the things you use. Contributing gives you a deeper and richer understanding of both how it works and why it works the way it does, which makes a lot of these libraries and frameworks we all use that much easier to use.
Oh, and remember: personal contact is important. The recent EclipseCon is a great example. If you didn’t make it out this year, I hope to see you there next year!