Long Tail of Software
The Long Tail includes discussion of distribution of products such as music, movies and books. However, we can also look at the relationship and relevance of the Long Tail to software. In particular, let’s look at it from the perspective of a business organization.
A key aspect for a business organization is that it is comprised of a set of business processes. “A business process is an activity or set of activities that will accomplish a specific organizational goal.” Note that the organizational goal may be something that depends only on the organization itself, or may require the involvement of multiple partner organizations.
Each business organization has numerous business processes that it uses in order to successfully serve its customers. Some things we need to keep in mind as we consider the processes within an organization:
- Many of the processes are quite similar from one organization to the next. For instance, most organizations will have processes in place for hiring a new employee.
- However, each organization tends to perform each of these processes at least a little bit differently from other organizations. For instance, each company will likely have variations in the steps it takes in hiring a new employee.
- When looking at the processes, we can take into account industry, regulatory concerns, and cultural and language issues. Each of these aspects will influence how business processes are performed and which business processes are needed.
- Some processes within an organization will serve to provide a competitive advantage to the organization. As such, these processes will be different from other organizations – and the details associated with the process will be highly guarded.
With this in mind, we can look at each organization as being a unique market–with specialized needs for supporting the processes that are contained within. As such, “…there is a combinatorial explosion of process problems to solve and, it turns out, little software to actually support them. Said another way, there is a long tail of very customized process problems that software is supposed to help businesses solve.”
Software vendors in the past have produced tools and products that have targeted the mass-market end of the sales curve. Of course, they would like to sell software to everyone (supporting all of the business processes and all of the efforts to automate these processes); however, they have been limited in doing so due to the economics of software development. It was too difficult and expensive to produce, distribute, customize and support a product to address all of these needs or even to produce the tools used to build such solutions.
Given this understanding of the business world and the business processes within it, we can revisit some of the key ideas that come from the Long Tail as shown in following table. All of these ideas are as applicable to software development as they are to production of music, movies and books. In the case of software, we need to be able to build and customize the software needed to address all of the unique and varied requirements of the business community
Table: The Long Tail key ideas applied to software
|Long Tail||Software and the Long Tail|
|Tools to produce creative output have been greatly reduced in cost||FLOSS has played a tremendous role in making the tools to produce creative output much more affordable.|
|Along with cheaper tools to use, there is more talent, more widely distributed than previously thought||Whether we look to outsourcing or off-shoring, the talent pool supporting software development is now distributed throughout the world and continuing to grow in size. In addition, the open source community continues to astound in terms of size and deliverables.|
|Componentization is supporting a remix culture.||A drive toward componentization based on open standards and specifications has moved the software industry forward toward a remix culture.|
|The gap between professional and amateur production is becoming increasingly narrow.||FLOSS tooling, such as Eclipse and other open source tools, has narrowed the gap between commercial and non-commercial software production. In addition, cloud-based solutions are increasingly providing people and organizations with access to systems and software that they could not afford to own and support on their own.|
|With an increasing number of niche products produced, supporting and simplifying consumption becomes very important.||Sourceforge, Google, VersionTracker, Software Repositories, and digital downloads are simplifying how we find and access software.|
We see ideas associated with the Long Tail surfacing in software development in areas such as SOA, Web2.0, and Open Source Software. These areas are leveraging componentization, reduced development costs, and a wider pool of talent. One can look to the success of the Eclipse ecosystem as well as the number of systems built upon the LAMP stack as examples. The main point here is that because of these developments, we see more and more software solutions being built. Whether an organization, a community or a vendor builds them – the opportunity to build and benefit from a solution has never been greater.
 SearchCIO.com, http://searchcio.techtarget.com/definition/business-process
 Joe Kraus, The long tail of software. Millions of Markets of Dozens, March 09, 2005, http://bnoopy.typepad.com/bnoopy/2005/03/the_long_tail_o.html
 FLOSS stands for Free/Libre and Open Source Software. FLOSS “is software which is liberally licensed to grant the right of users to study, change, and improve its design through the availability of its source code.” (Wikipedia)
 The LAMP acronym refers to a set of free and open source products used in web application development. The usual components of the LAMP are:
- Linux as operating system
- Apache as web server
- MySQL as database server
- PHP (or any open source scripting language) as programming language.
This stack is widely used because of its low acquisition cost as well as all the products are usually shipped with Linux. More information could be found at http://en.wikipedia.org/wiki/LAMP_stack