Lavi blog

8 Ways Companies Can Contribute to Open Source Communities


friendship and partnership will follow.What if an OSS community does not want your contributions and assistance? Select a competing/alternate project. The true power of open source is the OSS community that forms around ideas and projects.The Impact of Contributions to OSS CommunitiesCorporate contribution to open source enables highly productive communities. There are two types of communities: Those with a large corporate sponsor and those with grassroots support. The Android smartphone operating system or the Java language and runtime are examples of OSS projects that fostered large communities of users and developers and had corporate sponsorship.The Ruby community is an example of a grassroots project. Of the 20+ core committers, none are full time developers on Ruby. In fact, the success of the Ruby on Rails web framework was another separate grassroots community which fed code contributions and grew the user base of the Ruby language itself (though it could be argued that 37Signals, the originators of Rails, was the corporate sponsor). The important thing to remember is that communities can grow faster and drive more innovation when they receive contributions.OSS communities are a composite of skills (novice to expert) and of commitments to the project (users to core contributors). A community will have intermediate users helping novices, and experts helping intermediates. A community without any consistent, core contributors may mean that novice and intermediate users and developers cannot access education and assistance. They may move away from this OSS community and choose alternate projects.There is an important funnel within OSS communities that needs to be fostered: Novices become intermediates who become experts, and users become developers who become core contributors. The benefits of corporate assistance can be to ensure the community has consistent access to intermediate and expert assistance for users and developers.The net goal of an OSS community is self-sustenance for the projects problem space. Not all corporate assistance serves this net goal. For example, if the core contributors are experts and cover all needs of the project in their role as developers, there may be no motivation for users to evolve to become developer contributors. Also, if an OSS projects brand and identity is too aligned with a specific company, the projects users may not identify as members of the OSS community. In each case, users may have fewer reasons to join the OSS community and to contribute to it and share it with their peers. The OSS community growth is stunted, the funnel is poorly balanced with only non-committed users and company-sponsored experts, and few participants in between.With this point, there is one recent, high profile, real world example. The Jenkins CI (formerly Hudson CI) community is large, and recently demonstrated it was loyal to the community of Jenkins, not the trademark holder of "Hudson" (Oracle).When Oracle, a relative newcomer to managing open source projects and communities, attempted to enforce rules and restrictions on the Hudson CI development team, a community decision was made toand rename it Jenkins CI. The community of plugin developers and users quickly followed, forking and renaming their projects. Its important to remember that contributions to open source communities do not necessarily come with absolute control.Eight Ways to ContributeThe growth of OSS continues unabated. New platforms, new languages, and new frameworks all encourage developers to create and contribute OSS and the OSS communities around the projects themselves. None of the open source software used today would have made a dent if it werent for contributors. Contribution to OSS communities is always appreciated and drives innovation and growth. Contributions can range in activity from the most simple to the most complex. Here are eight ways that companies can contribute to the open source community contribution:Submit bug reports.Improve documentation.Provide testimonials about the OSS your enterprise uses.Allow staff members to work on OSS libraries/applications that your company uses.Push changes to OSS back to the developers of those projects.Host OSS club meetings on your premises; or feed and water the attendees.Extract out and make "open source" the libraries or applications developed in-house.Free up use of paid software/services for OSS communities.Staff developers are increasingly demanding that they be allowed to contribute to OSS communities as part of their daily job. Salary and perks may be less important to many developers than the chance to contribute and participate with peer developers around the world. The opportunities for enterprises and their staff to participate in OSS communities is only just beginning. Your enterprises success or failure to navigate OSS communities and utilize OSS may enable or bottleneck its success.Interested in more Business resources? Check out , a new way to discover information on your favorite Mashable topics.Image courtesy of Flickr,, songs DJ KJ, music mp3 Paul Van Dyk