Category : Software

Although not limited to software, open source is dominated by this particular technology and by the open source software community. Open source software does not just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:

  • There must be free redistribution.
  • The program must include source code, and must allow distribution of the source code along with the compiled form.
  • The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
  • The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time.
  • The license must not discriminate against any person or group of persons.
  • The license must not restrict anyone from making use of the program in a specific field of endeavour.
  • The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
  • The license must not be specific to a product.
  • The license must not place restrictions on other software that is distributed along with the licensed software.
  • The license must be technology-neutral.

There are many different variants of open source licenses (Apache, GPL, Lesser GPL, Eclipse, etc.) with some subtle and not so subtle differences between all of these variants.

It’s free:

Open source software is software that is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software.

This is in contrast to proprietary software, where the software is under restrictive copyright and the source code is usually hidden.

This has made open source software very attractive to many companies.

Open source software is free, which is good. But is it really free?

Total cost ownership:

Total cost of ownership is a financial estimate intended to help buyers and owners determine the direct and indirect costs of a product or system. It is a management accounting concept that can be used in full cost accounting.

The average price of a new car in the USA tops $33,000, according to car-buying site Kelley Blue Book, so buying a vehicle is a major financial move. While many consumers may focus on the sticker price or the monthly payments, that overlooks many other costs. You have license fees, registration fees and taxes. You need to buy insurance, fill the gas /petrol tank, have regular maintenance, etc. And your car loses value from depreciation every day you own it. The total cost of ownership of a new car is not the same as the sticker price.

The same applies for a software product. The total cost of ownership is the purchase price of the software product plus all of the additional direct and indirect costs associated with taking the software product into use.

When choosing among alternatives in a purchasing decision, one should look not just at the software product’s short-term price, which is its purchase price, but also at its long-term price, which is its total cost of ownership.

The software product with the lower total cost of ownership is the better value in the long run.

The purchase price of the open source software product is zero, but what is its long-term price or total cost of ownership?

The components:

In order to calculate the long-term price or total cost of ownership of a software product, one needs to identify all of the different components associated with taking a software product into use.

I suggest that these include at least the following:

  • The initial license fee for the software product (zero in the case of an open source software product).
  • Any costs associated with hardware or software tools to develop or test the software product.
  • Any costs involved with customising or configuring the product.
  • Any associated hardware costs to deploy the software product.
  • Any hosting costs.
  • Any maintenance costs.
  • Any support costs.
  • Any additional software license costs.
  • Any costs associated with feature or functionality updates.
  • Any license costs to access other 3rd party software.
  • Any insurance costs.
  • Any direct or indirect costs associated with future updates / upgrades.
  • Any training costs.
  • Any warranty costs.
  • Any direct/indirect liability costs.

This list is not exhaustive and there may be other components to consider.

Costs associated with open source software risks:

Of course, total cost of ownership is an issue for both proprietary software products as well as open source software products.

However, some additional components may need to be consider when trying to calculate the total cost of ownership of an open source software product, namely the costs associated with managing the risks involved, which divide out into the following categories

  • Legal issues
  • IP issues
  • Operational issues
  • Security issues
  • Business issues

(These additional components are explored in more detail in another paper already published).

The bottom line:

When you are comparing cars you like, you should go beyond sticker price. You should research the ongoing costs of driving and maintaining each model, so that you get a true understanding of affordability. A realistic estimate of a vehicle’s total cost of ownership is crucial in helping you choose a car that fits your budget. The same applies to purchasing a software product, regardless of whether it is an open source software product or a proprietary one.

Donal O’Connell

Author: 1 year ago

Computer software (or just software) is a general term primarily used for digitally stored data such as computer programs and other kinds of information read and written by computers. Today, this includes data that has not traditionally been associated with computers, such as film, tapes and records.

Software is a lot more than just the Microsoft applications which run on a desktop PC or the enterprise applications which run on servers. Software includes such diverse things as video games, web sites, flash applications, mobile phone ring-tones & screen savers, smart phone applications, Google Earth, Wikipedia, and Wii games.

Some tend to segment software in layers, such as

  • Application software, such as word processors which perform productive tasks for users.
  • Firmware which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers,
  • Middleware which controls and co-ordinates distributed systems.
  • System software such as operating systems which govern computing resources and provide convenience for users.

In the past, there was a clear distinction between …

  • software (application logic that provided functionality)
  • data (which was stored in databases or on file systems, and was manipulated by software)
  • “media” (which was not yet digital, and so was stored on cassettes – e.g. audio and video content, music, films, etc. – or on paper, books, photos)

Today, when you look at something like a Flash application, or an interactive web page, or an iPhone app, or Google Earth, or a Wii game, they all combine functionality (logic), data and audio/video content into one “application”.

Software can refer to all computer instructions in general, or to any specific set of computer instructions. It is inclusive of both machine instructions (the binary code that the processor “understands”) and source code (more human-understandable instructions that must be rendered into machine code by compilers or interpreters before being executed).

The Challenge with Software

Software is abstract, complex, hard to measure and even more difficult to value.For those who develop, buy or invest in software products and businesses, understanding all aspects of software and their interrelation is essential for business success.

Today, software impacts every business. Whether you are looking to develop a piece of software to enhance your enterprise or are investing in a software product or company, software presents a management challenge. Software projects are often late and software can be poor quality or difficult to use resulting in customer dissatisfaction or increased cost.

Some of the challenges faced by companies include

  • Lack of understanding of the software business case or its viability
  • Not realizing the total cost of ownership
  • Not having the ability to measure the quality level of the software
  • Poor understanding the legal or compliance issues
  • Selection of the right technology to ensure future enhancements
  • Not knowing what are the intellectual property assets that should be protected and what are the risks
  • Ensuring that the user experience is competitive

To address these issues, companies need a process for evaluating their current situation from all these perspectives and identifying the key actions they need to take to ensure holistic management of their software.

Assessing software

Software project, software product and/or software business assessment or evaluation is said to be “very important”, yet many tend to be frightened of it because they see it as a test and a threat. Yet, if handled properly and professionally, then taking the opportunity to understand whether you achieved what you set out to, how well you did it, what impact your activity has had and to reflect critically on both the activities and processes will benefit you. This knowledge can be used internally by your team to drive improvement and externally to demonstrate achievements.

“The most serious mistakes are not being made as a result of wrong answers. The truly dangerous thing is asking the wrong question”

Peter Drucker

Software assessment or evaluation can be formative – that is taking place during the development of a concept or proposal, project or organization, with the intention of improving the value or effectiveness of the proposal, project, or organisation. It can also be summative – drawing lessons from a completed action or project or an organisation at a later point in time or circumstance.

A Holistic Approach to Software and Software Management

Success with any software project or software business means adopting a holistic approach to software management and appreciating that a variety of issues have to be addressed:

  • The business model
  • The technology
  • The user interface and user experience
  • The legal framework and commercial considerations
  • Software development
  • Quality
  • Intellectual property

The types of questions that need to be asked are:

  • Has the software business model being thoroughly reviewed to ensure its viability? This means fully understanding the market opportunity, the business environment and customer and end-user expectations.
  • How has the technology selection been validated considering the competitiveness, structure, security and potential for future innovation?
  • Has the user interface and user experience been studied from both a subjective and objective view to give insight into customer behaviour?
  • Has the necessary legal framework or commercial aspects that may impact upon use or operation of the software been understood and risks identified and mitigated?
  • Are both the business management and development team’s processes resilient in order to improve the company’s capability and maturity of the software?
  • What are the metrics around software quality in order to understand the maturity level based around a qualitative and quantitative assessment?
  • Does the company understand both the intellectual property risks and potential opportunities associated with th1is software?

Final thoughts

To deal with the complexity and abstract nature of software, a model is needed to enable a holistic view of software business management that supports evaluation of the current state and actions to improve

by Donal O’Connell

(IPEG consultant and partner at Waves Associates. (Waves Associates provides a Software Evaluation and Valuation service to a range of clients including start-ups, VC fund managers and other investors, receivers liquidating a company’s assets, companies purchasing or outsourcing software or those involved in mergers and acquisitions)

Author: 4 years ago