1 month ago

Thoughts on Open-Source

If you’ve been reading me for a while, you might know that I advocate open-source software. I can’t pinpoint exactly what makes me connect with it so strongly, but I believe it has something to do with communities.

I noticed that I like to build with other people and leave a lasting impact on them. I have a similar personality outside of the context of open source, and I noticed that my dad is the same. I also enjoy empowering others through my work, sharing thoughts like these, or collaborating with them on exciting challenges. This might sound odd in a very capitalist world, but the peace of mind this creates is priceless. I wouldn’t change it for anything else.

The problem is that money will get in your day whether you like it or not. The most common case is when you are an open-source developer and realize that you need to do something to make a living from it. Many open source developers get a job and continue to work on open source in their free time, but this might be a huge mental stretch, especially in some life phases. That was the case when I got the job at Shopify. They met me through my work on Tuist, which received no support from the company, neither by using it internally nor allowing me to spend some time contributing to it. I was younger and emotionally more dynamic to navigate it well.

In other cases, the open source developer gives the company the unique value that companies can’t compete with, such as a community and the recognition that comes with it. So, the developer becomes an influencer for the company, on top of meeting their daily responsibilities. If you look around, you’ll find some examples of that–a developer X who built Y and works now at Z, and therefore, I want to work for Z too because X is there. I sometimes wonder if open-source developers should charge for that or be paid more because, in terms of responsibilities, they are bringing tons of value to the company. At Shopify, I hired people who came through my open-source work. Even I talked so many times publicly about the exciting stuff my teams were working on. I did it naively, not knowing how those organizations operate, and to this day, I still feel guilty and somewhat stupid for having done that. But as I said earlier, whether you like it or not, the intrinsically motivated work that builds communities sooner or later meets the extrinsic motivations of a company that wants to profit from it. I won’t get into Bitrise because I have already talked about it.

The one model, which a few try because it requires wearing a different hat, is evolving the open source model to have a commercial component associated with it. This is the approach that we are taking with Tuist Cloud. We build something on the open source foundation but to build the source of revenue necessary to maintain the open source side. My Northstar is a product developed in Spain, Penpot, an open-source alternative to Figma that embraces standards over proprietary formats with rugged portability. It’d be my dream if we could achieve that with Tuist.

This is a model that we are seeing getting popular as COSS. However, I’ve seen some of those projects taking a different approach. Rather than being intrinsically motivated by open source values and what they enable, they are extrinsically motivated by making money and embracing open source as a marketing strategy. Most of them have VC funding and have contribution license agreements (CLA) to make them owners of your contributions. So even if they pitch it as “it’s open,” which is very sexy on a landing page.

The above model doesn’t align with my principles. I’d rather have a permissive component that anyone can take and do whatever they want and a closed-source extension to ensure funding for the project. Ideally, everything is open source, but we might make things unnecessarily challenging when bootstrapping a business. Our goal with Tuist Cloud is to open-source it eventually.

Re-connecting with the things that bring me joy is bringing back the mental health that I lost by being embedded into an environment designed for competition with all sorts of psychological tricks to make you overcommit and squeeze every gram of creative energy. Not anymore. I love collaboration, building, and empowering people, and doing that makes me stay mentally healthy and happy.

About Pedro Piñera

I created XcodeProj and Tuist, and co-founded Tuist Cloud. My work is trusted by companies like Adidas, American Express, and Etsy. I enjoy building delightful tools for developers and open-source communities.