Software refers to computer programs that are designed by a computer programmer or, more likely, a team of computer programmers, to perform a particular function. The software is either embedded in a device, such as a hand-held device or appliance, or installed on a computer.
Software comes in many different types for many different users. Examples of these types include the computer's disk operating system (DOS) software; user interface; programming software; browsers; entertainment software, such as gaming; communications software; and utility software, such as word processing, spreadsheets, databases, and publishing.
OPERATING SYSTEM SOFTWARE
The hardware components of a computer need instructions to order to work transparently to the user. These instructions constitute the operating system of the computer, frequently referred to as DOS, and are the first files to be installed on a hard drive. Several of these files are hidden from the user to prevent file corruption. The instructions in these files inform the various components of the computer system about such tasks as recognition of components, communications, data processing, internal data transfer, and memory management. The operating system also includes utility programs such as media formatting, addition and deletion of new hardware and software, and printing queues.
The operating system of a desktop computer is based on single-user design. When the computer is added to a computer network, another layer of computer operating system is required. This layer, referred to as the network operating system, instructs the computer about the presence of a network interface card installed in the computer and its address, and controls the flow of data and command traffic to and from the computer. This ability allows the computer to share peripherals on the network system and to access outside systems such as the Internet.
Operating systems are complicated and often not intuitive to the user. Therefore, a software program called a graphical user interface (GUI) runs over the operating system to make the operating system easier for the user to operate. More importantly, GUIs allow a "family" or "suite" of products to share the same screen and operational design, making the learning of new software much easier. For example, the screen-design menu system provides identical icons for common commands among software packages, such as save, print, spell-checking, help, and basic document formatting. Microsoft's Windows is an industry leader. The Microsoft Office Suite, for example, offers word processing, spreadsheets, publishing, and database software that share a common interface and, therefore, a common screen design and tool menus.
Computer programmers program in a variety of computer languages. These languages are actually software that use more intuitive codes than the digital machine languages (0s and 1s) but that actually translate to machine language for use by the computer's central processing unit. C++ and Visual Basic are computer languages that do not require the programmer to know machine language.
Specific computer programming language is necessary to create nonlinear products that can be accessed through the World Wide Web path of addresses used on the Internet. That universal language is the hypertext markup language (HTML). Many software packages, most notably Microsoft's Frontpage and Macromedia's Dreamweaver, are available to make programming in HTML easier and most efficient.
Access to software produced for access to the Internet requires a browser for searching the Internet from the computer desktop. Software produced in HTML is hosted on computers called servers. The address access path to the respective server and software is called the URL (uniform resource locator). Commercially successful Internet browsers include Netscape Navigator and Microsoft's Internet Explorer.
Software called search engines are also available for searching the Internet for specific items. Google, for example, is a search engine that can search the Internet for virtually any topic. EBay is another software interface that specializes in bidding sales by individuals.
Software for the entertainment market has been accelerating in demand since the 1990s, particularly for children and young adults. Specific hardware is often required to operate the software, such as a joystick, handheld device, or console. The handheld GameBoy and console PlayStation, for example, require frequent new software to sustain the market. Much of that software comes on cartridges, using Plug-N-Play technology, so that users can maintain libraries that do not require the installation process required on desktop computers.
In addition to browsers and operating systems, users have many other personal communication needs that require desktop-loaded software. One such need involves faxing information from one location to another. That capability has become so routine that taxpayers often submit their tax forms via electronic mail (e-mail) and users employ fax machines for such mundane tasks as renewing memberships, car registrations, and driver licenses.
Another communications need is transfer between personal devices. For example, personal digital assistants and cellular telephones communicate with desktop computers through data transfer. A technology that has become popular are transfers from the photographic feature of a cellular phone to a desktop for color printing. While most handheld devices are manufactured with embedded software, the desktop computer requires software in order to know how to handle and process images.
A frequently used software is for e-mail. E-mail has evolved into a comprehensive tool for communication between individuals and groups. Microsoft's Outlook is a common e-mail facility included in the Microsoft Office Suite. Capacities include creation of e-mail address files, communication with Listservs (online discussion forums), and use of document attachments. The maintenance of e-mail logs of messages is an important part of document retention. Courts now recognize e-mail messages and attachments as legal evidence.
Communication software does pose hazards. Computer viruses can be attached to e-mail messages, address books, and attachments. The hazzards of spam, unsolicited e-mail, and software that allows people to access and track another person's computer equipment require a software solution. Detection software to protect users from these desktop invasions is critical to efficient operation. Another necessary protection is called a firewall, which is software that scrambles the Internet protocol address of the desktop computer so that electronic communications cannot be tracked back to the computer that originated the communication. This is absolutely essential when the users of a particular desktop computer may be children who are vulnerable to predators.
A number of software packages include tools that are needed by many business users. These packages include word processing, spreadsheets, database management, and publishing. Often bundled into a family or suite of software, such packages can be purchased and installed together.
Word processing is a text-preparation tool. This software allows users to produce such documents as letters, memorandums, and reports. Elements of document style such as line spacing, font selection, paragraph indentions, bolding, italics, and centering can all be accomplished with relative ease. Templates of preset-up documents are also available. The documents are saved to both online and off-line media. Advanced features such as tables, rudimentary spreadsheets, and database structures are not available in word-processing packages.
Word processing has evolved into more than a document-preparation program. Now that spell-checkers are accompanied by grammar and style checking and other advanced features, word processing has become a narrative tool that can aid in the creation process of such artistic works as stories, poems, plays, and portfolios.
Spreadsheet software, such as Microsoft Excel, is an essentially quantitative tool wherein data in cell locations are placed in rows and columns in matrix format. That makes data easy to structure. Rows and columns can be individually designed. Cell contents can be numeric data, alphanumeric data, or algorithms. Algorithms allow new data to be generated through formula results. Advanced features include financial and statistical functions.
Database software, such as Microsoft Access, allows users to maintain records of related information. For example, database software can be used to maintain the records of the customers of insurance companies. Fields of related information might include name, contact information, type and amount of insurance carried, date of last contact, benefit information, and billing information. These fields of information are relational to the key field of name and the fields together represent a record.
This software maintains the integrity of the data structure while allowing printing in many different ways, such as forms, according to the various needs of the user. Another major feature of this software is the ability to search the records for particular needs. In an inventory database, for example, a purchasing query could be done for all merchandise at or near the inventory minimum of the particular item.
Publishing software, such as Microsoft Publisher and Adobe Pagemaker, allow users to create pamphlets, fliers, and other creative documents using layout design. Style elements include such features as imported images, text and graphic boxes, and rich color, as well as portrait and landscape layouts.
An important software design feature referred to as object linking and embedding, allows software to share "objects" that are pieces of other data. For example, a spreadsheet object can be brought into a word-processing document. Any time the spreadsheet object is updated in the original spreadsheet software, the object is automatically updated in the destination document. The word-processing document, in this example, would automatically be updated without even opening the word-processing software or document.
Software serves the limitless needs of business and entertainment. The market for software is as dynamic as the changing needs and wants of users.
see also Information Processing ; Programming
Blanc, Iris, and Vento, Cathy (2005). Performing with projects for the entrepreneur—Microsoft Office. Cincinnati: Thomson.
Bucki, Lisa A. (2005). Learning computer applications: Projects and exercises (3rd ed.). New York: Pearson Prentice Hall.
Castro, Elizabeth (2003). HTML for the World Wide Web (5th ed.). Berkeley, CA: Peach Tree.
Shneiderman, Ben (2004). Designing the user interface: Strategies for effective human-computer interaction (8th ed.). Reading, MA: Addison Wesley Longman.
Douglas C. Smith
Intangiblepersonal propertyconsisting of mathematical codes, programs, routines, and other functions that controls the functioning and operation of a computer's hardware.
Software instructs a computer what to do. (The computer's physical components are called hardware.) Computer software is the general term for a variety of procedures and routines that harness the computational power of a computer to produce, for example, a general operating system that coordinates the basic workings of the computer or specific applications that produce a database, a financial spreadsheet, a written document, or a game. Computer programmers use different types of programming languages to create the intricate sets of instructions that make computing possible.
Until the personal computer revolution began in the 1980s, software was written mainly for business, government, and the military, which employed large mainframe computers as hardware. With the introduction of personal computers, which have rapidly increased in power and performance, software has emerged as an important commercial product that can be marketed to individuals and small business as well as big business and the government.
Software is, under the law, intellectual property and therefore entitled to protection from persons who seek to exploit it illegally. Software can be protected through the use of trade secrets, copyright, patents, and trademarks.
trade secret protection may apply to unpublished works and the basic software instructions called source code. Typically trade secrets will be effective if a company develops software and wishes to prevent others from finding out about it. A person who works on developing the software will be required to sign a nondisclosure agreement, which is a contract that obligates the person signing it to keep the project a secret.
Once software is developed and is ready to be sold, it can be copyrighted. Copyright protects the expression of an idea, not the idea itself. For example, a person could not copyright the idea of a computer database management system but could copyright the structure and content of a database software program that expresses the idea of a database system.
Court decisions appear to have limited copyright protection for some features of software. In Apple Computer v. Microsoft Corporation, 35 F.3d 1435 (9th Cir. 1994), the court held that Apple Computer could not copyright the graphical user interface (GUI) it had developed for its Macintosh computer. Microsoft Corporation's Windows software program contained a GUI nearly identical to Apple's. The court stated that Microsoft and other software developers were free to copy the "functional" elements of Apple's GUI because there are only a limited number of ways that the basic GUI can be expressed differently.
In Lotus Development Corp. v. Borland International, 49 F.3d 807 (1st Cir. 1995), Lotus alleged that Borland had copied the hierarchical menu system of the Lotus 1-2-3 spreadsheet program, which contained 469 commands, in its Quattro spreadsheet program. The court of appeals ruled that Borland had not infringed on Lotus's copyright because the menu command hierarchy was a "method of operation," which is not copyrightable under federal copyright law (17 U.S.C.A. § 102(b)).
Patent law supplies another avenue of protection for software companies. A patent protects the idea itself. It is often an unattractive option, however, because it takes a significant amount of time, usually two years, and money to obtain a patent from the U.S. patent and trademark office. The patent process is complicated and technical, with the applicant required to prove to the Patent and Trademark Office that a patent is deserved. Because the shelf life of a software program is often short, seeking a patent for the program is often impractical.
Trademark law protects the name of the software, not the software itself. Protecting a name from being used by others can be more valuable than other forms of protection.
When software is leased or sold, the purchaser usually must agree to accept a software license. When a business negotiates with a software company, it will sign a license agreement that details how the software is to be used and limits its distribution. A software license is an effective tool in preventing piracy.
When consumers buy software from a software company or through a third-party business, they find in the packaging a software license. The license is typically on the sealed envelope that contains the software media, which itself is sealed in plastic wrapping. These "shrink-wrap licenses" describe contractual conditions regarding the purchaser's use of the software. The opening of the shrink-wrap, according to the license, constitutes acceptance of all of the terms contained in the license agreement.
The purchaser is informed that the software is licensed and not sold to the purchaser. By retaining title to the software, the computer software company seeks to impose conditions upon the purchaser, or licensee, that are not otherwise permissible under federal copyright law. The principal terms of the shrink-wrap license include prohibiting the unauthorized copying and renting of the software, prohibiting reverse engineering (figuring out how the software works) and modifications of the software, limiting the use of the software to one computer, disclaiming warranties, and limiting liabilities.
The enforceability of shrink-wrap licenses has been challenged in the courts. The prevailing view is that when mass-market prepackaged software is sold, the transaction is a sale of goods and not a true license agreement. The key issue is whether the license document is part of an enforceable contract. Defenders of shrink-wrap licenses argue that the purchaser agrees to the conditions of the license after breaking the packaging seal and therefore contract law must uphold the written terms of the contract. Opponents argue that the sequence of events in the typical software purchase transaction is skewed. The purchaser is not aware of the license agreement until after the sale is consummated. The purchaser's acceptance of the license agreement is inferred when he or she opens the package or uses the software. However, the purchaser does not sign the license agreement. She may not even read the terms of the license agreement and, in any case, does not expressly agree to them.
In Step-Saver Data Systems v. Wyse Technology, 939 F.2d 91 (1991), the Third Circuit Court of Appeals held that the shrink-wrap license did not become part of the contract and therefore was not a valid modification to a previously existing contractual relationship for the sale of prepackaged computer software. The court concluded that, under the uniform commercial code § 2-207, a contract had existed prior to the opening of the package, the license contained new terms that materially altered the contract, and the purchaser did not expressly accept these terms. Because of these conclusions, the license agreement was invalid and unenforceable.
Lawsuits involving the software industry have not been limited to intellectual property disputes. In 1998, the U.S. Justice Department brought an antitrust lawsuit against Microsoft Corporation, alleging that the company had illegally taken advantage of its software monopoly to stifle competitors in the software market. A federal district judge in 1999 found Microsoft guilty of violating antitrust laws and in 2000 ordered that the company be divided into two separate companies, U.S. v. Microsoft, 253 F.3d 34 (D.C. Cir. 2001). However, a federal appellate court in 2001 overruled the district court's ruling, though it upheld the finding that Microsoft had violated antitrust laws. In 2002, Microsoft and the justice department reached a settlement whereby Microsoft agreed to disclose sensitive technology to its competitors and to allow manufacturers and customers to remove Microsoft icons from some of the features in the company's system software.
Software developers have legitimate concerns about software piracy. Counterfeiting is an international problem that results in the sale of millions of dollars of pirated software. The Software Publisher's Association (SPA) and the Business Software Alliance (BSA) are major organizations that combat software piracy. The SPA is the leading international trade association for the personal computer software industry. Both SPA and BSA have collected millions of dollars worldwide from companies that have used pirated software. Most companies using pirated software are reported by former employees.
Piracy can take a number of forms. Computer users can commit piracy by using a single copy of licensed software to install on multiple computers. Similarly, copying disks and swapping disks inside and outside of the workplace can constitute forms of software piracy. The internet has likewise become a major source for illegally pirated software. A number of websites offer full, pirated programs that can be downloaded for free or exchanged with other users. Although the BSA, SPA and other organizations have sought to track these providers and take them offline, such sites still exist.
A number of programs are available to protect software against piracy. Many companies require users to enter special pass codes that correspond to the specific copies purchased by the users. Other software must be registered directly with the company over the Internet. Although piracy still exists at a significant rate, the BSA estimated that software piracy during 2001 cost companies $10.97 billion. Nonetheless, statistics indicate that piracy has been on the decline since the mid-1990s. Among the reasons noted by the BSA for this reduction are the employment of more effective means of distributing legal copies of software and a reduction in the price of software over the previous decade.
Band, Jonathan. 1995. Interfaces on Trial: Intellectual Property and Interoperability in the Global Software Industry. Boulder, Colo.: Westview Press.
Clapes, Anthony Lawrence. 1993. Softwars: The Legal Battles for Control of the Global Software Industry. Westport, Conn.: Quorum.
Evans, David S., ed. 2002. Microsoft, Antitrust and the New Economy: Selected Essays. Boston: Kluwer Academic.
Lautsch, John C. 1985. American Standard Handbook of Software Business Law. Reston, Va.: Reston.
Years ago, computers were huge expensive machines used mainly by large companies and universities. Since then, they have become useful everyday tools people use to share, store, and analyze information. While computers have affected the world in a very broad way, their impact in the business sector has been especially significant. Desktop computers, large mainframes, and the servers used to host Web sites are key elements in the world of e-commerce. However, contemporary computers would be useless without software.
E-commerce Web sites rely on many different kinds of software programs. Software makes it possible for e-tailers to ensure security, operate servers, manage customer relationships, allow customers to use online shopping carts and payment systems, and more. These many different pieces of software must be integrated so they work together seamlessly. This is often easier said than done. Each company needs to choose the right software programs and the right people to make them work together. In many ways, software serves as the glue that connects consumers with a company's core operations, from billing and payment to the shipping and storage.
Software itself has no physical properties like a computer's metal and plastic hardware components. Software consists of instructions that tell computers what to do. Although it's customary to view hardware and software as separate and distinct elements that work in tandem to make a computer operate, the two are actually enmeshed together at many different levels. As Paul E. Ceruzzi explained in A History of Modern Computing, "A computer system is like an onion, with many distinct layers of software over a hardware core. Even at the center—the level of the central processor—there is no clear distinction: computer chips carrying 'microcode' direct other chips to perform the processor's most basic operations."
Software normally is placed in one of two different categories: system software and applications. System software includes things like operating systems and drivers that deal with computer functions at a low level. Operating systems like Microsoft Windows, DOS, UNIX, or Linux, direct the basic functions of a computer. They provide a link between a user and the machine. Drivers are programs that support devices like printers or scanners, which are connected to the computer. Applications are software programs that users apply to various tasks, ranging from enjoyment to productivity. Applications function at a higher level than system software. Among the different kinds of applications are video games, word processing programs, spreadsheets, graphic arts programs, financial programs, and Web browsers.
Software programs are normally written in one of many different kinds of high-level programming languages like C or C++. High-level languages are much closer to actual human language than machine language, through which computer hardware accepts commands. High-level languages eventually get translated to machine language, which is numeric (consisting mainly of zeros and ones).
According to the Software History Center, contrary to popular belief, hundreds of successful software companies existed before Bill Gates and Paul Allen started Microsoft, which was the world's leading software company in the early 2000s. The industry's origin dates back to 1944 when Grace Murray Hopper and Howard Aiken wrote a program for an electromechanical computer known as the Harvard Mark I. At that time, programs consisted of sequences of holes punched on paper tape. Later, for the Harvard Mark III, Aiken developed a way for programs to be written using a keyboard. Code was written in mathematical notation and was stored on magnetic tape instead of paper tape.
Ceruzzi, Paul E. A History of Modern Computing. Cambridge: The MIT Press. 1998.
Millman, Howard. "Committed to Their E-commerce Software." Computerworld, August 21, 2000.
"Software." Ecommerce Webopedia, March 29, 2001. Available from www.e-comm.webopedia.com.
"System Software." TechEncyclopedia, April 10, 2001. Available from www.techweb.com/encyclopedia.
"Welcome to the Software History Center." The Software History Center, April 16, 2001. Available from www.softwarehistory.org.
SEE ALSO: Linux; Microsoft Windows; Personal Computer, Introduction of; Programming Language; UNIX
soft·ware / ˈsôftˌwe(ə)r/ • n. the programs and other operating information used by a computer.Compare with hardware.