At a Glance:
- Involved in open source since: 2017
- Works for: Siemens AG
- Eclipse Foundation contributor since: 2017
- Involved in: Eclipse Thingweb (Committer, Project Co-Lead), Eclipse EdiTDor (Committer)
- Eclipse Foundation committer since: 2023
What’s your background with open source?
As a light user and student, I had been using open source for a while, but I really started building software based on open source when I began my Ph.D. I was doing research on the Web of Things (W3C), and there was a library from the Eclipse Thingweb project that covered what I needed. That allowed me to focus on the aspects I truly wanted to explore in my research, the part that would be novel.
That’s when I really started getting involved in the community. Of course, like everyone else, I had occasionally gone to GitHub to try things out, but that was the first time I actively used it and engaged with the community.
Why did you want to become a committer?
At some point, after making so many contributions to a project, becoming a contributor, and ultimately a committer, just felt like a natural step. I wanted to contribute because I noticed there were missing pieces, and otherwise, my fixes and additions would just live in some obscure place instead of being shared upstream for others to benefit from. Contributing ensures that everyone can benefit from the work.
I’ve always sympathised with people who are “suffering” because there’s nothing readily available that works. That motivated me to give back. At Siemens, we’re also encouraged to contribute to open source projects, which further supported my involvement.
While the Thingweb community welcomes contributions from everyone, we’re also committed to recognising those who’ve earned it by granting contributor or committer status. This gives them more visibility within the project.
What do you like most about being a committer?
I enjoy interacting with the community and seeing other people use the things I contribute. Getting any kind of feedback from the wider community is what drives me. It feels like having complete ownership of a project.
I also enjoy mentoring. For example, right now we’re involved in the Google Summer of Code with two students working on the Thingweb project. They’ve been gearing up since early June, and we’re mentoring them quite a bit. For them, it’s the first time contributing to a project with formal review cycles, contributor agreements, signing commits – all the things people often overlook when they think about contributing to open source. We’re also guiding them on the use of AI-generated code.
What’s been your biggest challenge as a committer?
It’s always easier to start a new software project than to maintain one over the long term. Projects that are already adopted need continuous care and attention. Ensuring that while also keeping the project exciting and attractive, that’s the biggest challenge. I believe this holds true for many projects.
Has project participation been a challenge?
Right now, things are going pretty well. About nine years ago, Thingweb started as a Siemens project, with the intention of eventually handing it over to an open source foundation. At the time, all the contributors were from Siemens. It took a good two to three years before we started seeing consistent contributions from outside our organisation.
Cristiano [Aguzzi], the co-lead, was the first independent contributor. After that, people from other companies, like Deutsche Telekom, began getting involved. That’s when it really stopped being a single-company or “hobby” project.
How did you manage to attract more contributors to the project?
Back when I wasn’t very involved yet, my colleagues were already attending various events, such as EclipseCon (currently Open Community Experience). Before COVID, Matthias Kovatsch went there every year to give presentations. They also participated in events that weren’t necessarily focused on open source, like Building IoT (now called Beyond-IoT).
Thingweb committers are quite active in standardisation efforts at W3C as well, and we present at different occasions there too. Basically, we try to be present at any event where the project could benefit. I always feel like there’s some random person in the audience who might pick up on it. Even if the success rate is low in percentage terms, that’s enough. If even only one person out of a hundred ends up contributing, it’s worth the effort.
I know people often expect more immediate results from attending events, but even a small number of new adopters or contributors can make a real difference. Also, my employer encourages us to present at events and prepare talks, so we don’t have to use vacation days to attend conferences like Open Community Experience.
What are your goals as a committer and community member?
A short-term goal is to fix the Thingweb infrastructure hosted at the Eclipse Foundation. We’ve been facing some reliability and maintenance issues, so I need to dedicate more time to addressing those.
From a project lead perspective, we’re also investing time to ensure that everything being built within the Thingweb project is consumable as small, modular components. These should be easy to adopt for various use cases, across different tech stacks and programming languages. At the same time, we need to ensure that all these components continue to work well together. That’s our long-term goal for the project.
Since Open Community Experience 2024, when we launched our new website, thingweb.io, we’ve also been taking a more whole-stack documentation approach. Now, we’re pulling documentation from different repositories to ensure consistency, so whether someone lands on the website or on a repository, they’ll get the same information. This has been a long-standing effort, and it’s finally coming together.
You mentioned students working on AI code generation. Is integrating more AI also on your roadmap?
We want to use AI to generate small code snippets for different protocols, and that’s already happening to some extent. Using LLMs to write code works well in very specific cases. For documentation, it’s generally fine, but when it comes to real code, the results haven’t been as effective. The models don’t fully understand the rest of the codebase or its dependencies.
Generating something from scratch is usually okay, but integrating it into existing code is much more challenging. So far, AI serves more as a small helper than a full-fledged solution.
Any advice for someone new to open source?
One thing I often see is that people are a bit shy: they hesitate to interact with the community or to write proper descriptions for their pull requests. But I’d say this social component is almost more important than the code itself. It should really be taken seriously when you start contributing to a project.
Also, making a pull request even when it’s not fully ready is totally fine, at least in our project. We see a lot of people from different industries who hold back because they feel their work isn’t finished yet. But I’d encourage them to seek early feedback. That’s part of the process. It also took me some time to get used to this in the beginning.
How would you encourage people to get involved in open source projects?
For me, it was obvious: the library I was using needed fixes, and it was faster to just do it myself. If people see real value in open source software and want to use it as part of their product, they should simply start using it. At some point, everyone will encounter a bug or run into a feature limitation, and that’s when they’ll open an issue, leave a comment, or make a pull request. Sooner or later, they’ll need to get involved anyway. And if you’re contributing, you should benefit from it too.
I wish more small and medium-sized enterprises, especially in Germany, would understand what it means to contribute to open source and see it as something normal. Many legal teams at companies I’ve worked with don’t fully grasp the value of open source and tend to be very restrictive. Even if they’re using the project, they’re not allowed to contribute back. Some employees can’t even have a GitHub account that isn’t tied to their work email.