Open Source Social Responsibility should be considered on a par with Corporate Social Responsibility. Businesses that use and rely on Open Source software need to play an active part in Open Source communities. If done correctly there can be huge benefits for businesses that realise this.
The perception of Open Source software amongst business leaders is clearly changing. The historical suspicion that free software was somehow dangerous, unstable and not enterprise ready has almost entirely eroded. Today major corporations run Open Source software everywhere and major business functions are totally reliant on it. With the pace of commerce it is often easy to forget how Open Source software is created.
Often Open Source projects start with a single developer looking to solve a problem. This might grow to two or three as the project grows but typically these developers are solving their own problem and working under their own steam. As a project grows users of the project will start making feature requests, reporting bugs and perhaps even sending code to the projects. Typically the creators of Open Source software do this in their own time at no cost.
For businesses that rely on Open Source software the idea of being able to use things for free is often seen as very attractive by management layers looking to keep costs down. Clearly Open Source software will be less expensive than licensed software but the idea that a business should consider it as free is unsustainable for both the business and the creators of Open Source software.
Businesses should take responsibility for contributing back to Open Source and it is relatively easy to become a responsible and active business member of an Open Source community.
Here are a few ways that businesses can contribute and also benefit from contributing.
Open Source projects can directly affect client projects or a product. It might be the case that a library does almost everything needed but not quite. This scenario is the perfect opportunity to add the feature and send the project a pull request. This is of huge benefit to Open Source projects as the community on the project grows and additional features are added.
Allocating 10% of a developer’s time in a business for Open Source projects is also a clear commitment if it is difficult to Open Source product or client code.
Businesses that rely on a particular Open Source product often choose to sponsor an entire project. The Redis project for example is maintained by a single developer Salvatore ‘Antirez’ Sanfilippo. VMWare and now Pivotal Tracker have chosen to fund the development of Redis. When products start to rely heavily on Open Source projects it makes total sense for businesses to sponsor a product. When done right the project maintains autonomy and the sponsoring business benefits from the person that knows the most about the software being at their disposal.
Open Source software is reliant on disparate individuals coming together to form communities. Whilst much collaboration happens online there is no substitute for face to face discussion and collaboration. Businesses often choose to sponsor meetups or conferences to help facilitate this. For the business there is the opportunity to increase goodwill amongst developer communities and even to aid recruitment amongst a specific group of developers.
This is a great option for smaller businesses wanting to give something back to communities. Sponsoring food or drinks at a small meetup can be a relatively small amount.
Inevitably using Open Source Software will only get you so far. Taking the view that where possible software that you write for clients and projects should always be Open Source is really positive for the community. It gives a business a strong reputation within developer communities and if the library is picked up by the community it is highly likely the project will start to receive patches and new features. This is great for any products that lean on the library in the long term.
Many software businesses have experts in their field. Allowing and encouraging these experts to share their knowledge and encourage debate at conferences is an excellent way to contribute to Open Source communities. Often the speaker will find that assumptions are challenged or validated leading to a huge benefit for the business. It shows engagement with communities as well as supporting professional development for an individual.
Gittips allows developers to receive micro-payments for Open Source projects that they are working on. The service allows businesses or individuals to send money directly to developers. It is a simple way to support Open Source projects.
Cold, hard cash is the least imaginative way to support Open Source but there are a number of projects that reach out with requests for cash. Recently npm and nodejitsu have started a campaign to raise $20,000 to scale npm. These projects deserve support from businesses that rely on critical Open Source infrastructure.
Transparency around these projects can be a little opaque though. Where does this money go? Who is working on it? What is it going to deliver?
A lot is made of Corporate Social Responsibility. I’d like to argue that any business that relies and uses Open Source software has an Open Source Responsibility.
This can be achieved in a number of ways whether it be man hours, resources, sponsorship, altruism or just plain hard cash. The most important thing is for businesses to realise that this is a responsibility and that with a little thought everyone benefits.
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Linux and Unix watch command tutorial with examples
Tutorial on using watch, a UNIX and Linux command for executing a program periodically and showing a fullscreen output. Examples of watching a file download, a network interface come up, and showing the five most CPU intensive processes.
Build your own Vim statusline
Statuslines in Vim are not hard to create. Making your own means one less dependency in your life.
Custom Vim Bindings in tmux 2.4
tmux 2.4 made a significant change to key bindings. Here is how to support custom keybindings for versions before and after tmux 2.4