Software: Instructions
to the Computer
• A computer program is a series of instructions to
a computer to execute any and all processes
• Computers only “understand” instructions
consisting of electrical signals alternating
between two states
Software: Instructions
to the Computer (Cont.)
• Application software enables users to complete a
particular task, such as word processing
• System software enables application software to
run on a computer and manages the interaction
between hardware devices
Programming Languages
• Abbreviated forms of instructions that translate
into machine language
• New programming languages make
programming easier for people who are not
necessarily hardware experts
Application Software vs. System
Software
• Application:
– Program developed to address a specific
business need; software for development
of such programs
• System:
– Programs designed to carry out general
routine operations, such as loading,
copying, or deleting a file
Programming Languages (Cont.)
Bugs
• Errors in a program to be eliminated before
it runs smoothly
• Occur when a certain operation cannot be
carried out
• Logic errors are most difficult to spot
Application Software
• Application-specific programs
– Programs designed to perform specific jobs
• General-purpose programs
– Usable for different purposes
System Software
• Manages computer resources and
performs routine tasks not specific to
any application
– Copying and pasting sections and files
– Printing documents
– Allocating memory
• Developed to partner with application
software
Operating Systems (O/S)
• Most important system software
– Developed for a certain microprocessor or
microprocessors
– Addresses technical details such as registers and
RAM addresses
– Plays the role of “traffic cop” or the “boss” of
computer resources
Operating Systems (O/S)
(Cont.)
System Software
Operating System Functions
• Systems Management
• User Interface
• Memory Allocation
• Multitasking, Multiprogramming, and
Multiprocessing
• Times and Statistics
• Increasing Services from O/Ss
Popular Operating Systems
Linux and the Open Source
Revolution
• Proprietary software: source code of the
software public
• Open source software: source code can be
obtained free of charge
• Contains fewer bugs because thousands of
independent programmers review the code
Required Reading:
Chapter 1 and 2 from “Understanding Open Source Software
Development” by Joseph Feller and Brian Fitzgerald
Boole Q+1 005.1 Fell
What is Open Source Software?
• The term open source in common usage refers to any
software with publicly available source code.
• Open source software is required to have its source
code freely available; end-users have the right to modify
and redistribute the software, as well as the right to
package and sell the software
• Software with source code in the public domain meets
the criteria, as does any software distributed under the
popular GNU (GPL). Open-Source licences may have
additional restrictions, such as a requirement to preserve
the author’s names and copyright statement in the code.
What is Open Source Software?
• Open Source can be either systems
software (Linux) or application software
(Mozilla, OpenOffice)
• Growing in popularity
– Linux now has 23% market share
– Second only to Microsoft
Open Source Vs Proprietary
• The “source” in “open source” refers to the
program code or instructions on which software
is based.
• This is freely available for inspection unlike
proprietary software e.g. MS Windows which is
compiled into an executable form which runs on
a computer.
• Once the source is freely available, the software
becomes free to the end user, since anyone can
install it, compile it and then use it.
Open Source Organisation
• the basic idea behind open source is very simple
– When programmers can read, redistribute, and modify the
source code for a piece of software, the software evolves.
– People improve it, people adapt it, people fix bugs.
– And this can happen at a speed that, if one is used to the
slowpace of conventional software development, seems
astonishing.
• The open source community believes that this rapid
evolutionary process produces better software than the
traditional closed model, in which only a few
programmers can see the source and everybody else
must blindly use an opaque bloc of bits
Linux
• Developed by Linus Torvalds
• Posted code on the internet and invited
other developers to improve it.
• Tens of thousands of developers have
worked on it (Open Source Community).
• Has been adopted by end-users and by
established hardware vendors such as
IBM and HP which supply it as an option
with their computers.
Open Source Projects
• Collaborative developments between
software writers
• Worldwide workforce of enthusiasts
• Surprisingly, the software developed is
stable enough to be used by commercial
organisations
Case: OSS in Munich
• May 2003 - the city of Munich decided to oust Microsoft
Windows from the 14,000 computers used by localgovernment employees in favour of Linux, an opensource operating system.
• Although the contract was worth a modest $35m,
Microsoft's chief executive, Steve Ballmer, interrupted
his holiday in Switzerland to visit Munich and lobby the
mayor.
• Microsoft even dropped its prices to match Linux
– a remarkable feat since Linux is essentially free and users
merely purchase support services alongside it.
• Microsoft still lost
– The city did not wish to place the functioning of government in
the hands of a commercial vendor with proprietary standards
which is accountable to shareholders rather than to citizens.
http://www.economist.com/business/displayStory.cfm?story_id=2054746
Case: OSS in Munich
• Modern governments generate a vast number of digital
files.
– From birth certificates and tax returns to criminal DNA records,
the documents must be retrievable in perpetuity.
• So governments are reluctant to store official records in
the proprietary formats of commercial-software vendors.
This concern will only increase as e-government
services, such as filing a tax return or applying for a
driving licence online, gain momentum.
• In Microsoft's case, security flaws in its software, such as
those exploited by the recent Blaster and SoBig viruses,
are also a cause of increasing concern.
Case: OSS in Munich
• Government purchases of software totalled almost $17
billion globally in 2002, and the figure is expected to
grow by about 9% a year for the next five years.
• Microsoft controls a relatively small part of this market,
with sales to governments estimated at around $2.8
billion.
• It is a crucial market, because when a government opts
for a particular technology, the citizens and businesses
that deal with it often have to fall into line. (In one
notable example, America's defence department
adopted the internet protocol as its networking standard,
forcing contractors to use it, which in turn created a large
market for internet-compliant products.)
Case: Ernie Ball
• Guitar String manufacturer
• In 2000, the Business Software Alliance
conducted a raid and audit on the firm
– Found a few dozen unlicensed copies of
programs
– Settled for $65K + $35k in legal fees
– BSA “named and shamed” the firm on the
evening news and newspaper ads
Case: Ernie Ball
• Ball told his IT department he wanted Microsoft
products out of his business within six months
– “I don't care if we have to buy 10,000 abacuses. We
won't do business with someone who treats us
poorly."
• Ball's IT crew settled on open-source software
–
–
–
–
Red Hat's version of Linux
the OpenOffice office suite
Mozilla's Web browser
plus a few proprietary applications that couldn't be
duplicated by open source.
Interview available at http://news.com.com/20081082_3-5065859.html?tag=lh
Advantages: Proprietary
Software
• Indemnification;
• Maintenance and support;
• Licensee doesn’t have to have open source
savvy staff;
• Licensees’ rights if:
– media is defective;
– software contains viruses, backdoors, etc.;
– product fails to meet written technical/business
specifications.
Disadvantages: Proprietary
Software
• COST!
– License fee
– Product bundling—example: Microsoft office.
• Licensee cannot modify or enhance the code;
• Often not built to open standards, leading to
interoperability problems;
• Shut off from continuing development and
information sharing in open source community;
• Some proprietary code is not as good as its
open source counterparts.
Advantages of Open Source
• Effectively free to purchase (but cost of
migration from existing systems may be
high)
• Lower cost of maintenance since software
upgrades are free
• Increased flexibility
Arguments against Open Source
• Has less functionality than commercial software
(but commercial software has a lot of
functionality that is not used by end-users e.g.
Office Assistant)
• More likely to contain bugs since it is not tested
commercially
– Evidence suggests this is not the case
• Poor quality of support
– Although IBM, RedHat etc. do support Linux for a fee
Descargar

Slide 1