Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach Software Engineering for Students A Programming Approach

web.firat.edu.tr
from web.firat.edu.tr More from this publisher
21.08.2013 Views

Summary 327 Inappropriate patches, once incorporated into code can irreparably damage a project. Having an explicit manager on all open source projects means that all contributions are monitored and approved. This ensures that the freedom to contribute is upheld, but lessens the risk of any sabotage attempts. Open source program code is extremely reliable because bugs are found and fixed by a huge viewing audience with highly proficient programming abilities. Proprietary software corporations are being forced to acknowledge open source development as a valid approach and are beginning to experiment with its techniques. The high viewing audience that can track and fix bugs is seen as an efficient way of “cleaning up” software that is proving to be unreliable. Consequently, some companies have now opened up previously closed code. This suggests that the open source development approach can influence other mainstream techniques. Contributors to open source projects have a passion for programming, so that writing code is seen as more of a hobby than a chore or a job. They gain enormous satisfaction in seeing their patches integrated into a program. However, because open source projects generally rely upon voluntary contributions, there is always the risk that the community will cease to contribute to the project. This would result in a stagnation of a development project and an unfinished product. Similarly, the lack of documentation also potentially limits maintenance to the original developer base and lessens the ability of someone else being able to take on the project. If the initial developer base tires of a project, it is not easy for another developer to take on the project without documentation as a means of communicating the design of the program. The usefulness of informal support mechanisms is questionable, particularly for the general user. Website tutorials are often aimed at a technically adept audience. In addition, since support services are voluntary, there is no guarantee that someone will be available when required and users may have to wait until someone responds to their enquiry. Summary Open source development is a collaborative approach relying upon voluntary contributions of program code. It has its roots in a hacker ethic that promotes individual skill, but also upholds the importance of community. The approach produces extremely reliable software because open source code means bugs are exposed to a vast audience. More bugs are likely to be found and fixed. The regular release of the software also means that program code is continually tested before the final product version is released. Non-commercial open source is generally deficient in supporting the general user. However, the commercial sector, acknowledging the superiority of the program code, is addressing this problem, providing support services for open source products and adopting open source development techniques.

328 Chapter 25 ■ Open source software development • Exercises 25.1 Can you think of any situations or products for which the open source procedure might be most appropriate? 25.2 Can you think of examples of situations in which open source development of products might be unwise? 25.3 Assess whether open source would be suitable for each of the developments given in Appendix A. 25.4 Compare and contrast the approaches of the Free Software Foundation and the Open Source Movement. 25.5 Is open source development just hacking? Answers to self-test questions 25.1 Reliable software. 25.2 Yes. 25.3 Code sharing. 25.4 The internet. • Further reading This book provides a rare insight into the history of hacking, from its origins at MIT in the 1950s to the rise of open source software: S. Levy, Hackers: Heroes of the Computer Revolution, Anchor Books, 2002. The following title is a comprehensive collection of essays covering topics from licensing issues to the engineering of such major open source products as Mozilla and Perl: Open Sources: Voices from the Open Source Revolution, C. DiBona, S. Ockman and M. Stone, O’Reilly, 1st edn, 1999. This is a very accessible book which depicts the development of the GNU/Linux Operating System, including interviews with major contributors in the open source field: G. Moody, Rebel Code: Inside Linux and the Open Source Revolution, Perseus Publishing, 2001. This is a response to Fred Brooks’s seminal proprietary software development text The Mythical Man Month (1974). Raymond argues why the open source approach to software development will provide a higher-quality product: E.S. Raymond, The

328 Chapter 25 ■ Open source software development<br />

• Exercises<br />

25.1 Can you think of any situations or products <strong>for</strong> which the open source procedure<br />

might be most appropriate?<br />

25.2 Can you think of examples of situations in which open source development of products<br />

might be unwise?<br />

25.3 Assess whether open source would be suitable <strong>for</strong> each of the developments given in<br />

Appendix A.<br />

25.4 Compare and contrast the approaches of the Free <strong>Software</strong> Foundation and the Open<br />

Source Movement.<br />

25.5 Is open source development just hacking?<br />

Answers to self-test questions<br />

25.1 Reliable software.<br />

25.2 Yes.<br />

25.3 Code sharing.<br />

25.4 The internet.<br />

•<br />

Further reading<br />

This book provides a rare insight into the history of hacking, from its origins at MIT<br />

in the 1950s to the rise of open source software: S. Levy, Hackers: Heroes of the<br />

Computer Revolution, Anchor Books, 2002.<br />

The following title is a comprehensive collection of essays covering topics from licensing<br />

issues to the engineering of such major open source products as Mozilla and<br />

Perl: Open Sources: Voices from the Open Source Revolution, C. DiBona, S. Ockman<br />

and M. Stone, O’Reilly, 1st edn, 1999.<br />

This is a very accessible book which depicts the development of the GNU/Linux<br />

Operating System, including interviews with major contributors in the open source<br />

field: G. Moody, Rebel Code: Inside Linux and the Open Source Revolution, Perseus<br />

Publishing, 2001.<br />

This is a response to Fred Brooks’s seminal proprietary software development text The<br />

Mythical Man Month (1974). Raymond argues why the open source approach to<br />

software development will provide a higher-quality product: E.S. Raymond, The

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!