Features

Two Paths to an Open Source Project Release

By Venil Noronha

I joined the Open Source Technology Center (OSTC) in June after finishing graduate school at USC, and I’m delighted to note that I’ve just had my first open source project as a VMware employee approved for release: Wavefront by VMware Adapter for Istio.

This wasn’t my first opportunity to send a project out into the open source community. That was a prior, solo effort where I was one of those often-invoked but actually fairly uncommon, unpaid “bathrobe” contributors that my VMware colleague Lauren Weintraub Britton wrote about last year. Now that I’ve been able to contribute to projects in two vastly different ways, I thought it might be interesting to compare the two experiences.

Life as a “Bathrobe” Contributor

My first open source project grew out of work I was doing around three years ago for a data analytics startup in Mumbai. Like most startups, we were leaning heavily on open source code. Part of my job was to find good projects to use, which helped me realize that the work that people contributed to the open source projects I was researching could be used in ways they’d likely never imagined. This inspired me to try and make my own contributions in return.

In the beginning, I was pretty clueless. But I started looking on GitHub and Stack Overflow for issues people were encountering and I found a couple regarding one of the frameworks I was using at work – Pivotal’s Spring – that I thought I could tackle. Initially, I implemented a simple feature in Spring and got it accepted. After that, I started contributing more and eventually an entire project of mine – the Spring Cloud Config Server MongoDB project – was accepted into the Spring Cloud incubator.

All of this work I did on my own time and no one was paying me for it. I would go home, get online and try to find new issues, staying up through the night to tackle them. It wasn’t an especially fast, focused or efficient process, but it was a lot of fun. I can really understand the appeal of contributing from the “bathrobe” perspective.

A Full-Time, Open Source Project Contributor

Shortly after the Spring Cloud extension was accepted, I went to grad school. I still worked on open source projects, such as a telemetry system I helped build for our solar car team, but most of the time I was too busy to contribute to other projects. It was internships at VMware that brought me to the OSTC to work on open source projects in the Cloud Native domain full-time. During a recent intern poster session, conversations led me to this idea of creating an adapter for Istio to publish metrics to VMware’s Wavefront monitoring and analytics tool. Istio is an open source service mesh framework for controlling and observing services deployed on the cloud. It depends on customized adapters to publish metrics to third-party services.

I started playing around with the code and eventually developed an adapter that was recently approved as an official new open source project hosted by VMware’s GitHub repository: Wavefront by VMware Adapter for Istio. This second release was every bit as satisfying as the first. I’m proud to contribute something that the community finds useful. This time, though, I was being paid to do the work, which in a way has made it even more special. When I first heard about and began to appreciate open source development, I never imagined that I could be paid to contribute. I’m amazed to have the opportunity to occupy what would long have been my dream job if only I’d known it existed.

But beyond the personal satisfaction, there are other advantages to developing in this way. For one thing, you can simply get more done when it’s your day job, which makes progress happen much faster. If you work in a team like we have here at the OSTC, you also have the advantage of being surrounded by smart, experienced colleagues who can help you tackle problems with more creativity and with better chances of doing things right. Working in a group like this also makes it easier to figure out the areas that have the most promise and to find people who can either advise or partner with us.

It’s true that as a full-time open source contributor, your choices about what to work on are, to some extent, constrained. If the joy of “bathrobe” contribution is having the entire open source universe to play with, it’s an adjustment when someone is paying you to contribute because you have to pick projects a little more carefully, focusing on those relevant to the business.

Yes, that impact includes furthering the interests of your employer. But while I’m definitely looking to add maximum value to VMware in the work that I do, it’s in the nature of open source that I can’t do that without creating work that is also extremely useful to the wider community as well. In that respect, my work in open source hasn’t changed. It’s all about making as much as possible better for as many as possible. And to get paid to do it – that’s still a dream come true!

Stay tuned to the Open Source Blog for more insights from our OSTC and follow us on Twitter (@vmwopensource) for the latest open source project updates.