Thursday, March 31, 2011

8 Ways Companies Can Contribute to Open Source Communities

Being Open Source is really the way to go. These are some of the reasons we are using OSS. Be friendly and helpful helps everyone go a long way!

Dr. Nic Williams is VP, Technology at Engine Yard where he is responsible for its large Open Source program. You can follow him on Twitter @drnic and read the Engine Yard blog at engineyard.com/blog.

Open source software (OSS) is recognized for the cost savings it delivers when compared with proprietary alternatives. As enterprises continue to adopt OSS, the open source communities, mostly made up of volunteers, have been calling on enterprises to make contributions and donations with the aim of fostering open source software innovation and growth.

With more that 1,000 open source communities in existence today, enterprises have many options when choosing where to contribute. With each community potentially delivering enterprise-grade technology, large companies have many reasons to keep open source alive and well. How can enterprises evaluate which communities to work with and how to get involved? Here are some suggestions.


--------------------------------------------------------------------------------

Why Companies Should Care and Contribute


--------------------------------------------------------------------------------

Open source has had a direct impact on a major aspect of how we live today in an Internet-driven economy. Everyone from Amazon to Google to Twitter to IBM to Microsoft has been impacted in some way through open source software.

As an example, who would have thought any smartphone could overtake the iPhone in handset sales? The leading smartphone operating system is now Android, an open source project by Google.

Taking a look at history, in the 1990s, the great innovations of the web were open source software — Linux, Apache, MySQL, PHP, Perl — that radically reduced the software costs of developing web applications. Lower costs enabled massive innovation. Ruby on Rails is the latest example of free software that also reduces the human cost of developing web applications through its advanced MVC framework.

It’s clear that most major businesses are using some open source, whether they know it or not. Every Mac has open source bundled with it. Linux servers and desktops are open source. The Android phone software is open source. Microsoft even uses OSS while also viewing it as a competitor to its own products and platforms. Is there a business or enterprise that claims to be “open source free”?

Another example is my own employer, a Ruby on Rails hosting platform provider, which employs seven developers to work on open source projects full time and run an OSS Community Grant program. The reason that we make these investments is to ensure the health and success of the Ruby and Rails communities who form our core customer base.

One of the massive benefits of using open source within your organization or your core applications is that you are able to debug and improve these shared libraries/projects. These projects and their communities are your enterprise’s primary avenue for contribution. Permit (freely encourage) your developers to engage with the OSS community around each project. They, and your company, will get two primary benefits: You will gain a more intimate understanding of the projects, and you will have social and productive relationships with the other core developers and contributors in the community. It’s easy to ask a friend to help solve a problem. The first step is to contribute to their project; 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 Communities


--------------------------------------------------------------------------------

Corporate 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 project’s 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 project’s brand and identity is too aligned with a specific company, the project’s 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 to fork the project and rename it Jenkins CI. The community of plugin developers and users quickly followed, forking and renaming their projects. It’s important to remember that contributions to open source communities do not necessarily come with absolute control.


--------------------------------------------------------------------------------

Eight Ways to Contribute


--------------------------------------------------------------------------------

The 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 weren’t 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 enterprise’s success or failure to navigate OSS communities and utilize OSS may enable or bottleneck its success.


--------------------------------------------------------------------------------

Source:
8 Ways Companies Can Contribute to Open Source Communities

No comments:

Post a Comment