Software is differentiated from hardware as the set of rules that allow services to be conducted on the physical device. The software industry is really only a small part of the overall computer programming activity that takes place, as it relates to software traded between software producers and software consumers. Many software programs created in-house for very specific uses are never sold outside of the company. Since the industry’s beginning in the 1950s, it has gone through a number of revolutionary changes, from simple punch-card programming services offered to those few companies that had computers in 1955 to revolutionary trends such as software as a service (SaaS), device programming for the Internet of Things (IoT) and open-source alternatives acceptance by major companies.

Software Sectors

The software industry can be separated into four main categories: programming services, system services, open source and SaaS. The following describes the categories of business software used in the industry.

Programming Services - this sector has historically been the largest sector and includes names such as Microsoft Corporation (NASDAQ: MSFT), Automatic Data Processing, Inc. (NASDAQ: ADP), Oracle Corporation (NYSE: ORCL) and SDC Technologies, Inc. These companies often pioneered solutions to needs by businesses to analyze data, store and organize data, or provide programs to run machinery.

System Services – although programming was the largest software sector early in computer history, system services grew rapidly through the 1960s and 1970s, and then exploded in the 1980s with the rise of personal computers (PCs) and the need for an encompassing operating system such as Microsoft’s original disk operating system (DOS) that was launched in 1981.

Open Source – programming or software engineering has become a huge in-demand profession with the growth of the Internet, cloud systems and businesses willing to venture more willingly into open-source environments such as the Linux operating system. Open source refers to a code base that was created and is free to acquire. However, most businesses require changes to be made to the code bases to suit their needs. Another open-source code base is the Android operating system.

Software as a service – with the rise of cloud computing and the movement of most businesses large and small to the cloud, SaaS has become more popular than system software for businesses' specific needs. This software is kept on the creators' servers and clients access the software through the Internet, also referred to as the cloud. All upgrades, patches and issues are handled on the creator side with a subscription-based model for the client. The SaaS sector is forecast for continuous growth over the next decade, representing almost 30% by 2018. By the end of 2016, it is forecast that over 80% of all businesses will incorporate at least one component of cloud computing within their information technology (IT) infrastructures, such as infrastructure as a service (IaaS), platform as a service (PaaS) or SaaS programs.

Market Share for SaaS

SaaS providers are vying for market share by trying to provide the most services within their offerings to cater to as many situations as possible. Zoho’s suite of apps or Oracle’s movement into software modules are great examples of how software companies are developing into massive modular-based systems where businesses can plug in the necessary components for their situation. The model is attractive to businesses of all sizes as a business only needs to pay for the modules, such as programs and apps, it requires to run its business, and most of these SaaS products are almost instantly scalable if the business needs to grow.

Future of the Industry

With the advent of the Internet and cloud computing, the computer software industry has radically changed how companies interact with, develop and use software. Software was once a product that was purchased, installed and maintained. In 2016, more and more companies are using software in a subscription model where all the development, maintenance and upkeep of the program is done by the original creator. (For related reading, see "8 Software Skills Currently In Demand")