Monday, September 30, 2024 - 07:00
  • Share this article:

At a Glance:

  • Involved in open source since: 2019

  • Works for: Payara Services Ltd.

  • Eclipse Foundation contributor since: 2022

  • Involved in: Jakarta Concurrency

  • Committer to: Jakarta Concurrency

  • Eclipse Foundation committer since: 2022

  • Fun fact: Petr is a member of a non-ambitious runners club, and has run 20 marathons so far, some even in less than four hours!

What’s your background as a developer and with open source?

I’ve wanted to be a programmer since I was five years old. I went to university, did my Master’s and later my PhD, and got into teaching, which I still do and love. I also started getting involved in some European research projects. The downside of those projects is that you develop something really good, they tell you it’s really good, and then it gets put on a shelf somewhere. I wanted my solutions to get seen and used.

I spent some time moving through different companies, going to progressively smaller and smaller companies where I felt I could make a bigger impact and have more autonomy. I was doing a lot of work on databases and information systems, and getting more involved with Java EE, which I was a big fan of. I ended up moving to Payara Services Limited since I was using so much of it anyway and I was really excited to be able to work on it and improve it even more.

In fact, one of my first ever commits to an open source project was to Payara. I met Java Champion Ondro Mihalyi, who suggested a small defect to start with. It took me about four hours, and it ultimately amounted to moving a single letter further down along the same line. But it fixed the issue, so that was satisfying. One of the fantastic things about working in open source is that unlike closed source, you can point out that you’ve done something cool like a big performance improvement to your friends and say “see this? I made this.” 

 

How did that lead to getting involved with the Eclipse Foundation?

I ended up joining Payara at the same time that I was making that commit. In 2022, I volunteered to work on their reference implementation of Jakarta Concurrency 3.0 as a part of Jakarta EE 10. Payara shares this code with the Eclipse project Glassfish.

This year, I struggled with some issues in Concurrency 3.1. I attended a JAX conference in Germany because I knew that some people from Glassfish who were very experienced with Concurrency were attending and spent a few solid hours coding with them. 

This was my first real encounter working with the open source community, and it was a great experience. I was really surprised at how I could just ask essentially a group of strangers for help, and they’d spend hours of their time helping me out. 

I really wanted to get involved with the Concurrency project itself from the beginning, being a part of the bigger Glassfish open source. That’s when I realised it was part of the Eclipse Foundation, and I’d have to become a committer to do that. 

 

How have you found that experience?

It’s funny, the paperwork at the beginning was a bit of an issue. I use several different email accounts for my coding, which until then had never been an issue. But because individual committers on a project need to be approved, and are identified with a single email address, it ended up being a minor issue early on, though easily resolved. 

The most interesting change for me is the nature of the work itself. Programming is, by default, an activity of a solitary coder or a small group that only tangentially involves people outside that core group. But being an open source committer is the opposite: by default, you have other people commenting on your contributions, who need to agree with or at least accept your suggestions and ideas. I remember once I was in a bit of a hurry finishing some code, and stuck a couple things together that shouldn’t have been. It wasn’t a big issue, and the person reviewing my code didn’t have time to adjust it either, so it went through, but they asked me not to do that again. 

It's also important to remember that you’re communicating with people you don’t personally know, who work at other companies and in other parts of the world, and often have totally different perspectives than you do. Sometimes it can be difficult to explain your own perspective on an issue or a solution. But everyone’s very nice and ultimately wants to move things forward just the same as you do. 

 

Any advice for someone considering getting more involved in open source or the Eclipse Foundation?

As I mentioned, I teach. In university, I’ll assign a project but not choose the topic. I leave that to the students and tell them to choose something they love and use themselves, because then they’ll be motivated to finish it and do it well. 

The same is true for open source. If you want to be part of the open source community, find a project that’s working on something you find really interesting and, ideally, something you use yourself. Once you’ve accomplished something, you’ll be able to see and use what you did every day.