Why I use open source code
Because it is not about re-inventing previous concepts but utilising and improving upon proven concepts. Therefore reducing the time it takes to simply get it working and spend that time on making it suit the business needs.
What about Intellectual Property?
As a business you can ask yourself, do you want the cost associated with maintaining and developing your own framework or technology? When technology always changes and is constantly being updated? Or do you want to focus your costs on the content/ideas/concepts and the way they are presented to your audience?
Another way to look at it is if you have created a piece of technology, by putting it under an Open Source license you enable the world to be able to contribute which can enable your project to create a community. This community can help you find bugs, add new features, create new documentation at a rate that can not be sustained by a small group of developers. You can also find new talent in the community, which can reduce the costs of training new people and also stops the technology or code base living in one persons head.
Open Source allow’s developers of the solution the freedom to produce solutions with a more agile approach and also to have more freedom of choice of frameworks, libraries etc.
If you use an Open Source framework such as Drupal, it is then your choice to give back to the community any additions/changes you do or to enable further in-house development of customised components.
Why give back to the community?
A business can still create custom modules/widgets however you also open the code up to other people who may be able to help to make it better. This can reduce overall development time and introduce new features and also bug reporting. It also takes the dependence of any one developer, whilst there is a head developer needed this can be a company role of the technical lead and proper documentation can enable handover procedures.
There is a point to make that setting up the needed infrastructure and labor cost of maintaining the module will need to be looked into and factored in. This can be compared against predicted community assistance but can never be known until the code is released. There are always pros and cons in doing everything The main pro to focus on is the introduction of new concepts and ideas to your code once shared and move from reliance on a couple of individuals to a whole community.
There is always sponsorship of camps, conferences etc that a company can do to give back to the community if giving back code is not an option. By providing sponsorship money it helps get your business name out there and also gives back to the developers who created that framework and enable your website solution to function. The more sponsorship a community gets the more able that communities association is to put on training events and information days via user groups, talks, conferences.