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

SELF-TEST QUESTION 25.1 What is the primary goal of open source development? 25.2 Can you write and sell software with a GPL license? 25.3 The schism within open source development 323 The same principle is applied in open source development. Rather than the code being confined to a small core of developers, as in proprietary methods, a greater audience facilitates a greater influx of ideas and a greater degree of innovation. It is also believed that because the source code is examined by a larger audience than proprietary software, any imperfections stand a greater chance of being identified and consequently rectified. The sharing of code therefore leads to more reliable code. Hackers comprise a large portion of the open source development community. Head figures within open source organizations are very often notorious hackers, whose reputation for highly proficient programming strengthens their influence on the open source community. Because of the openness of the program code, the community has devised its own license agreement for use on products developed as open source. The GNU General Public License (GPL) is a software license which protects its “openness”, actually making it illegal for anyone to make the code proprietary or “closed”. The GPL restricts private modification to source code without publication and disallows the incorporation of any GPL-covered software into a proprietary program. Some larger open source development projects have devised their own open source licenses, which differ in varying degrees from the GPL. However, the majority of projects still deploy the GPL, particularly most of the founding open source projects and smaller development communities that are not affiliated with proprietary companies. However, the openness and concept of code sharing does not always mean that open source products are free to buy. Open source is “free as in freedom, not as in free beer”. Open source companies do offer their program code for free, most commonly to download from their website. However, they often also sell their software as a complete package, shrink wrapped, sometimes including user manuals and additional help services. 25.3 ● The schism within open source development Whilst there is a common belief in collaboration and openness within the development community, a schism does exist in terms of the motivation and underlying philosophy of open source. The main split is between the Free Software Foundation (FSF) and the Open Source Movement (OSM). The FSF was founded by Richard Stallman in 1985. This software development community promotes free software projects and places emphasis on the social benefits of working collaboratively. The FSF refer to their software as “freeware”, emphasizing the absence of restrictions associated with this type of development. It is intended to be

324 Chapter 25 ■ Open source software development a totally embracing ethic, increasing access to the practice of software development and also the resultant products. The philosophy of the FSF is that individual freedom should never be compromised and that all individual action should also benefit the wider community. Therefore, whilst individual programmers are encouraged and admired, they are also expected to feed their findings and their skills back into the community of programmers to which they ultimately belong. This is done through the sharing of code and the distribution of good programming practice. The FSF is absolutely resolute in not allowing any proprietary software to be incorporated into their software and were integral in the creation of the GPL. All their products are covered under the GPL, and they are largely unaffiliated with larger software development companies. The Open Source Movement is spearheaded by Eric S. Raymond. Their emphasis is on the benefits of open source as a development approach, rather than the moral benefits that can be brought by using this approach. They stress that open source can produce higher-quality software than proprietary software. The OSM are more willing to collaborate with larger software companies, sometimes including developers of proprietary products. They wish to appeal to the business sector because this enables greater distribution of their product. However, unlike the FSF, greater use of their products is motivated primarily because of the quality, rather than because of the freeness of the software. Forming contracts with larger companies is one way of exposing OSM products to a larger potential market. However, it also means that the product must compete with other commercial package products. 25.4 ● Techniques of open source development Despite the schism within open source in terms of ethics and philosophy, the development practices principally remain the same between the two. Within the open source development community, there is often no formal mechanism for gathering initial user requirements. The process often consists of a software requirement that is instigated by a sole developer, with requests for collaboration, targeting the hacker community. The Internet facilitates communication between developers and also the distribution of source code, via the Web, File Transfer Sites and e-mail. The head developer specifies most requirements. Additional user requirements are either implemented by individual developers themselves via personal modification of the source code, or through a communal process known as “code forking”. Code forking occurs when the developer base has alternative requirements or conflicting ideas on how to implement a requirement. The code is seen to “fork” because it is split and each copy of the code is developed in parallel. After this split occurs, the code is irreconcilable and therefore two different products exist, both growing from the same base code. Each fork competes for developer attention, so that the most popular or the most reliable version survives. The code writing on an open source project is sustained through voluntary contributions. Developers are motivated by the enjoyment of programming, the belief in the

SELF-TEST QUESTION<br />

25.1 What is the primary goal of open source development?<br />

25.2 Can you write and sell software with a GPL license?<br />

25.3 The schism within open source development 323<br />

The same principle is applied in open source development. Rather than the code<br />

being confined to a small core of developers, as in proprietary methods, a greater audience<br />

facilitates a greater influx of ideas and a greater degree of innovation. It is also<br />

believed that because the source code is examined by a larger audience than proprietary<br />

software, any imperfections stand a greater chance of being identified and consequently<br />

rectified. The sharing of code there<strong>for</strong>e leads to more reliable code.<br />

Hackers comprise a large portion of the open source development community.<br />

Head figures within open source organizations are very often notorious hackers, whose<br />

reputation <strong>for</strong> highly proficient programming strengthens their influence on the open<br />

source community.<br />

Because of the openness of the program code, the community has devised its own<br />

license agreement <strong>for</strong> use on products developed as open source. The GNU General<br />

Public License (GPL) is a software license which protects its “openness”, actually<br />

making it illegal <strong>for</strong> anyone to make the code proprietary or “closed”. The GPL<br />

restricts private modification to source code without publication and disallows the<br />

incorporation of any GPL-covered software into a proprietary program. Some larger<br />

open source development projects have devised their own open source licenses, which<br />

differ in varying degrees from the GPL. However, the majority of projects still deploy<br />

the GPL, particularly most of the founding open source projects and smaller development<br />

communities that are not affiliated with proprietary companies.<br />

However, the openness and concept of code sharing does not always mean that<br />

open source products are free to buy. Open source is “free as in freedom, not as in free<br />

beer”. Open source companies do offer their program code <strong>for</strong> free, most commonly<br />

to download from their website. However, they often also sell their software as a complete<br />

package, shrink wrapped, sometimes including user manuals and additional help<br />

services.<br />

25.3 ● The schism within open source development<br />

Whilst there is a common belief in collaboration and openness within the development<br />

community, a schism does exist in terms of the motivation and underlying philosophy<br />

of open source. The main split is between the Free <strong>Software</strong> Foundation (FSF) and the<br />

Open Source Movement (OSM).<br />

The FSF was founded by Richard Stallman in 1985. This software development<br />

community promotes free software projects and places emphasis on the social benefits<br />

of working collaboratively. The FSF refer to their software as “freeware”, emphasizing<br />

the absence of restrictions associated with this type of development. It is intended to be

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

Saved successfully!

Ooh no, something went wrong!