4. Open Source Software: Benefits of using open resources

(This video can be downloaded from Media Hopper Create.)

What are the benefits of using Open Source Software?

There are often the intended effects and the side effects or unintended effects. The intended effects are usually the business problem you are trying to solve. These can be many and varied.

  • I want to cure Alzheimer’s disease
  • I want to create a service to that helps people find a B&B easily in their destination city
  • I want to create a product that helps me identify sales leads and develop relationships
  • I want to make it easy for businesses and customers to process their returns

The unintended effects can be the effects of the product on the wider community, society or even global markets.

  • People take the product in an entirely different direction
  • They find an innovative new use for the product
  • They combine the original product with new and unexpected component features
  • They open new markets, perhaps in different parts of the world
  • Enabling easy access to work and do business by 3rd party organisations and communities

Give me an example…

By releasing Android, Google intended to increase Ad revenue with the release of its open source platform. In the past app developers had to pay the handset operators for the tools to develop apps for them. The side effect of Google’s Android release was that it released the networks from specific handsets.  With Android, handsets were released from a network, and released from an operating system, and a whole new industry of app developers was born. Applications could now run on different handsets from different developers.  By opening up the platform to the global community, developers were able to produce software that gave access to the world-wide-web, and a worldwide community of developers and businesses.

What is the difference between Open Source and Open Development?

Open development is the process of using development in an open way.  

Android is managed by Google and all the developers tend to be employees at that company. It is defined as open source software.

In Open Development, developers can get involved and participate in the development of the product.  This is where there is the best opportunity to contribute back.

Moodle is an educational platform where developers can contribute back. Developers can contribute libraries, modules, bug fixes and changes.  This is a mature contributions process that makes it easy for developers to contribute.

Apache has a meritocratic structure. This means that you gain privileges and responsibilities as you contribute, and can actually move from being a user of the software to a project leader in time.

What if I am not a software developer?

It is a myth that you have to be a developer to contribute to an open source or open development project.  

Ways to contribute if you are a developer

  • Bug reports
  • Fixing bugs or developing software patches
  • Contribute new features for specific uses
  • Contribute specialist modules
  • Become part of the strategic development of the product

Other ways to contribute if you are not a developer

  • Documentation
  • Marketing and outreach
  • User support and evangelising
  • Graphic design e.g. graphic tile sets for games
  • Other media contributions such as music or video
  • User Experience

Why should I contribute to OSS?

If you are a developer for a business or project, and you fix a bug you need to contribute it to the source base. If you do not the code base will be updated without your fix, and you will have the same problem all over again. Once it has been contributed to the code base the fix is incorporated into future updates.

Early career software developers are also able to get good experience by contributing to Open Source Software. It helps you to develop your skills, demonstrates your capabilities and gets your code out into the world for potential employers to discover.  As time goes on you can develop your credibility through direct contribution to the management and leadership of projects and the community.

Find out more