Developing Open Source Alternatives to Proprietary Software