Software in Flux: Open Source, Cloud, Virtualized, and App-Driven Shifts
16.1 Learning Objectives
Understand how low marginal costs, network effects, and switching costs have combined to create the software industry.
Recognize the significant change happening in the software industry due to open source software, cloud computing, and software as a service.
Introduction
Marginal Costs: The costs linked with each additional unit produced.
Open Source Software (OSS): Software that is free and where anyone can look at and potentially modify the code.
Cloud Computing: Replacing computing with services provided over the Internet.
Software as a Service (SaaS): A form of cloud computing where a firm subscribes to a third-party software and receives a service that is delivered online.
Virtualization: Technology that can make a single computer behave like many separate computers. Helps consolidate computing resources and creates additional savings and efficiencies.
16.2 Learning Objectives
Define open source software and understand how it differs from conventional offerings.
Provide examples of open source software and how firms might leverage this technology.
Open Source
Linux: An open source software operating system.
Source code for OSS products is openly shared and can be changed and redistributed by anyone.
Conventional software firms treat intellectual property as closely guarded secrets and almost never provide the source code for their commercial software products.
Some firms see OSS as a threat that undermines their economic model.
n00b: Derogatory term for an uninformed or unskilled person.
Turn on the LAMP—and It’s OK to Be MEAN—It’s Free!
Stack: A software stack is the pieces of software used to build an information system —may include front-end or client-side code and back-end or server-side code.
LAMP: Acronym for Linux, Apache Web server software, MySQL database, and any of the several programming languages that start with P (e.g., Perl/Python/PHP).
Frameworks: Software frameworks contain pre-written software components allowing software developers to write faster, more reliable, and more standard code.
Front-end: In client-server computing, it is the client-facing code that contains the user interface. Includes Web apps served up in a browser, as well as smart phone apps.
Back-end: In computing, it is server-side code that users do not typically see.
MEAN: An acronym for popular tools used to build distributed, mostly Web-based applications. Letters stand for MongoDB, Express.js, AngularJS, and Node.js
16.3 Learning Objectives
Know the primary reasons firms choose to use OSS.
Understand how OSS can beneficially impact industry and government.
Why Open Source?
Cost—free alternatives to costly commercial code can be a tremendous motivator.
Reliability—the more people who look at a program’s code, the greater the likelihood that an error will be caught and corrected.
Security—by allowing “many eyes” to examine the code, the security vulnerabilities come to light more quickly and can be addressed with greater speed and reliability.
Security-focused: Technology products that contain particularly strong security features.
Scalability: Ability to either handle increasing workloads or to be easily expanded to manage workload increases. Allows a firm to grow from startup to blue chip without having to significantly rewrite their code.
Interoperability—using common standards benefit from standardized communication and using similar file formats and software components across hardware.
Agility and Time to Market—vendors able to skip whole segments of the software development process, allowing new products to reach the market faster.
Many firms expect their paid staff to contribute to open source efforts.
Google engineers contribute to over 28,000 open source projects a year
Exxon Mobile has open sourced its developer toolkit
Walmart has open sourced its cloud management platform
Goldman Sachs has open sourced its data modeling program
ChatGPT has an open-sourced rival effort, Llama; ChatGPT is not open-source software, but Llama is.
When the Open Source Army Doesn’t Show Up: Lessons from Heartbleed
Many open source projects are very well maintained with tightly coordinated contribution armies overseen by well-funded, paid professionals.
In spring 2014, some open source products which had been woefully neglected were exposed to the Heartbleed bug.
Heartbleed was an error in the OpenSSL security toolkit, a product used by some two-thirds of Internet websites, and underpinning security related when sending secure information over the Internet.
A routine coding error opened a hole that could potentially have been used to allow hackers to gather passwords, encryption keys, and other sensitive information, triggering “the largest security breach in the history of the human race.”
The Linux Foundation developed a multimillion-dollar project called the Core Infrastructure Initiative, designed “to fund open source projects that are in the critical path for core computing functions.”
Heartbleed provides a cautionary tale to managers: Just because a tool is used by many doesn’t mean one shouldn’t audit its software products to understand the strength of support and potential risks associated with use.
16.4 Learning Objectives
Recognize that just about every type of commercial product has an open source equivalent.
Be able to list commercial products and their open source competitors.
Examples of Open Source Software
WordPress —software for running a blog or website, powering about a third of websites
Firefox —a Web browser that competes with Chrome, Safari, and Edge
LibreOffice —a competitor to Microsoft Office
Gimp —a graphic tool with features found in Photoshop
Inkscape —a vector drawing tool with features akin to Adobe Illustrator
Blender —a 3D graphics tool similar to the commercial product Autodesk Maya
Shotcut for video editing and Audacity for audio editing
Drupal —content management systems
Moodle —Learning management system (LMS) competes with products like Canvas
Magento —e-commerce software
TensorFlow —open source machine learning software
Llama, Mistral —generative AI
Marketcetera —an enterprise trading platform for hedge fund managers that competes with FlexTrade and Portware
Zimbra —open source e-mail software that competes with Outlook server
MongoDB, HBase, and Cassandra —nonrelational distributed databases used to power massive file systems (used to power key features on Facebook, Twitter/X, LinkedIn, and Amazon)
SugarCRM —customer relationship management software that competes with Salesforce.com and Siebel
Kubernetes and Docker—tools for “containerization,” an evolution beyond virtualization
Asterisk—an open source implementation for running a PBX corporate telephony system that competes with offerings from Nortel and Cisco, among others
Git —version control software, critical to managing most commercial software products
Linux —open source operating system available on hundreds of platforms with features akin to the Unix operating system
16.5 Learning Objectives
Understand the disproportional impact OSS has on the IT market.
Understand how vendors make money on open source.
Give It Away and Make Money: The Business of Open Source
Lowers the cost of computing and makes computing options accessible to smaller firms.
Reliable, secure, and lowers computing costs for all users.
Diverts funds that can be used for other competitive initiatives and encouraging innovation.
Vendors make money on OSS by:
Selling support and consulting services
Selling premium add-ons on top of the free stuff
Industry’s evolution (standards competition):
Pre-Linux days: Almost every major hardware manufacturer made its own incompatible version of the Unix operating system.
As such, they had difficulty attracting third-party vendors to write application software.
Now all major hardware firms run Linux, resulting in a large, unified market attracting software developers.
To keep standards unified, several Linux-supporting hardware and software firms also back the Linux Foundation, helping to oversee Linux’s evolution.
Linux on the Desktop?
Linux is common on mobile phones, consumer electronics, and on enterprise software, but not on desktop computers:
It is not easy to install.
Its complexity can raise the total cost of ownership.
Total cost of ownership (TCO): All of the costs associated with the design, development, testing, implementation, documentation, training, and maintenance of a software system.
The small number of desktop users also dissuades third-party firms from porting popular desktop applications over to Linux.
Added complexity and limited desktop application availability isn’t worth savings.
Major place Linux desktop is used is on the Raspberry Pi OS: educational environments and to run kiosk-style computing
Legal Risks and Open Source Software: A Hidden and Complex Challenge
Open source software isn’t without its risks.
Certain products are difficult to install and maintain.
Adopters without support contracts may lament having to rely on an uncertain community of volunteers to support their problems and provide innovative upgrades.
Another major concern is legal exposure.
Firms adopting OSS may be at risk if they distribute code and aren’t aware of the licensing implications.
Some commercial software firms have pressed legal action against the users of open source products when there is a perceived violation of software patents or other unauthorized use of their proprietary code.
Also complicating issues are the varying open source license agreements (these go by various names, such as GPL and the Apache License), each with slightly different legal provisions —many of which have evolved over time.
16.6 Learning Objectives
Understand the concept of cloud computing.
Identify the major categories of cloud computing, including SaaS, PaaS, and IaaS.
Defining Cloud Computing
Three most common service levels:
Software as a service (SaaS) —firm subscribes to a third-party software- replacing service that is delivered online.
Platform as a service (PaaS) —delivers tools so an organization can develop, test, and deploy software in a cloud.
Infrastructure as a service (IaaS) —offers a more bare-bones set of services that are an alternative to buying its own physical hardware.
Some are developing their own private clouds —pools of computing resources that reside inside an organization and that can be served up for specific tasks as need arrives.
Evolution of cloud computing has huge implications across the industry:
Financial future of hardware and software firms
Cost structure and innovativeness of adopting organizations
Skill sets likely to be most valued by employers
16.7 Learning Objectives
Know how firms using SaaS products can dramatically lower several costs associated with their information systems.
Know how SaaS vendors earn their money.
Be able to list the benefits to users that accrue from using SaaS.
Be able to list the benefits to vendors from deploying SaaS.
Software in the Cloud: Why Buy When You Can Rent?
Most SaaS firms earn money via a usage-based pricing model similar to a monthly subscription.
Other SaaS firms:
Offer free services that are supported by advertising.
Promote the sale of upgraded or premium versions for additional fees.
Compete directly with the biggest names in software (NetSuite, Workday, HubSpot, Splunk).
The Benefits of SaaS
Lower costs and financial risk mitigation
Faster deployment times and variable operating expense
Scalable systems
Service level agreement (SLA): A negotiated agreement between the customer and the vendor. May specify levels of availability, serviceability, performance, operation, and other commitment requirements
Higher quality and service levels
Remote access and availability
Limits development to a single platform
Tighter feedback loop
Ability to instantly deploy bug fixes and product enhancements
Lower distribution costs
Greater accessibility
Vertical niches: Sometimes referred to as vertical markets —products and services designed to target a specific industry.
Reducing software piracy
16.8 Learning Objective
Be able to list and appreciate the risks associated with SaaS.
SaaS: Not without Risks
Dependence on a single vendor.
Concern about the long-term viability of partner firms.
Users may be forced to migrate to new versions —possibly incurring unforeseen training costs and shifts in operating procedures.
Reliance on a network connection, which may be slower, less stable, and less secure
Data assets stored off-site with the potential for security and legal concerns.
Limited configuration, customization, and system integration options compared to packaged software or alternatives developed in-house.
User interface of Web-based software is less sophisticated and lacks the richness of most desktop alternatives.
Ease of adoption may lead to pockets of unauthorized IT being used throughout an organization.
16.9 Learning Objectives
Distinguish between various service models for cloud computing: SaaS, PaaS, and IaaS.
Distinguish between various deployment models for cloud computing, including public, private, and hybrid clouds.
Provide examples of firms and uses of different types of service and deployment models.
Understand the concepts of cloudbursting and black swan events.
Understand the challenges and economics involved in shifting computing hardware to the cloud.
Understanding Cloud Computing Service and Deployment Models: SaaS, PaaS, IaaS, and Public, Private, Hybrid Clouds
Service models: In cloud computing, they determine how much software and hardware services are provided by the cloud-computing partner — SaaS, PaaS, and IaaS. Sometimes a firm develops its own custom software but wants to pay someone else to run it for them.
Hardware and software exists “in the cloud,” meaning somewhere on the Internet and organizations only pay for the amount of processing, storage, and telecommunications used.
Cloud vendors typically host the software on their systems.
Examples of hardware cloud services:
Salesforce.com offers Force.com which includes several cloud-supporting tools to write applications specifically tailored for Web-based delivery.
Google Cloud
Amazon AWS
Microsoft Azure
These allow clients to choose own programming languages and other applications and offer subset of additional services, from database tools to AI modules
Platform as a service (PaaS): Cloud providers offer services for customers to build their own applications on the provider’s infrastructure. Services include hardware, operating system, tools, and hosting.
Infrastructure as a service (IaaS): Cloud providers offer services that include running the remote hardware, storage, and networking. Client firms can choose the software used. Good alternative for firms that want even more control. Offered by a wide variety of firms including Amazon, CSC, Rackspace, HP, IBM, and VMware.
Public cloud: Relying on a third-party provider to house all components in an information system.
Private clouds: Type of cloud computing where an organization uses pools of computing resources that it alone owns or leases and that it does not share with other customers.
Hybrid cloud: Cloud computing that allows an organization the ability to shift and expand computing from its own internal resources to resources provided off-site by a cloud computing provider that serves other customers as well.
Cloudbursting: Use of cloud computing to provide excess capacity during periods of spiking demand. It is a scalability solution that is provided as an overflow service, kicking in as needed.
Black swans: Events that cannot be predicted but can cause an impact. Scalable computing resources can help a firm deal with spiking impact from black swan events.
Clouds in Action: A Snapshot of Diverse Efforts
Established organizations, small firms, and startups are embracing the cloud:
New York Times—signed up for Amazon’s EC2 cloud computing and S3 cloud storage services.
Cloudera is helping make sure that news isn’t fake.
Salesforce.com’s Force.com help firms create and deploy custom Web applications.
Microsoft’s cloud is also being used to power Volkswagen’s self-driving car effort.
Google’s Cloud AI products include tools for video, image, speech, and text analysis.
Challenges Remain
Installing a complex set of systems on someone else’s hardware can be a brutal challenge, and in many cases is just about impossible.
Firms considering cloud computing need to do a thorough financial analysis.
System maintenance costs often include the need to clean up old files or put them on tape.
Costs can add up if unlimited data is stored in the cloud.
Firms should enter the cloud cautiously, particularly where mission-critical systems are concerned.
If a cloud vendor fails you and all your eggs are in one basket, then you’re down, too.
16.10 Learning Objectives
Understand how cloud computing’s impact across industries is proving to be broad and significant.
Know the effects of cloud computing on high-end server sales and the influence on the trend shifting from hardware sales to service.
Know the effects of cloud computing on innovation and the influence on the changes in the desired skills mix and job outlook for IS workers.
Know that by lowering the cost to access powerful systems and software, cloud computing can decrease barriers to entry.
Understand the importance, size, and metrics of server farms.
Clouds and Tech Industry Impact
Shifting to cloud computing alters the margin structure for many in the computing industry.
Server farm: A massive network of computer servers running software to coordinate their collective use. Provide the infrastructure backbone to SaaS, hardware cloud efforts, and many large-scale Internet services.
Cloud computing can accelerate innovation and changes the desired skills mix and job outlook for IS workers.
Enables organizations to spend less on hardware infrastructure and reinvest in strategic efforts and innovation.
Firms need to think about the strategic advantages that can be created.
So What’s It Take to Run This Thing?
The area surrounding the Columbian River in the Pacific Northwest is tailor-made for creating the kinds of massive data installations needed for cloud computing. This is because it features:
Cheap land
Low-cost power
Ultrafast fiber-optic connections
Mild climates cut cooling costs
Cloud vendors have turned out to be the computing industry’s best customers.
Amazon has spent well over 2 billion on its cloud infrastructure.
Google reportedly has 1.4 million servers.
Meta has a server farm near the arctic circle.
16.11 Learning Objectives
Know what virtualization software is and its impact on cloud computing.
Be able to list the benefits to a firm from using virtualization.
Virtualization: Software that Makes One Computer Act Like Many
Virtualization: A type of software that allows a single computer or cluster of connected computers to function as if it were several different computers. Can be used to reduce an organization’s hardware needs, create a firm’s own private cloud of scalable assets, and cut energy consumption and lower carbon footprint.
Containers: A type of virtualization that allows for shared operating systems for more resource savings and faster execution.
Virtual desktops: Running an instance of a PC’s software on another machine and delivering the image of what is executing to the remote device. Allows firms to scale, back up, secure, and upgrade systems far more easily than if they had to maintain each individual PC.
16.12 Learning Objective
Understand the benefits and challenges of app stores, and how these products are also changing the way we conceive software and the opportunities for firms to offer value-added services to consumers.
Apps and App Stores: Further Disrupting the Software Industry on Smartphones, Tablets, and Beyond
Compared with packaged software, apps lower the cost of software distribution and maintenance.
Apps offer a richer user interface and integrate more tightly with a device’s operating system.
Huge firms have leveraged smartphone apps as their only, or primary interface with consumers.
Critics say apps force consumers into smartphone walled gardens and raise consumer switching costs.
16.13 Learning Objectives
Know the options managers have when determining how to satisfy the software needs of their companies.
Know the factors that must be considered when making the make, buy, or rent decision.
Make, Buy, or Rent
Key Variables to Consider:
Competitive Advantage—Do we rely on unique processes, procedures, or technologies that create vital, differentiating competitive advantage?
Security—Are there unacceptable risks associated with using the packaged software, OSS, cloud solution, or an outsourcing vendor? Are we convinced that the prospective solution is sufficiently secure and reliable? Can we trust the prospective vendor with our code, our data, our procedures and our way of doing business? Are there noncompete provisions for vendor staff that may be privy to our secrets? For off-site work, are there sufficient policies in place for on-site auditing?
Legal and Compliance—Is our firm prohibited outright from using technologies? Are there specific legal and compliance requirements related to deploying our products or services?
Skill, Expertise, and Available Labor—Can we build it?
Cost—Is this a cost-effective choice for our firm?
Time—Do we have time to build, test, and deploy the system?
Vendor Issues—Is the vendor reputable and in a sound financial position? Can the vendor guarantee the service levels and reliability we need? What provisions are in place in case the vendor fails or is acquired? Is the vendor certified via the Carnegie Mellon Software Institute or other standards organizations in a way that conveys quality, trust, and reliability?