Should you contribute to open-source software? It's complicated.
The following article is the foundation for a 2019 Drupal GovCon session in the Business + Community track entitled “Should you contribute to open source? It’s complicated.”
It’s true that the act of contributing to open-source software (OSS) is complicated. Having the requisite skills to perform the work and the time to navigate a community are substantial barriers, to name just two.
Ever the fan of double entendres, I believe that whether OSS contribution is the best usage of time and skill for professionals who work in OSS (read: everyone) is also complicated.
In my career (all in OSS, excluding my high school sandwich artist days), my colleagues have held near unanimity that it’s in the organization’s best interest to contribute back to the OSS tools it uses. They’ve typically advocated doing so during company time (for brevity’s sake, from here on, I’ll refer to this as “flex time”). Beyond my anecdote, the data also show that a majority of software developers contribute at least occasionally.
In the sections to follow, we’ll briefly look at the OSS ecosystem, analyzing both the motivations that drive and the barriers that challenge the highly-skilled individuals and organizations who contribute to OSS. We’ll also take a look at some alternatives to OSS contribution and how we could use our limited (flex) time.
What Is Open-source Software (OSS) Contribution?
According to Redhat (who runs opensource.com and whose HQ is in our backyard)
Open source software is software with source code that anyone can inspect, modify, and enhance.
A few examples of popular OSS projects that you’re perhaps familiar with (at least one of which you’re using right now) are the Google Chrome Browser, the Drupal CMS and the Jekyll static site generator, the platform for the Savas website (at the time of writing this). In fact, much of the foundation of the internet is OSS. Anyone who has the requisite expertise can modify such programs; the access is free. Whether or not those modifications qualify as “enhancements,” much like beauty, is in the eye of the beholder.
The opposite end of the spectrum is closed-source software, which is not publicly available to be modified and is almost always exclusively licensed by the company that owns and protects the proprietary code to consumers and businesses who use the product. A couple of examples of closed-source software that you may be familiar with are Adobe Creative Suite and Microsoft Office.
Successful OSS projects are highly utilized, and by design, foster substantial collaboration causing robust and complex communities to form around them. Let’s look at the stakeholders in those communities.
There are two fundamental stakeholders that comprise the contributors to an OSS community: individuals and organizations. Organizations are naturally comprised of individuals. Individuals either work for an organization that uses the OSS tools or represent themselves. When not employed by a company, individuals are either hobbyists or what I would argue is the more sustainable of the two, self-employed freelancers.
Organizations and individuals have some nuanced distinctions in their motivations and how they behave within OSS communities. A single contributor’s motivations can range from entirely self-promotional to solely altruistic, which depends largely on the individual and their circumstances. An organization’s incentives tend to be more systematic and structured.
Individual Stakeholders And Their Motivations
Many things motivate us in the workplace; some irrespective of the type of work, while others are inextricably linked to it. We humans have a deep desire to belong to a group, to be included, to be accepted. For many individuals, this undergirds at least some of their motivation to contribute to an OSS project, and by extension, to become part of a community. Contribution can also positively influence one’s career opportunities by demonstrating proficiency publicly with a particular tool. Developing a professional network with other OSS professionals within the community can also be advantageous and complements the skills gained.
Further, as Daniel Pink expresses in his seminal book Drive (cartoon-animated with a sharpie if you prefer), significant motivations for knowledge workers across industries are autonomy, mastery, and purpose. In the best of circumstances, OSS contribution can check all three of these boxes if the contributor has some control over what they’re going to contribute. This Harvard Business School report exemplifies the demonstration of mastery:
Companies that contribute and give back learn how to better use the open source software in their own environment. Frank Nagle - HBS - The Hidden Benefit of Giving Back to Open Source Software
A local favorite of mine, behavioral economist Dan Ariely, demonstrates the importance of “purpose”, which he refers to as “meaning” in experiments he’s conducted targeting knowledge workers.
Organization Stakeholders And Their Motivations
In some ways, organizations share motivations with individuals as they are a collective of them, or in the case of a U.S. corporation, a very powerful person, if you prefer. I don’t. However, I’ll focus on the motivations that are unique to organizations for the sake of comparison.
An organization looks at self-preservation differently than an individual. An individual needs to eat, drink, sleep, and be be loved. An organization, to keep its doors open, has to do things like marketing, sales, recruiting, and the like. For agencies like ours who work with OSS, but whose business model is to serve clients, OSS contribution — not merely leveraging OSS in a build, but true contribution to a core project — requires either volunteer time, or company dedicated flex time to do the deep work of OSS contribution. There are rare opportunities in which project work fits well with an OSS contribution, but this is typically a serendipitous exception, not the norm. The flex time does not bring in revenue directly, so it represents a short-term opportunity cost to the organization of someone’s (usually a developer’s) time. The question is, is the investment worth it?
OSS Contribution Marketing And Sales Benefits. Substantiated?
Organizations may market OSS contribution as conferring a competitive advantage but, IMCO (correct), that advantage is often overstated. Differentiating one’s organization from its competitors is the world of marketing and sales, and is just the game we all play. Try this overzealous marketing statement on for size that I referenced in my Drupalcon talk in 2016:
At Chapter Three, our dedicated team of experts helped to build Drupal 8, and we are helping port modules to Drupal 8 daily. Our investment in Drupal 8 has given us unprecedented access to the latest Drupal 8 techniques and put us lightyears ahead of others agencies.
Perhaps a touch too braggadocious? I’d be curious to know how that worked out for them. Also, “light years”: two words, and is, of course, a measure of distance, so I’m not sure exactly where that puts them on the map, but seemingly not “light years” ahead in grammar compared to “others agencies” ;) </rant>. Partial dig notwithstanding, we appreciate your support in making Drupal 8 better Chapter 3 – we undoubtedly benefited from your work!
Obviously, others in our industry, like Mediacurrent, do this as well (including us). Like Chapter Three, Mediacurrent is also well known in the Drupal community as a perennial contributor, and I have a lot of respect for them as an organization.
While contribution demonstrates some skill with a tool, it is only on rare occasions that a specific OSS contribution is a meaningful distinction – decision-makers who determine what consultant to hire for a project usually don’t have the experience to understand what the OSS contribution represents and, in most cases, do not care. Rather, OSS contribution is part of a whole package of being a good standing digital corporate citizen, but it’s rarely the chief decision-maker in a sale.
OSS Contribution Recruiting Impact
companies that pay employees to contribute to open source are improving their image and, potentially, their ability to recruit top talent. Frank Nagle - HBS - The Hidden Benefit of Giving Back to Open Source Software
In the knowledge economy, an organization’s most valuable resource is its people, and providing the opportunity to contribute helps with employee satisfaction (and therefore, retention) for the contributor. Savas Labs has had the chance to grow throughout 2019 consistently. With that fortune, I have spent a fair amount of time conversing with applicants, a majority of whom express an interest in the opportunity to contribute to OSS and that they appreciate how we do that at Savas. So, it stands to reason, to remain a competitive workplace, it has become somewhat of an expectation that OSS contribution is part of company time. Marketing these contributions entices future applicants, which can be tremendously valuable.
I would argue (I am, quite cogently I might add) that, recruiting, employee satisfaction, and retention confer the most significant organizational benefits from flex time OSS contribution. Existing and prospective team members do understand OSS and are intrigued by an environment that will help them contribute to it for all the reasons mentioned.
OSS Contribution Financial Impact
One thing we’ve learned from Pink is that people aren’t as professionally motivated by money as we might think they are. When the work requires at least “rudimentary cognitive skill,” an individual tends to focus on other emotionally fulfilling aspects of their work. In most cases, OSS contributors within a company don’t see much difference in their compensation regardless of the amount of time given for contribution. Organizations, however, typically have more financially-oriented goals and have a greater onus to serve their stakeholders (employees, owners, and investors). Therefore, necessarily, they need to focus on money more than individuals do. To “take the issue of money off the table” as Pink suggests, those of us who run organizations need to be financially competent and transparent so that finances are not an issue non-owning team members need to worry about. All this to say, there are challenges to striking a healthy balance of company flex time, and it is of utmost importance for organizations to justify the return on investment from a host of perspectives.
Challenges To OSS Contribution
Like all things in life not created equally, the ability to contribute to OSS is no exception. To his credit and admitting to the errors of his previous oversight (with some assistance from the diversity and inclusion team, as well as others he’s employed), the creator of Drupal, Dries Buytaert, writes well to the fact that OSS contribution is a tremendously privileged activity. Therefore, who gets to contribute is not evenly distributed in society, and neither are the advantages that come along with having those public contributions to reference. Others have said it well in the past:
It takes time and mentorship to contribute to open source, and not everyone has those two things. Mark Lavin @ All Things Open 2015 then of Caktus Group
Incidentally, I’ve referenced three other (white) men talking about privilege. Noted .
Interviewers – the Savas Labs recruiting team is no exception – will often ask about, and certainly search for without asking, public proof of expertise. OSS contributions are the most common and relevant bits of this information. It is a data point that we’ve learned to appreciate the embedded privilege that may be associated with it and judge accordingly.
If not OSS contribution, then what are the alternatives?
In our profession, we must continuously prioritize how to best use our limited time in a way that’s most rewarding to the relevant stakeholders to our organization: our team members, partners, and depending on your perspective, to society at large. This is the area I probably spend the most time thinking about, and yet also seems to be the most challenging from which to derive clarity. Many others have been thinking about these things for a long time as well. Here are a few approaches out there:
- Implement a volunteer day: We’ve recently added a Community Service day to our company benefits. This a good way to empower people with the autonomy to give back in however they see most fit.
- Start an innovation lab: Our neighbors and good friends one block to the north, Viget, instituted something they call “Pointless Corp” in which, when team members have flex time, they may choose to build useful or fun projects just because, in their case, with a unique brand of “pointless” irreverence. While clearly not aiming for Pink’s purpose of the three main drivers for knowledge workers, Pointless Corp provides Vigeters an opportunity to develop mastery autonomously. As a wise, Meatloaf once said, yes, the same Meatloaf who would do anything for love: “two out of three ain’t bad.” Such passion that Meatloaf!
- Provide autonomous structure: Our neighbors and good friends one block to the south, thoughtbot, have something they call “investment time” in which they give their team members guidance on what to do within some parameters, but it’s primarily up to the team member to decide what they’ll work on. They dedicate their entire Friday each week (with few exceptions) to investment time. This commitment is impressive, and as far as I can tell from speaking to their team members, something they really appreciate.
- Work on pro bono projects: In other words, providing consultation and services for free for a mission-driven organization or one that has limited resources (often a nonprofit). These projects can be highly beneficial to the receiving organization and can give purpose to the delivering team when the services they provide make an impact. We had a great experience with Barbara Lau and the Pauli Murray Project. Merging the often different work styles and pace can present challenges. I recommend this resource provided by Ragtag, an organization whose purpose is to “amplify progressive organizing in innovative and high-impact ways” on how to have a successful partnership. At Savas, we are in the process of formalizing an initiative to take on at least one pro bono project per year. More details to come in a follow-up post.
How do you feel about these options? Does your company do something different, or do you have an idea of a good usage of flex time? Please let us know via this super short survey or by leaving a comment. We’ll share the results in a follow-up post when we’ve collected some data.
So, Should You Contribute To Open-Source?
So what’s our hot take given the array of incentives, challenges, and goals of organizations and individuals on whether or not you should contribute to OSS? Well, I wouldn’t be a proper consultant if I didn’t answer this with a resounding: it depends, now would I?!
I won’t try to be prescriptive for all individuals as to what they should do with their free time, but I would be remiss not to point out again that, in general, software designers and engineers are a very privileged group. If your goal is to “give back,” I would encourage you to ask yourself if those you want to help the most are other software developers and if not, how you can best use your resources to help whoever else it may be. Ultimately, OSS contribution is a good deed; sharing is caring. I have had opportunities to do sponsored OSS contribution and have also volunteered my time, though even some donations come with perks :
Bicycles on shirt: ✔️ #crocs on swag socks for being a @gatsbyjs maintainer: ✔️ Flare dialed up to 💯: ✔️ With our powers combined... it's going to be a great afternoon! #buildwithgatsby pic.twitter.com/6fuNuJQXX5— Savas Labs (@SavasLabs) September 27, 2018
From an organization’s perspective, it depends on your company goals. Generally speaking, if you’re able to contribute to OSS, you should. On balance, contributing to something that gives value to others for free while improving your team’s job satisfaction and career options presents a win-win for the community and the contributor. Given the importance of your people, improving happiness has serious productivity implications, and improving recruiting quality and efficiency also have substantial payoffs, as it’s where we invest much of our time.
If your organization seeks to benefit society more broadly with its flex time, a goal of ours at Savas Labs, we believe there are more powerful ways to consider beyond OSS contribution.
Related Blog Posts
Working with Storybook and Drupal (Part 1)
On using Storybook to integrate component libraries into Drupal 8 projects.