At a Glance:
- Involved in open source since 1994
- Works for Microsoft
- Eclipse Foundation contributor since 2022
- Involved in the Jakarta EE Platform project and MicroProfile
- Committer to both projects
- Eclipse Foundation committer since 2022
- Edward has written several books, but his latest literary contribution is a forward and an interview in Developer Career Masterplan by his colleagues Bruno Souza and JCP chairperson Heather Vancura
Can you tell us a bit about your background as a developer and with open source?
I had the very good fortune of being in the right place at the right time at the start of my career, when I was doing my undergraduate degree at the University of Illinois. The NSCA web browser was in its earliest days of development while I was there, and I was lucky enough to get a job as a student programmer working on it.
What was exciting about it was that, as an academic project, it was totally open. In a very real sense, it was open source before there was open source. After university I went to Silicon Valley to work on web-based projects, and ended up at Sun Microsystems around when it got started on Java, which was obviously a huge milestone for open source.
I ended up becoming the specification lead for JavaServer Faces, the first part of Java that ended up becoming open source. Sun, of course, ended up being acquired by Oracle, and work on Java continued there. Eventually, as Oracle adjusted their business priorities consistent with optimal creation of shareholder value, work on JSF started to slow down. One of our community members, Josh Juneau, who also hosts the Java OffHeap podcast, pulled some data together into bar graphs highlighting the situation, which really kickstarted the effort to get Oracle to release the intellectual property that became Jakarta EE.
How did that lead to you getting involved with the Eclipse Foundation?
I was part of the work to get Java EE moved over to the Eclipse Foundation as Jakarta EE, but after that I largely stepped away from the project. I moved on to other things at Oracle before taking an opportunity to move to Microsoft. A colleague of mine there, Reza Rahman, is an amazing Jakarta EE contributor and the founder of the Jakarta EE Ambassadors initiative. Together, he and I were able to convince Microsoft of the value of joining Jakarta EE as a member. That deal was concluded about two years ago. This ties in very well with our organisational priorities at Microsoft. The team of which I am a part develops new tools and services related to Jakarta EE. For example, see Java on Azure Container Apps.
I initially stepped away from being hands-on with an individual specification but came back to help continue the work at a higher level. Right now, I’m a committer to the Jakarta EE platform project and the MicroProfile project.
Working on a specification-based technology is a great way to have a broad influence and impact. And doing so at a higher level than the day-to-day coding helps you create even more value more efficiently, both for the end users and for other people participating in the project.
How have you found your experience as a committer and community member?
One thing that’s great about the culture and structure of the Eclipse Foundation is that you don’t need to have official committer status to make effective and important contributions. I’m not a committer to Jakarta Bean Validation, for example, but I was able to help them with some of their renaming and the administrative work required to complete it as part of Jakarta EE 11.
One thing I really enjoyed about coming to the Eclipse Foundation long after it’s been established and operations have been fine-tuned is that the hard problems of mechanics have already been solved. As of now there’s a process for making any kind of contribution you can think of, you just need to understand it and follow it. Having everything well-defined and prepared makes it very easy to plug your contributions in and make an impact.
Are there any misconceptions you’ve noticed around the contribution process?
Definitely, particularly around what kinds of contributions are valuable. In the case of Jakarta EE specifically, it’s a huge document that a lot of people have been working on for a long time. At this point, it’s a bit gnarly: there are sections that could be made more clear or concise.
So, documentation editing and text authoring is a hugely important skill and contribution to make. Having people copy-edit that and review it for consistency is very valuable, and the same is true for its specifications as well.
What’s been most rewarding or challenging for you as a committer?
I haven’t been through a full cycle as the release coordinator yet, so when it’s all done and released, I expect I’ll be feeling rewarded from helping bring it into existence. One of the most surprising challenges for me along the way is how things can come out of left field. Since open source contribution is really at the discretion of everyone involved, it can make project management challenging when vendors aren’t able to make certain contributions.
One thing with Jakarta EE is that we’ve tried for it to be not only open source but have open standards, where the community really drives not just the work involved but the project direction. We make an effort to ensure that all of our stakeholders are represented in this, which sometimes means we end up with a product of compromise.
I’m focused on delivering Jakarta EE 11 right now. But once that’s done, I want to throw my hat in the ring for Jakarta EE 12. I’ve learned a lot on my first run through this process and I’m sure I’ll be able to do better in the next round.
Any advice for someone considering getting more involved with open source?
I think the best approach to get the maximum value you can from open source is to figure out what you’re passionate about first, and then go and find a project that already exists and start contributing there. You can, of course, do it the other way, and find your passion by getting involved first. But I think that your chances of success will be higher if you’ve found your passion already, and you bring it to open source.
One thing I’d like to highlight here is the role user groups can play in this. For Java, in particular, the local Java user groups, or JUGs, are an excellent starting point. The Jakarta EE Steering Committee is looking at giving these groups an easier onramp to contribute to Eclipse Foundation projects. So, while they’re already a great way to kickstart your career and learn more about Jakarta EE and how to contribute code in a community, they may be getting even better.