Quantifying the cost savings of using open source in software development

Drawing a bead on software creation cost drivers

Difficult economic and market conditions are forcing software development teams to do even more with less, and to become even more responsive to customer needs. No matter whether an organization relies on traditional waterfall software development methodologies or more flexible agile development processes, the use of open source code is the key to dramatically speeding software development.

It is hard to imagine that anyone would start a project today and plan to write it entirely from scratch. The list of available open source components, methods, classes and algorithms is simply too numerous to list. Today there are hundreds of thousands of open source projects spread across thousands of Internet sites. Open source software components allow organizations to reduce the cost of developing software because companies can avoid wasting internal resources developing functionality that is readily available.

Calculating savings from open source

Table 1 is a simple calculator for estimating the cost of developing a specific number of lines of software source code. This can serve as a handy back-of-the-envelope method of estimating the savings that can be realized by reusing an open source component instead of developing code from scratch.

21
Table 1: Lines-of-Code Cost Calculator Source: Black Duck Software, 2009. * Software Engineering Institute, Carnegie Mellon, 2008. ** OECD 2004 Adjusted for weekends, average vacation and sick days. *** Bureau of Labor Statistics, May 2006.


There are fundamental cost drivers in the creation of software:

n The cost of a developer’s time, sometimes expressed as Full-Time Employee (FTE), which includes salary, benefits, and overhead.

n The average number of debugged lines of code produced per day, factoring in related costs such as architecture, maintenance, support, and documentation.

 

The example shows a modest sized component (100,000 lines) that would have taken more than 22 years of engineering time to create and productize. The bottom line cost of development of this 100k lines-of-code is thus shown at more than $1.9 million. This represents the total potential savings that can be realized by using open source instead of developing the code from scratch. If this component happens to be in the project critical path, reusing an off-the-shelf open source component can also dramatically accelerate project schedules.

Many large companies will find that their cost per line of code approaches $20. Knowing this number for your company serves as an easy way to make a rough estimate of the development cost of a project. However, every software development organization is different. To plug in your own assumptions, please refer to the online calculator.

Find open source to reuse

Black Duck Software spiders the Internet for open source code, which we collect into a KnowledgeBase that powers our enterprise platform for managing open source in software development. Code is made from  KnowledgeBase, which is freely available at Koders.com. If you are looking for coding examples or searching for open source components to use in a project, Koders.com provides you with a single place to search thousands of code repositories.

While open source software has enormous potential to save developers from reinventing the wheel, open source must be managed properly according to corporate policies and procedures. In future columns governance challenges related to open source and how to mitigate legal, compliance, and other risks associated with using third-party software like open source code will be discussed.

Eran Strod is director of product marketing for Black Duck Software and helps manage the code search Internet site Koders.com. He has held various roles in engineering and product marketing with Motorola Computer Group, Freescale Semiconductor, CSPI, and Data General. Before joining Black Duck, Eran was director of product marketing at Mercury Computer Systems and served on the board of directors of the VMEbus International Trade Association when Ex Ante patent disclosure provisions were formulated and adopted. Eran has also served as chair of the strategic marketing committee for the RapidIO Trade Association. He holds a dual BA degree in Computer Science and Psychology from UC Santa Cruz and graduated from the Northeastern University High-Technology MBA program. He can be reached at estrod@blackducksoftware.com