Perangkat Lunak Open Source
Open-source software is computer software whose source code is available under a copyright license that permits users to study, change, and improve the software, and to redistribute it in modified or unmodified form. It is the most prominent example of open source development.
Contents [hide] 1 History 2 Terminology 3 Open source model 4 Open source license 5 Open source movement 6 Open source versus closed source 7 Open source software versus free software 8 Participants in OSS development projects 9 Open source software development tools 9.1 Source code revision control 9.2 Testing tools 9.3 Bug/Error/Defect tracking tools 9.4 Communication 10 Advocates 11 Prominent projects and organizations 12 Examples of open source software 13 See also 14 Notes 15 Further reading 16 External links
[edit] History In 1998, a group of individuals advocated [1] that the term free software be replaced by open source software (OSS) as an expression which is less ambiguous and more comfortable for the corporate world. Software developers may want to publish their software with an open-source software license, so that anybody may also develop the same software or understand how it works. Open-source software generally allows anybody to make a new version of the software, port it to new operating systems and processor architectures, share it with others or market it. The aim of open source is to let the product be more understandable, modifiable, duplicatable, reliable or simply accessible, while it is still marketable.
The Open Source Definition, notably, presents an open-source philosophy, and further defines a boundary on the usage, modification and redistribution of open-source software. Software licenses grant rights to users which would otherwise be prohibited by copyright. These include rights on usage, modification and redistribution. Several open-source software licenses have qualified within the boundary of the Open Source Definition. The most prominent example is the popular GNU General Public License (GPL). While open source presents a way to broadly make the sources of a product publicly accessible, the open-source licenses allow the authors to fine tune such access.
[edit] Terminology The "open source" label came out of a strategy session held in Palo Alto in reaction to Netscape's January 1998 announcement of a source code release for Navigator (as Mozilla). A group of individuals at the session included Todd Anderson, Larry Augustin, John Hall, Sam Ockman, Christine Peterson and Eric S. Raymond. They used the opportunity before the release of Navigator's source code to clarify a potential confusion caused by the ambiguity of the word "free" in English. The 'open source' movement is generally thought to have begun with this strategy session. Many people, nevertheless, claimed that the birth of the Internet, since 1969, started the open source movement, while others do not distinguish between open source and free software movements.
The Free Software Foundation (FSF), started in 1985, intended the word 'free' to mean "free as in free speech" and not "free as in free beer." Since a great deal of free software already was (and still is) free of charge, such free software became associated with zero cost, which seemed anti-commercial.
Open Source Initiative (OSI) LogoThe Open Source Initiative (OSI) was formed in February 1998 by Eric S. Raymond and Bruce Perens. With at least 20 years of evidence from case histories of closed development versus open development already provided by the Internet, the OSI presented the 'open source' case to commercial businesses, like Netscape. The OSI hoped that the usage of the label "open source," a term suggested by Peterson of the Foresight Institute at the strategy session, would eliminate ambiguity, particularly for individuals who perceive "free software" as anti-commercial. They sought to bring a higher profile to the practical benefits of freely available source code, and they wanted to bring major software businesses and other high-tech industries into open source. Perens attempted to register "open source" as a service mark for the OSI, but that attempt was impractical by trademark standards. Meanwhile, thanks to the presentation of Raymond's paper to the upper management at Netscape (Raymond only discovered when he read the Press Release, and was called by Netscape CEO Jim Barksdale's PA later in the day), Netscape released its Navigator source code as open source, with favorable results.
Critics have said that the term "open source" fosters an ambiguity of a different kind such that it confuses the mere availability of the source with the freedom to use, modify, and redistribute it. Developers have used the term Free/Open-Source Software (FOSS), or Free/Libre/Open-Source Software (FLOSS), consequently, to describe open-source software that is freely available and free of charge.
The term "Open Source" was originally intended to be trademarkable, however, the term was deemed too descriptive, so no trademark exists. The OSI would prefer that people treat Open Source as if it were a trademark, and use it only to describe software licensed under an OSI approved license. Not everyone agrees with this idea. OSI Certified is a trademark licensed only to people who are distributing software licensed under a license listed on the Open Source Initiative web page.[2] There is also a graphic form of the trademark:
There have been instances where software vendors have sloppily labeled their proprietary software as "open source" because it interfaces with popular open source software (such as Linux), despite it not being open source software itself; this confusing practice is discouraged. [3]
[edit] Open source model
The Cathedral and the Bazaar book coverIn his 1997 essay The Cathedral and the Bazaar[4], open-source evangelist Eric S. Raymond suggests a model for developing OSS known as the Bazaar model. Raymond likens the development of software by traditional methodologies to building a cathedral, "fully crafted by individual wizards or small bands of mages working in splendid isolation"[5]. He suggests that all software should be developed using the bazaar style, which he described as "a great babbling bazaar of differing agendas and approaches."
In the Cathedral, model development takes place in a centralized way. Roles are clearly defined. Roles include people dedicated to designing (the architects), people responsible for managing the project, and people responsible for implementation. Traditional software engineering follows the Cathedral model. F.P. Brooks in his book The Mythical Man-Month advocates this sort of model. He goes further to say that in order to preserve the architectural integrity of a system, the system design should be done by as few architects as possible.
The Bazaar model, however, is different. In this model, roles are not clearly defined. Gregorio Robles[6] suggests that software developed using the Bazaar model should exhibit the following patterns:
Users should be treated as co-developers The users are treated like co-developers and so they should have access to the source code of the software. Furthermore users are encouraged to submit additions to the software, code fixes for the software, bug reports, documentation etc. Having more co-developers increases the rate at which the software evolves. Linus's law states that, "Given enough eyeballs all bugs are shallow." This means that if many users view the source code they will eventually find all bugs and suggest how to fix them. Note that some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment. This new testing environment offers that ability to find and fix a new bug. Early Releases The first version of the software should be released as early as possible so as to increase one's chances of finding co-developers early. Frequent Integration New code should be integrated as often as possible so as to avoid the overhead of fixing a large number of bugs at the end of the project life cycle. Some Open Source projects have nightly builds where integration is done automatically on a daily basis. Several Versions There should be at least two versions of the software. There should be a buggier version with more features and a more stable version with fewer features. The buggy version (also called the development version) is for users who want the immediate use of the latest features, and are willing to accept the risk of using code that is not yet thoroughly tested. The users can then act as co-developers, reporting bugs and providing bug fixes. The stable version offers the users fewer bugs and fewer features. High Modularization The general structure of the software should be modular allowing for parallel development. Dynamic decision making structure There is a need for a decision making structure, whether formal or informal, that makes strategic decisions depending on changing user requirements and other factors. Most well-known OSS products follow the Bazaar model as suggested by Eric Raymond. These include projects such as Linux, Netscape, Apache, the GNU Compiler Collection, and Perl to mention a few.
[edit] Open source license Main article: Open-source license Open source licenses define the privileges and restrictions a licensor must follow in order to use, modify or redistribute the open source software. Open source software includes software with source code in the public domain and software distributed under an open-source license.
Examples of open source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License.
[edit] Open source movement Main article: Open source movement The open source movement is a large movement of computer scientists, programmers, and other computer users that advocates unrestricted access to the source code of software. It grew out of licenses such as BSD, the ubiquitous access to Unix source code at universities. The line between the open source movement and the free software movement is somewhat blurry. Both are founded in the hacker culture. Mostly, the Free software movement is based upon political and philosophical ideals, while open source proponents tend to focus on more pragmatic arguments. Openness is a term that has evolved now to refer to projects that are open to anyone and everyone to contribute to, before and/or after the actual programming. Both groups assert that this more open style of licensing allows for a superior software development process (when compared to closed source), and therefore that pursuing it is in line with rational self-interest. Free software advocates argue that "freedom" is a paramount merit that one should prefer even in any cases where proprietary software has some superior technical features.
Proponents of the open source development methodology claim that it is superior in a number of ways to the closed source method. Some, notably Eric S. Raymond, go so far as to suggest that the open source methodology is able to produce higher quality software than any other methodology or technique. Raymond has written a series of works exploring this theme, including The Cathedral and the Bazaar and Homesteading the Noosphere.
Open source advocates point out that as of the early 2000s, at least 90 percent of computer programmers are employed not to produce software for direct sale, but rather to design and customize software for other purposes, such as in-house applications. According to advocates, this statistic implies that the value of software lies primarily in its usefulness to the developer or developing organization, rather than in its potential sale value—consequently, there is usually no compelling economic reason to keep source code secret from competitors. Open-source advocates further argue that corporations frequently over-protect software in ways actually damaging to their own interests, for reasons ranging from mere institutional habit through reflexive territoriality to a rational but incorrect evaluation of the tradeoffs between collecting secrecy rent and the quality and market payoff of openness.
The 2001 film Antitrust portrayed the struggle of a small-time group of open source programmers against a large Microsoft-like closed-source corporation.
Open source is a term that is applied to the entire concept that the creation and organization of knowledge is best created through open and cooperative efforts—this movement, variously called "open content" or "free culture," has been expressly endorsed by advocates of OSS, including Linus Torvalds who said "The future is 'open source everything.'"
[edit] Open source versus closed source Main article: Open source versus closed source The open source vs. closed source (alternatively called proprietary development) debate is sometimes heated.
Making money through traditional methods, such as sale of the use of individual copies and patent royalty payment, is more difficult and sometimes impractical with open-source software. Some closed-source advocates see open source software as damaging to the market of commercial software. This complaint is countered by a large number of alternative funding streams such as:
giving the software for free and instead charge for installation and support (used by many Linux distributions) make the software available as open-source so that people will be more likely to purchase a related product or service you do sell (e.g. OpenOffice.org vs StarOffice) cost avoidance / cost sharing: many developers need a product, so it makes sense to share development costs (this is the genesis of the X Window System and the Apache web server) Studies about security in open-source software versus closed-source software show that closed-source software have fewer advisories but open-source software usually has less time between flaw discovery and a patch or fix. Advocates of closed source argue that since no one is responsible for open-source software, there is no incentive or guarantee it will be fixed, and there is nobody to take responsibility for negligence. Open-source advocates argue that since the source code of closed-source software is not available, there is no way to know what security vulnerabilities or bugs may exist. However, having the source code for a program could also make it easier for a malicious person to discover security vulnerabilities that they can take advantage of (instead of reporting or fixing them).
[edit] Open source software versus free software Open source software and free software are different terms for software which comes with certain rights, or freedoms, for the user. They describe two approaches and philosophies towards free software. Open source and Free software (or software libre) both describe software which is free from onerous licensing restrictions. It may be used, copied, studied, modified and redistributed without restriction. Free software is not the same as freeware, software available at zero price.
The definition of open source software was written to be almost identical to the free software definition. There are very few cases of software that is free software but is not open source software, and vice versa.The distinction between Open Source and Free Software is a matter of philosophy and approach. The difference in the terms is where they place the emphasis. Free software is defined in terms of giving the user freedom. This reflects the goal of the free software movement. Open source highlights that the source code is viewable to all and proponents of the term usually emphasize the quality of the software and how this is caused by the development models which are possible and popular among free and open source software projects.
Open source software and free software share an almost identical set of licenses. According to the FSF, the open source movement is philosophically distinct from the free software movement. The FSF's free software definition is more restrictive than the Open Source Definition (OSD). In practice, nearly all open-source licenses are also classed as free software licences by the FSF - which means they meet the free software definition. The difference is more a matter of philosophical emphasis. One exception is an early version of the Apple Public Source License, which was accepted by the OSI but rejected by the FSF because it did not allow private modified versions; this restriction was removed in later version of the license. There are now new versions that are approved by both the OSI and the FSF.
Free software licenses are not written exclusively by the FSF. The FSF and the OSI both list licenses which meet their respective definitions of free software.
The Open Source Initiative believes that more people will be convinced by the experience of freedom. The FSF believes that more people will be convinced by the concept of freedom. The FSF believes that knowledge of the concept is an essential requirement, insists on the use of the term free[7], and separates itself from the Open Source movement. The Open Source Initiative believes that free has three meanings: free as in beer, free as in freedom, and free as in unsellable. Open Source says nothing about the freedom to modify and redistribute, so it is being misused by people who think that source access without freedom is sufficient. This is the case with most of the licences that make up Microsoft's "shared source" initiative, and to a lesser extent with the "license-free" software of Daniel J. Bernstein.
[edit] Participants in OSS development projects Participants in OSS development projects fall broadly into two categories. There are the Core and the Peripheral.
The Core or Inner Circle are developers who modify code that constitutes the project.
The Peripheral are usually made up of users who use the software. They report bugs, and suggest fixes.
The participants may then be further divided into the following.
Project leaders who have the overall responsibility (Core). Most of them might have been involved in coding the first release of the software. They control the overall direction of individual projects. Volunteer developers (Core / Periphery) who do actual coding for the project. These include: Senior members with broader overall authority Peripheral developers producing and submitting code fixes Occasional contributors Maintainers who maintain different aspects of the project Everyday users who perform testing, identify bugs, deliver bug reports, etc. (Periphery) Posters (Periphery) who participate frequently in newsgroups and discussions, but do not do any coding. [edit] Open source software development tools There are several types of tools used to aid the activities performed in Open Source Software projects. These tools include the following;
[edit] Source code revision control Main article: Revision control In OSS development the participants, who are mostly volunteers, are distributed amongst different geographic regions so there is need for tools to aid participants to collaborate in the development of source code.
Concurrent Versions System (CVS) is a major example of a source code collaboration tool being used in OSS projects. CVS helps manage the files of a project when several people are working on the project at the same time. CVS can allow several people to work on the same file at the same time. This is done by moving the file into the users’ directories and then merging the files when the users are done. CVS also enables one to easily go back to a previous version of a file and retrieve it.
The Subversion revision control system (svn) is an intended CVS replacement which is quickly gaining ground in OSS project version control.
[edit] Testing tools Since OSS projects undergo frequent integration, tools that help automate testing during system integration are used. One such tool is Tinderbox.
Tinderbox enables participants in an OSS project to detect errors during system integration. Tinderbox runs a continuous build process and informs users about the parts of source code that have issues and on which platform. It also identifies the author of the offending code. The author is then held responsible for ensuring that the error is resolved.
[edit] Bug/Error/Defect tracking tools Main article: Bugtracker Bug tracking is a very important aspect of OSS projects. Bug tracking includes the following tasks. It involves keeping a record of all reported bugs, whether the bug has been fixed or not, which version of the software does the bug belong to, and whether the bug submitter has agreed that the bug has been fixed (squashed). Popular bug tracking systems include Bugzilla and GNATS.
GNU GNATS is a set of tools for tracking bugs reported by users to a central site. It allows problem report management and communication with users via various means. GNATS stores all the information about problem reports in its databases and provides tools for querying, editing, and maintenance of the databases.
Bugzilla is a "Defect Tracking System" or "Bug-Tracking System". It allows individual or groups of developers to keep track and manage outstanding bugs in their product effectively.
[edit] Communication Since the participants in an OSS development project are dispersed, there is a need for tools to aid in organizing communication between project participants. This is accomplished with the aid of websites (Freshmeat, GNU Savannah, SourceForge), mailing lists (GNU Mailman) and instant messaging.
The above mentioned Open Source Software development tools are an essential and integral part of the Open Source Software development model.
[edit] Advocates Leading open source advocates include Brian Behlendorf, Tim O'Reilly, Eric Raymond, Linus Torvalds, Mitch Kapor and Paul Vixie. Others that advocate open source software, but do so under its original name "free software" include Alan Cox, Jimbo Wales, and Eben Moglen. Bruce Perens is a prominent advocate who uses both terms.
Richard Stallman, the founder of the free software movement in 1983, does not want his name associated with the term open source because Stallman believes the fundamental reason to develop such software is to provide and preserve freedoms for computer users, while many advocates of open-source software de-emphasize or do not agree with this goal.
[edit] Prominent projects and organizations Apache Software Foundation Debian Eclipse Foundation FreeBSD GIMP GNU JBoss Linux Mozilla Foundation NetBSD OpenBSD OpenOffice.org Open Source Development Labs Open Source Initiative PHP Python SourceForge [edit] Examples of open source software For an extensive list of examples of open source software, see the List of open source software packages.
[edit] See also Wikibooks has more about this subject: Open Source Free software Portal Embrace, extend and extinguish Free as in Freedom: Richard Stallman's Crusade for Free Software Free/Libre/Open-Source Software Gift economy Halloween documents Network effect Open access Open content for non-programming open source projects. Open Design — the application of open source principles to creating material objects and solutions. Open publishing Openness — the philosophical term Open source advocacy Open system Open standard Open format OpenDocument The new OASIS OpenDocument format (ODF) to create an open system for business & public sector documents. Unorganisation Vendor lock-in [edit] Notes ↑ Raymond E.S. (11 September 2000). "The Cathedral and the Bazaar". Retrieved 19 September 2004 from http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html ↑ Robles G. (2004). "A Software Engineering approach to Libre Software". Retrieved 20 April 2005 from http://www.opensourcejahrbuch.de/2004/pdfs/III-3-Robles.pdf ↑ Frank Scavo (2005). Key Advantage of Open Source is Not Cost Savings. Computer Economics. Retrieved on November 21, 2005. [edit] Further reading Mikko Välimäki, The Rise of Open Source Licensing: A Challenge to the Use of Intellectual Property in the Software Industry, Turre Publishing (2005) download PDF file (free) or order hard copy from publisher [edit] External links Free Software and Open Source software (Where to find) - from Wikisolutions FAQ - Getting Started With Open Source Development Anarchism Triumphant: Free Software and the Death of Copyright — Eben Moglen, Professor of Law and History at Columbia University Brief History of the Open Source Movement "the" definition of open source The dotCommunist Manifesto — Eben Moglen European Commission's Open Source Observatory — The EC's IDABC Open Source Observatory is the clearinghouse of information on the use of open source software by public administrations in Europe Goodbye, "free software"; hello, "open source" — Raymond's announcement of the term "open source", 8 February 1998 Open Source in the Open Directory Project Open Source Initiative (OSI) — a list of available licenses Open Sources: Voices from the Open Source Revolution — an online book containing essays from prominent members of the open source community Why "Free Software" is better than "Open Source" — a later essay from FSF The Corporate Eyeball Trap — essay by Atul Chitnis Free / Open Source Research Community — Many online research papers Jan 2006 TPOSSCON talk: "How OSS Improves Society" Aaron Siego speaks at the 2nd Trans-Pacific Open Source Software Conference in Honolulu, Hawaii. Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! - large collection of related quantitative studies Free Software Definition, Free Software Foundation Definition of free software by Richard Stallman Why Free Software is better than Open Source, GNU Project essay on the differences between Free Software and Open Source, by Richard Stallman Differences between open source and free software as interpreted by Slackware Berry, D M (2004). The Contestation of Code: A Preliminary Investigation into the Discourse of the Free Software and Open Software Movement, Critical Discourse Studies, Volume 1(1).