Last week I attended Microsoft’s Build Conference in Seattle. I was helping at the .NET Open Source booth which promoted the .NET Foundation and all things open source. The conference was very nice, and the energy level was high. I had conversations with a wide variety of people during the conference and it is obvious that Microsoft’s strategy of embracing open source is welcomed by developers. I Want My Developers to Contribute to OSS… but During one of my discussions a gentleman told me that his organization uses open source software (OSS) and he wants to allow his developers to contribute to OSS, but he needed to be able to justify it to his corporate leadership. His organization is a large, global organization so he needed solid and clear reasoning for why contributing to OSS is something his company should support. He asked me if I knew of any blogs or resources that could provide insight into this topic. I thought about it and while I’m sure there is info somewhere, I wasn’t aware of any specific blogs or content about this subject. I am obviously biased about this topic, but let’s consider some reasons why a business should support OSS… especially if their organization is using OSS-based products. Before we list out reasons we should first define what “support” means. When business people hear the term “support” they generally think about money, cost, or financial implications. Though, in the open source world it’s not necessarily about money as support can come in many different forms. Of course, the obvious need for any OSS project is code contribution, but there are more ways to contribute than one may initially think. As examples outside of the code, organizations could allow their developers to assist in marketing and promotions of sub-projects, conferences, user groups, GitHub repos, project documentation etc. Developers could also volunteer in any area of the OSS project as well as exchange knowledge online via forums, blogs, StackOverflow, and others. Organizations could also open up their offices for user group meetings, donate swag & door prizes, or sponsor the food at meetings. Any step taken to help move the the OSS project forward is a form of support. Why Should Businesses Support Open Source Projects? Now that we know that support can come in forms outside of financial contributions let’s get back to the subject. If you are faced with the need to justify supporting open source software to your business leadership here are some thoughts and ideas to consider: New Features: If a business need arises within your organization that doesn’t currently exist within the software, having the capability and knowledge of how to make contributions to add those features is a great way to give back to open source projects and communities. In the DNN ecosystem we recently saw this happen with the contribution of PolyDeploy by Cantarus. They needed the software to do something that it wasn’t so they built it out and contributed it back as open source to the DNN Community. As a business you can shape the future roadmaps and feature sets of OSS projects by having your employees involved. Locate Talented Developers: Attending and speaking at conferences and meetups is a great way to connect with developers of all levels. Connecting with talent in these locations is a great way to find potential new hires for your organization. Perhaps one could tell their company’s HR department that supporting OSS is a form of recruiting. After all, do you know who some of the top OSS user group meeting sponsors are… recruiting agencies! Brand Promotion: Being actively involved with open source projects helps promote your organization as one that supports OSS which enhances brand reputation and increases the reach and awareness of your organization among developers. Snowball Effect: Actively maintaining and contributing to OSS projects helps show activity around project(s), creates energy and momentum, encourages others to get involved, and extends the longevity of the solution by helping shape perceptions of interest levels of the project. Take and Give: If your organization is using OSS then you are already standing on the shoulders and contributions of others. Every time I use DNN I am well aware that I am achieving things through the software that I could never have done alone. Along with helping extend the project’s lifetime, giving back to the community who has freely provided functionality that your organization uses is the “feel good” thing to do. You freely take and use the software, why not give back with the same frequency? Opportunity Cost: Let’s consider the opposite perspective for a moment. What would it ultimately cost your organization if you don’t give back to an OSS project that you are using? That is, if you’re running on OSS software and the project loses momentum, developers abandon the project, and then it stagnates… what would the cost be to your organization for having to switch solutions or maintain it on your own moving forward? These costs come in man hours, sometimes they come in paid license costs, and time spent learning/training your developers on new solutions. Would the “cost” of contributing along the way and continuing to make the solution better be less than the cost of the solution ceasing to exist? Free Cross-Training & Knowledge Exchange: Once your developers get involved in OSS projects and communities they will inevitably meet other devs who are well-trained in the technology. These seasoned devs are great developers to learn from. Your company will likely become better simply by exposing your team to other developers in the OSS projects space. I learn new things every week and month at user groups, in forums, Slack channels, conferences, etc. Increase Efficiency: How long does it take your developers to solve issues within open source software? If your developers are active in OSS projects and communities their networks will be filled with subject matter experts who can assist in resolving issues. This easy-access network of experts essentially allows developers to leverage the knowledge and experience of an ecosystem, which is very powerful. Instead of Googling and searching for answers developers now can tap the minds and experience of people very close to the information they seek. And who doesn’t like efficiency in the business world? Developer Mentors: In my experience it’s easier to find mentors around OSS projects. Generally speaking, developers involved with OSS projects are some of the most giving and generous people you will meet… it’s just the nature of the open source environment. When senior developers see motivated and passionate younger developers entering their communities they enjoy connecting to ensure new members are onboarded correctly and aware of all available resources. Would an organization benefit from their employees learning from more senior developers and finding mentors who can help them do their jobs better? Creative Outlets for Developers: Sometimes developers who have been around a while get mentally drained or tired of working on the same projects. These individuals are great examples of how allowing developers to work on OSS projects can serve as a creative outlet and break up the monotony of constantly working within the same “box”. Have a developer who likes to feel challenged and learn new things… let them contribute to an OSS project and you’ll likely keep them around longer. In Sum In this blog I’ve summarized my thoughts around why it’s important for organizations to give back, be active in, and support OSS projects and communities. As one considers justifying OSS participation to the business side of an organization much of the conversation will center around educating the business-side on how OSS ecosystems function. Communicating the potential positive benefits will be what’s needed to help bring on a change in perspective or cultural shift within the organization. In my mind there are only positives to gain from contributing to OSS projects. Your developers will learn more, be empowered, meet new developers of all ages and skillsets, and your organization will be more efficient, and will likely be viewed as a great organization to work for. If you don’t want to jump in head first then just try this one small thing to get your feet wet - if your developers have “down time” then simply encourage them focus their energies and time to assisting with the OSS project in any area they choose and watch what happens to your company in the months ahead. Be sure to pay attention to job satisfaction levels, quality of incoming new hires, general passion for work, and the perception of your organization among developers in your space. After all, have you noticed that OSS projects that thrive are the ones with active community support? Who doesn’t want the project they use to not thrive? From my perspective the benefits of contributing to open source software far outweigh the drawbacks of not contributing.