Computers and Technology
Submitted By TooN1ce
Software development is an industry still in its infancy. Developing operating systems, the essential program for any computer system, is still evolving as the industry continues to grow. Software development has a unique attribute that sets it apart from other industries. Software can be developed once and then replicated for virtually no cost to be distributed to end users. All operating systems currently on the market have been created as a result of open- or closed-source software development. The major difference between the two development philosophies is the privacy of the source code, particularly whether or not it is available to the public for evaluation, modification, and redistribution. Closed-source operating systems like Microsoft’s Windows and Apple’s Mac OS are more widely used in homes and businesses desktop and laptop computers. Although not as readily adopted, open-source operating systems offer viable alternatives to closed-source. Each has its own advantages and disadvantages associated with them. Closed-source software development more closely resembles the business philosophy used by other industries. Closed-source operating systems are developed by an individual, or team, and made available for purchase to the public. The source-code, however, is never revealed to the public. The product purchased is merely an executable file. The final product cannot legally be modified, sold, or distributed without permission from the copyright owner. In essence, purchasing a closed-source operating system allows the end user to use the software, but there is no tangible ownership given. They cannot freely modify their purchase. In order to stay competitive, and avoid such things as illegal copying, the source code is kept secret within the organization and is protected much like trade secrets in other industries. There are many advantages to using a closed-source approach for operating system software development for the developers. Closed-source software is unique. Competitors must design rival software without insight on how the closed-source product is designed; competition cannot borrow ideas or “plagiarize” because they cannot see how the final product is created. This ensures the organization’s ideas, approaches, and methods remain unique to the original developer or development team. For most users, the unique features and feel of operating systems determines their choice. The differences between how operating systems handle background processes are largely unimportant to the typical user, but can be extremely important for others. Keeping the design of unique features is of utmost importance to developers. There are many advantages the end-user receives as a result of closed-source operating systems. Corporations that offer closed-source operating systems, like Microsoft and Apple, support their products as well as their customers. Customers are also provided with documentation and information on how their product is expected to perform, as well as guarantees and warranties with their purchase. Patches to fix bugs address issues are constantly released, usually free-of-charge, well after the operating system’s original release. When customers encounter problems with their software, they have the ability to seek assistance from the manufacturer. Customers can also expect the software will perform as advertised. If the operating system malfunctions, customers may seek legal action against the organization. More than likely the organization will reimburse the customer for any damages that may have occurred as a result of the faulty software, provided the malfunction is legitimate and not caused by misuse. Open-source, or free, software development is the polar opposite of closed-software. Instead of keeping the source-code hidden from the public, anyone who wishes can view and modify it freely. Users are also able to redistribute open-source software, provided they document their additions or modifications and do not take credit for the original work. Sharing is a big part of the open-source philosophy, as well as community and collaboration. It is expected that any improvements made to the source-code of any open-source software be shared with the community. Most of the people who take part in open-source development are volunteers with different reasons for their contributions. Some developers contribute to open-source software as a hobby; a side-project worked on during their free time. Others do it to refine their skills; to grow as designers; “Students….can modify programs and test them, help find and fix bugs, and otherwise explore mature, full-featured operating systems, compilers, tools, user interfaces, and other types of programs” (Silberschatz, Galvin, & Gagne, 2012). There are many advantages to the open-source philosophy, especially when discussing operating system software. Open-source software development creates communities out of volunteers. The size of open-source software development teams is typically much larger than that of traditional closed-source teams. Open-source developers can be more innovative than closed-source because it has more contributors and the lack of a major organizations expectations. Open-source communities can be more creative, or be riskier, as a result of their freedom from corporations. Companies like Microsoft and Apple are expected to satisfy shareholders, boiling down to making money and not necessarily developing the most innovative, creative, or efficient product. Open-source development is typically not confined to any production schedule, which can sometimes lead to unfinished, unpolished, or buggy software in order to be on time. Open- and closed-source operating systems are not without disadvantages, for both end-users and developers. There is a risk when using open-source software, such as an operating system. If a malfunction occurs, most likely there is no support staff to assist the user. There is no guarantee the software will perform as expected and developers of open-source software are not liable if permanent damage takes place. Closed-source software usually comes with documentation such as a manual containing information on how software is expected to perform as well as compliant hardware and software. Open-source software typically contains no such documents. For developers, open-source development gives them the opportunity to create software with more freedom, but there are still disadvantages to the philosophy. Closed-source software, especially operating systems, are much more popular than open-source, making it difficult to generate revenue using the latter. Software companies that specialize in closed-source development can fall victim to the needs corporations and their shareholders. Software is occasionally released early to meet deadlines, often riddled with bugs and requiring major bug fixes and patches. Choosing between open- and closed-source operating systems depends on the user’s needs and understanding of software. Although riskier, open-source operating systems offer viable, cheaper alternatives to their closed-source counterparts and their low price, if any, is pivotal to their success. Open-source operating systems, like Linux, have been successful as a result of its pricing and the quality of work of its contributors. “Key to the success of Linux has been the availability of free software packages” (Stallings, 2012). Closed-source operating systems are more expensive, but offer more guarantees associated with that higher cost.
Silberschatz, A., Galvin, P. B., & Gagne, G., (2012). Operating System Concepts, Eighth Edition, pp. 40. John Wiley & Sons Inc.
Stallings, W. (2012).Traditional UNIX File Access Control. Operating Systems: Internals and Design Principle, Seventh Edition, pp. 94. Prentice Hall.