The Open Source Software Model

INDEX
No. 1. Introduction 2. What is Open Source? 2.1 Common Industry View 2.2 The Formal Framework 3. Significance of Open Source Model 3.1 Benefits and risks of OSS Model 3.2 The Pros and Cons of OSS Model 4. How OSS Model differs from proprietary Software Models 4.1 OSD Vs. Traditional Development process 4.2 The Advantages of OSS Model over Proprietary Software 5 6 7 8 9 Key roles in Open Source Development Model The Open Source Software License How Open Source companies make money Open Source Development Model is not perfect? A Look at already successful OSS Projects Topic Page 1 2 2 3 4 4 7 9 10 11 14 15 16 17 18 20 20 21 25 26

10 A case study of Open Source Software: The GNU/Linux O. S. 10.1 What is Linux? 10.2 How is Linux developed, distributed, and supported? 11 Conclusion 12 Bibliography

Introduction
We’ve all heard a lot of talk about open source, a software application development paradigm that puts development into the hands of a loosely defined community of programmers. Linux in particular, an open source operating system developed by Linus Torvalds in 1991, seems to be the poster child for the movement. Open source is nothing new to computing; it has been the underpinning of the Internet for years. Open source software is an idea whose time has finally come. For twenty years it has been building momentum in the technical cultures that built the Internet and the World Wide Web. Now it's breaking out into the commercial world, and that's changing all the rules. Open Source software puts a new marketing face on a long tradition of enterpriseclass free software. Unlike closed source, packaged applications, when you use Open Source software, you get the source code, which you can modify to fit your needs. You can incorporate Open Source code into commercial products without restriction. Open Source solutions are available for almost any conceivable application. Some of the world's largest companies, as well as the Internet itself, depend on Open Source for enterprise applications. The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.

1

2. What is Open Source?
2.1 Common Public View:
Open source has burst upon the software development scene as the new paradigm of faster turnaround and more reliable software. With the open source development model, a computer program’s source code is given away freely along with the program itself. This allows any programmer to view, modify, and redistribute the program. By allowing the outside world to adapt and propagate the source code, the development lifecycle is greatly reduced and the final product is much more stable and versatile, proponents advocate. The best thing about Open source is that it propels innovation, as users are free to tailor the software to suit their own needs and circulate those changes. Most Open Source software is not developed by one single vendor, but by a distributed group of programmers. Typically, open source software development is guided by project maintainers who address technical or end-user requirements rather than vendor agendas. Nobody “owns” Open Source software, which is freely available for download over the Internet. Closed-source software is the kind that most people know best. For decades, software companies have shipped their products on floppy disks and CD-ROMs. People can install and use those programs but cannot change them or fix them. The humanreadable version of the software: the source code, is jealously guarded by the software maker. One may think that open-source software is less secure or less reliable than closed source. This isn't true. For example, it is now universally accepted in the computer industry that the open-source Apache Web server is a much more secure alternative to Microsoft's closed-source Internet Information Server. Open source lets engineers around the world examine the code for security flaws and other bugs. Unlike most commercial software, the core code of such software can be easily studied by other programmers and improved upon--the only proviso being that such improvements must also be revealed publicly and distributed freely in a process that encourages continual innovation. 2

2.2 The formal framework:
Open source, by definition, means that the source code is available. Open source software (OSS) is software with its source code available that may be used, copied, and distributed with or without modifications, and that may be offered either with or without a fee. If the end-user makes any alterations to the software, he can either choose to keep those changes private or return them to the community so that they can potentially be added to future releases. Open Source Initiative (OSI), an unincorporated nonprofit research and educational association with the mission to own and defend the open source trademark and advance the cause of OSS certifies the open source license. The open source community consists of individuals or groups of individuals who contribute to a particular open source product or technology. The open source process refers to the approach for developing and maintaining open source products and technologies, including software, computers, devices, technical formats, and computer languages. Open source software, by definition, includes any program or application in which the programming code is open and visible. The concept of open source software dates to the earliest days of computer programming. The term came into popular usage following a February 1998 meeting in Palo Alto, California. A group of leading free software advocates, reacting to Netscape’s announcement that it planned to make the source code for its browser widely available, came to the realization that open source software had to be promoted and marketed based on pragmatic business strategies to compete effectively against closed source vendors.

3

3. Significance of Open Source Software Model
The open source development process differs sharply from the traditional commercial off-the-shelf (COTS) model. Eric Raymond likens the corporate or traditional COTS model, whereby a corporation produces and sells proprietary software, to a cathedral and the open source model to a bazaar. In the corporate model, individuals or small groups of individuals quietly and reverently develop software in isolation, without releasing a beta version before it is deemed ready. In contrast, the open source model relies on a network of “volunteer” programmers, with differing styles and agendas, who develop and debug the code in parallel. From the submitted modifications, the delegated leader chooses whether or not to accept one of the modifications. If the leader thinks the modification will benefit many users, he will choose the best code from all of the submittals and incorporate it into the OSS updates. The software is released early and often.

3.1 Benefits and Risks of Open Source Software Compared to Traditional COTS (Commercial Off-the-shelf)
Due to the different development models, Program Managers can achieve many benefits over traditional COTS by using OSS. Popular open source products have access to extensive technical expertise, and this enables the software to achieve a high level of efficiency, using less lines of code than its COTS counterparts. The rapid release rate of OSS distributes fixes and patches quickly, potentially an order of magnitude faster than those of commercial software. OSS is relatively easy to manage because it often incorporates elements such as central administration and remote management. Because the source code is publicly available, Program Managers can have the code tailored to meet their specific needs and tightly control system resources. 4

Moreover, Program Managers can re-use code written by others for similar tasks or purposes. This enables Program Managers to concentrate on developing the features unique to their current task, instead of spending their effort on rethinking and re-writing code that has already been developed by others. Code re-use reduces development time and provides predictable results. With access to the source code, the lifetime of OSS systems and their upgrades can be extended indefinitely. In contrast, the lifetime of traditional COTS systems and their upgrades cannot be extended if the vendor does not share its code and either goes out of business, raises its prices prohibitively, or reduces the quality of the software prohibitively. The open source model builds open standards and achieves a high degree of interoperability. While traditional COTS typically depends on monopoly support with one company providing support and “holding all the cards” (i.e., access to the code) for a piece of software, the publicly available source code for OSS enables many vendors to learn the platform and provide support. Because OSS vendors compete against one another to provide support, the quality of support increases while the end-user cost of receiving the support decreases. Open source can create support that lasts as long as there is demand, even if one support vendor goes out of business. For government acquisition purposes, OSS adds potential as a second-source “bargaining chip” to improve COTS support. OSS can be a long-term viable solution with significant benefits, but there are issues and risks to Program Managers. Poor code often results if the open source project is too small or fails to attract the interest of enough skilled developers; thus, Program Managers should make sure that the OSS community is large, talented, and well organized to offer a viable alternative to COTS. Highly technical, skilled developers tend to focus on the technical user at the expense of the non-technical user. As a result, OSS tends to have a relatively weak graphical user interface (GUI) and fewer compatible applications, making it more difficult to use and less practical, in particular, for desktop applications (although some OSS products are greatly improving in this area). Version control can become an issue if the OSS system requires integration and development. 5

As new versions of the OSS are released, Program Managers need to make sure that the versions to be integrated are compatible, ensure that all developers are working with the proper version, and keep track of changes made to the software. Without a formal corporate structure, OSS faces a risk of fragmentation of the code base, or code forking, which transpires when multiple, inconsistent versions of the project’s code base evolve. This can occur when developers try to create alternative means for their code to play a more significant role than achieved in the base product. Sometimes fragmentation occurs for good reasons (e.g., if the maintainer is doing a poor job) and sometimes it occurs for bad reasons (e.g., a personality conflict between lead developers). The Linux kernel code has not yet forked, and this can be attributed to its accepted leadership structure, open membership and long-term contribution potential, GNU General Public License (GPL) licensing eliminating the economic motivations for fragmentation, and the subsequent threat of a fragmented pool of developers. Ninety-nine percent of Linux distributed code is the same. The small amount of fragmentation between different Linux distributions is good because it allows them to cater to different segments. Users benefit by choosing a Linux distribution that best meets their needs. Finally, there is a risk of companies developing competitive strategies specifically focused against OSS. When comparing long-term economic costs and benefits of open source usage and maintenance to traditional COTS, the winner varies according to each specific use and set of circumstances. Typically, open source compares favorably in many cases for server and embedded system implementations that may require some customization, but fares no better than COTS for typical desktop applications.

6

3.2 The pros and cons of open source
Some of the benefits of Open Source software include high quality, flexibility, stable code, cost

savings and frequent incremental releases. Disadvantages include uncertain release schedules and
dependence on the continued interest of a large community of volunteers. There are many unnoticed advantages of this model such as freedom

to choose from different vendors, access across

multi-vendor environments, protection investment in existing computer system, ability to use/share information anywhere in the world and interoperability/portability across various platforms. The concept of open source software (OSS) has become more than a mere blip on the radar screens of IT professionals. However, the question of whether open source is a viable, cost-effective system for developing software for actual business applications has yet to be answered. To be certified as OSS, developers must follow the Open Source Definition (www.opensource.org/osd). The Open Source Web site (www.opensource.org) cites principles of the definition, including:

Free redistribution: No party can be restricted from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license may not require a fee for such sale.

Source code: The program must include source code and must allow distribution. If some form of a product is not distributed with source code, there must be a publicized means of obtaining the source code for no more than a reasonable reproduction cost —preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed.

7

Derived works: Modifications and derived works are allowed and can be distributed under the same terms as the license of the original software.

Integrity of the author's source code: Source code can be restricted from distribution in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. Software built from modified source code may be distributed but may be required to carry a different name or version number from the original software.

Distribution of license: The rights attached to the program must apply to all users. No additional licenses are needed.

License must not be specific to a product: The rights attached to the program must not depend on the program being part of a particular software distribution.

License must not contaminate other software: No restrictions should be placed on other software distributed with the licensed software. For example, all other programs distributed on the same medium need not be open source software. Because of its wide-open management methods and unusual fee structures, OSS, as a

business model, seems to fly in the face of conventional development wisdom. According to the Open Source Initiative, the organization that maintains the Open Source Definition, companies can make money with OSS using these four business models:

Support sellers: Companies give away the software product but sell distribution, branding, and after-sale service.

Loss leader: Companies give away open source as a loss leader to establish market position for closed software.

Widget frosting: A hardware company goes open source to get better and cheaper drivers and interface tools.

Accessories: Companies sell accessories—books, compatible hardware, and complete systems—with open source software pre-installed.

8

The possibility that OSS can be and, some would argue, is viable in a business enterprise raises questions about how much it costs, what support is available, and what training is required. All of these are practical questions that IT professionals need to consider before jumping into the open source system with both feet.

4. How is Open Source Model differs from proprietary software models?
With traditional proprietary software, the purchaser obtains only executable codethe ones and zeros that computers understand, but that are unreadable by humans. The company that develops the software holds the worldwide monopoly on its source code, and becomes the only place where the code can be modified, updated, or fixed. With Open Source software, the source code is freely available, giving developers the ability to isolate and fix bugs and to customize the software to their needs. A common illustration equates using proprietary software with driving a car with the hood permanently welded shut. Under this scenario, if the engine were to break down, the owner would have to return the car to the manufacturer for repair. Without access to the engine, neither the owner nor the car dealer would be able to fix the problem. Open Source software is like a car with a hood that opens. Car owners can fix problems themselves, or choose a repair service that best fits their needs. In the proprietary software model, the best company to provide support is the company that manufactures the software. The manufacturer is the only company that truly understands the source code, has access to it, and can modify or fix it when it breaks. In the Open Source software model, there is no single manufacturer. Distributed teams of programmers around the world develop open Source software. So there is no exclusive source for expertise, modifications, or bug fixes. Distribution vendors such as Caldera, Red Hat, SuSE, and Red Hat are not primarily manufacturers, but rather packagers and distributors of free software developed by others. 9

The Open Source model unties the knot between the product vendor and support services. Because source code is available to all, vendors are able to focus on a part of the value chain and build competitive services without fear of proprietary lockouts. The Open Source model unties the knot between the product vendor and support services. Because source code is available to all, vendors are able to focus on a part of the value chain and build competitive services without fear of proprietary lock-outs. Therefore, the best provider of shrink-wrapped Linux products is the vendor that best understands packaging, distribution, point-of-sale promotion, and branding. The best provider of Linux customer services is the vendor that specializes in service, building deep technical expertise and superior service delivery systems. The bottom line is that the Open Source software development model, by creating-and protecting an open playing field, encourages vendor specialization and fosters honest competition, ultimately giving the customer more choice, flexibility, and control.

4.1 Open Source Development vs. Traditional Processes
Once the originator is ready to invite others into the project he makes the code base available to others and development proceeds. Typically, anyone may contribute towards the development of the system, but the originator/owner is free to decide which contributions may or may not become part of the official release. The open source development (OSD) model is different from traditional in-house commercial development processes in several fundamental ways. First, the usual goal of an open source project is to create a system that is useful or interesting to those who are working on it, not to fill a commercial void.

10

Developers are often unpaid volunteers, who contribute towards the project as a hobby; in return, they receive peer recognition and whatever personal satisfaction their efforts bring to them. Sometimes this means that much of the effort on an OSD project concentrates on what part-time programmers find interesting, rather than on what might be more essential. It can be difficult to direct development toward particular goals, since the project owner holds little power over the contributing developers. This freedom also means that it can be difficult to convince developers to perform essential tasks, such as systematic testing or code restructuring that are not as exciting as writing new code.

4.2. The advantages of Open Source software over proprietary software
• Stability. Open Source software is often more reliable and stable than proprietary software. This is because Open Source projects have large numbers of contributors and follow an iterative development, debugging, and testing cycle. The best-known Open Source projects such as Linux have more contributors and testers than a traditional software company could afford to deploy on a project. • Cost. Open Source software is free. This results in immediate savings on licensing fees and upgrading costs. And the larger the project, the greater the savings-for example, there is no charge for additional client connections to an Open Source database. • Security. In the proprietary software model, developers compete to discover and exploit or publicize security holes. The Open Source peer review process redirects developer competition toward preventing security breaches in the first place. Additionally, there are no hidden APIs that can be exploited.

11

• Flexibility. Open Source code can be modified to fit customer requirements. Drivers can be developed or modified without reverse-engineering unpublished APIs. The bestknown Open Source projects such as Linux have more contributors and testers than a traditional software company could afford to deploy on a project. • Choice of vendors. In the Open Source model, vendors compete purely on the basis of their ability to add value to a shared platform, not on the basis of proprietary secrets. • Reduced risk. The Open Source development model effectively spreads risks over a large pool of programming talent. And it provides a hedge against obsolescence-for example, if a company that develops Open Source software goes out of business, the code could thereafter be maintained in perpetuity by other developers. Cisco Systems recently decided to release print spooler software under an Open Source license to reduce its dependency on in-house programming staff.

12

13

5. Key roles in Open Source development process
To understand the Open Source software development process it is important to acknowledge the roles of the various participants who take part in creating the code. Project Maintainer/Developer • Determines the software license • Writes the first code release and puts it up on the Internet • Sets up a Web site, mailing lists, and version control services (e.g. VCS) • Builds and leads the development team, usually from volunteers • Approves official releases Development Team • Adds features, fixes bugs, creates patches, writes documentation Users/Debuggers • Find bugs, point out design flaws, and request new features After the project maintainer puts up the first release, both users and the development team submit ideas to the project mailing lists. Patches come in from developers to the project maintainer. The maintainer incorporates improvements and releases a new version to the development team and users. As momentum builds, more people get involved, and the software evolves. Developers are rewarded by the immediately visible recognition of their contributions to the product. Linux is probably the best-known example of a successful Open Source development project.

14

6. Open-source Software licenses
Open Source refers to software distributed under a legal license, such as the GNU General Public License (GPL), that permits free distribution and require open availability of the source code. All the essential portions of the Linux operating system—its heart, or kernel, and most of the utilities that make up the operating system—are published under the GPL. There are several licensing models for Open Source. Some require that all changes made to the source must be freely distributed with the modified product. Other licenses permit an organization to make changes and keep the changes private. • Open Source licenses, such as the GPL, guarantee anyone the right to read, redistribute, modify, and use the software freely. •Under many Open Source licenses, including the GPL, modifications of existing software must be distributed under the same license as the original software. The source code to any changes or improvements must be made available to the public. • The GPL is one example of an Open Source license. Other examples include the BSD license, the MIT X License, the Artistic License, and the IBM Public License. All accomplish the same basic objectives: free distribution and openly available source code. All Open Source licenses meet the Open Source Definition, which is described at http://opensource.org/osd.html. Many people have heard that all open-source licenses are the same, and that opensource software infects everything around it, destroying all the proprietary value in a company's intellectual property. In fact, there are many different licenses. Some allow commercialization for free. Many work quite well with proprietary licensing strategies. The two most common licenses are the General Public License, or GPL, and the Berkeley Software Distribution, or BSD, license. The GPL allows anyone to use, change and share the source code. If you make changes, though, you must share them freely. The BSD license, by contrast, allows you to keep your changes private. We can conclude that to be OSI certified, the open source software must be distributed under a license that guarantees the right to read, redistribute, modify, and use the software freely. 15

7. How do Open Source companies make money?
While it is true that an open source business may not make money directly from its products, it is untrue that open source companies do not generate stable and scalable revenue streams. In actuality, in the 21st century web technology market, it is the open source company that has the greatest long-term strategic advantage. This is demonstrated by companies such as LINUX, Apache, and Netscape, a host of web-specific technologies such as Java, Perl, TCL, and a host of web-specific technology companies such as Sendmail. The open source business model relies on shifting the commercial value away from the actual products and generating revenue from the 'Product Halo,' or ancillary services like systems integration, support, tutorials and documentation.) This focus on the product halo is rooted in the firm understanding that in the real world, the value of software lies in the value-added services of the product halo and not in the product or any intellectual property that the product represents. In actuality, the value of software products approaches zero in the fast-paced, highly customized, ever-changing world of information technology. But it is not simply an acknowledgement of the revenue streams generated by the product halo that makes open source a compelling business strategy. Open source also cuts down on essential research and development costs while at the same time speeding up delivery of new products. This paradoxical situation arises from the fact that within an open source project, the community members themselves provide free research and development by contributing new solutions, features, and ideas back to the community as a whole. The company that sits at the center of any successful open source project may reap the rewards of the work of thousands of highly skilled developers without paying them a cent.

16

A final strength of the open source business model lies in its ability to market itself. Because open source products are typically released for free, open source companies that can produce quality products and generate a good reputation can almost immediately grab huge shares of any market based on the complex and far-reaching global referral networks generated by users. In fact, in the web technology space, almost every global standard has been based upon open source technology. By using the open source technology model, we can create a superior product, which immediately has a competitive advantage, and which generates multiple scalable revenue streams while being freely available throughout the community

8. Open Source Software Model is not quite perfect?
The mantra of the open source community is that OSS increases the reliability of software because it is peer-reviewed by many developers, all performing their own tests, making bug corrections, and tweaking the software until it is complete. Proponents claim this process creates mature, stable code more quickly than conventional software development, lowers overhead, and, through operating system porting, broadens the market for the software. The nature of open source development also increases the interaction between the developers of software and the customers who will ultimately use it. As an ideal, OSS sounds wonderful—a utopia for software development. Unfortunately, it’s not as perfect as it seems. All of the claims made by the Open Source Initiative are true, but only if the community of engineers and developers is actually interested in the success of a piece of software. If the open source community is not motivated to work on a certain software project, it will languish in obscurity.

17

This seems to be the scenario that has plagued Netscape and its Mozilla project. Netscape had hoped its willingness to reveal design secrets would attract outside programmers and yield new features, better code, and faster development. However, very few programmers jumped on the bandwagon. The Mozilla project was to be the loss leader that would open the market for Netscape’s enterprise software; instead, the effort has been a commercial flop. The major problem with OSS is the lack of objective information on how open source works in an enterprise and on how much it actually costs. Open source software is not a new concept, but its application in an enterprise environment is a recent phenomenon. Until open source software development moves out of the “philosophical” into the “practical,” management decisions on its viability will be suspect and ill-advised. There is no doubt that open source standards have benefits for enterprise computing needs, but the technology is not quite ready for prime time. Infrastructure and standards of practice are being developed and true cost analysis will be implemented. Only then will it be possible to say with any certainty that open source is the future.

9. A look at already successful Open Source Projects

Although OSS has recently become a hot topic in the press, it has actually been in existence since the 1960s and has shown a successful track record to-date. The open source movement gained momentum in big business in 1998, when IBM, Corel, Oracle, and Informix endorsed open source software. Examples of popular open source products include Emacs, GNU toolset, Apache, Sendmail, GIMP, Samba and Linux. While Linux and Apache are among the most well known open source-based applications, there are many others, including BSD, Debian, and other applications based on the GNU license. 18

9.1. GNU Software: Emacs was one of the first open source products whose success of Emacs led to the GNU program. It is a text editor that is widely used for software development. The GNU project consists of an operating system kernel and associated Unix tools. The GNU tools have been ported to a wide variety of platforms, including Windows NT and are widely used by software developers to produce both open source and proprietary software. 9.2. Apache web server: The Apache web server is a freely available web server distributed under an open source license. Apache web servers are known for their functionality and reliability. They form the backbone infrastructure running the Internet. Today the Apache web server is arguably the most widely used web server in the world garnering almost 50 percent of the web server market. Apache was built and is maintained by a group of 20 core developers and 10 major contributors from around the world. A large pool of developers regularly suggests and implement minor adjustments and bug fixes to the core group. 9.3. Sendmail: Sendmail is a platform for moving mail from one machine to another. The Sendmail Consortium, a nonprofit organization, runs the open source program and maintains a website to serve as a resource. Sendmail is estimated to carry nearly 90 percent of e-mail traffic. 9.4. PERL: While Emacs, GNU toolset, Apache, Sendmail, and Linux are examples of open source products, the Practical Extraction and Reporting Language (Perl) is an example of an open source process. Perl is a system administration and computer-programming language widely used throughout the Internet. It is the standard scripting language for all Apache web servers, and is commonly used on Unix. There are an estimated one million Perl users today. 19

9.5. Netscape: On January 22, 1998, Netscape announced that it would make the source code to its flagship client software, Netscape Communicator, freely available for modification and redistribution on the Internet. Netscape's pioneering decision to distribute software via the Internet has become an integral strategy for every software company worldwide.

10. A case study of Open Source Software: The GNU/Linux Operating System
10.1 What is Linux?
Linux is an open source Unix-like operating system (OS). The Linux community, led by Linus Torvalds the creator of Linux, maintains the kernel. Torvalds has appointed delegates who are responsible for managing certain areas of the project and, in turn, these delegates have a team of coordinators. Linux has multiple uses; it can be used as an OS for a server, desktop, or embedded environment. There are over ten million Linux users worldwide. Linux is the fastest growing server operating environment, increasing from 25 percent in 1999 to 45 percent in 2001. In the embedded market, Linux is also expected to play a significant role. Linux typically refers to the operating system built around the Linux kernel, a wide variety of GNU libraries and utilities, and many different Open Source projects. The Linux kernel is a small, though central, part of the overall operating system. The overall operating system comprises: • The Linux kernel, which handles process scheduling, memory management, SMP, etc • GNU C libraries (libc5, glibc6), the base API for the GNU system • GNU utilities, the shells, file utilities, compilers, linkers, etc. • X Windows, which handles graphical display • GNOME or KDE, which handles graphical user interface • Many other programs and utilities 20

10.2 How is Linux developed, distributed, and supported?
10.2.1 Who owns Linux? No one person or corporation owns Linux. It is created and distributed by a community of highly technical and committed contributors all over the world. Each of the components of Linux is an Open Source project that is managed by a different project maintainer. The creator of the OS himself feels that making the source code of Linux freely available was the best decision of his life. 10.2.2 How is the Linux kernel developed and updated? The Linux kernel is developed and updated following the Open Source development model discussed previously. Linus Torvalds is the project maintainer, with final authority over what goes into the kernel. Because of the complexity of the project, he is aided by a group of appointed project maintainers who are responsible for various components of the code. A large number of developers worldwide contribute to improvements to Linux. Any developer can submit a patch that includes source code changes to the kernel mailing list. Linus and his project maintainers review the patch. They decide whether or not to include it in the next release based on technical merit, not commercial reasons. Thus, there is no single company directing the development path of the Linux kernel. 10.2.3 What is the difference between the development and stable release? There are two separate code trees for Linux: the stable version and the development version. The stable version, which gets updated every few months, only includes code that is time-tested and proven. This is what is released to end users and businesses. Production releases have even version numbers, e.g., 2.0, 2.2, 2.4, etc. The development version is where developers can experiment with advanced technology and try new ideas. When there is a lot of activity, a new development kernel release can come out as often as three times a day. 21

The Open Source philosophy is “release early and release often.” This has proven to be an efficient way to discover and eliminate problems before they become deeply rooted. New features are worked out in the development kernel first and then are included in the stable kernel. Development releases have odd version numbers, e.g., 2.1, 2.3.x, etc.

10.2.4 What does a Linux distribution vendor do? A Linux distribution includes the Linux kernel plus utilities, programming tools, window managers, and other software that make up a full operating system. Distribution companies, such as Caldera, Red Hat, SuSE, Turbo Linux, and nonprofit organizations such as Debian, download the latest Open Source packages from the Internet, QA them, add utilities such as installation programs, and package them on a CD-ROM with a manual. 22

The underlying code in each distribution is exactly the same. Slight differences may occur in the following: • hardware installation programs • default X-windows configuration • graphical systems management tools • proprietary software packages (very few) In the vast majority of cases, Linux applications are compatible with all distributions of Linux, which accounts for the aphorism “Linux is Linux is Linux.” Distribution vendors take the kernel as is, with all changes and fixes that are contributed by members of the development community. Each distribution company releases new distributions about twice a year. The Open Source development model discourages distribution vendors from forking the Linux code base into incompatible code streams. The GPL specifies that additions, modifications, and extensions to Linux be distributed in source code form whenever executables are made available. If a distribution company were to acquire development expertise and attempt to build unique features into Linux, its innovations would be released back to the development community. Truly valuable changes would then be included in the next release of Linux and/or freely adopted by other distribution vendors, eliminating any competitive advantage. Currently, independent developers contribute the vast majority of fixes, patches, and additions to Linux. Each one of these modifications improves the stability and functionality of Linux.

10.2.5 Who develops Linux code? Tens of thousands of independent programmers contribute code to project maintainers for inclusion in Linux. Improvements and bug fixes developed and submitted by companies and individual programmers are included in Linux releases based on technical merit alone. When a new Linux kernel is released, it is put up on the main Linux kernel site, www.kernel.org. 23

There are a number of good Linux news web sites keeping the programmer and user community continuously updated about the latest developments in the kernel. The best way to keep track of the kernel development though is undoubtedly the Linux kernel mailing list. One can find all the Linux source code in the /usr/src/ directory of a native Linux partition. Also, a detailed documentation including discussions of major issues such as kernel hacking has been kept in the /usr/src/linux*/Documentation directory. The users interested in extracting details about the configuration workings of the OS at runtime can take a look at the contents of the /proc file system which is used by the kernel to provide information to the user programs. A user who has worked on Microsoft Windows OS will understand the difference here. A program to extract and print the currently running kernel’s information can be as small as 5 lines of C code in Linux. To achieve the same task under MS Windows would leave the programmer clueless as to how to hack the system to get these details. When a Linux system crashes on a user’s machine he may post the crash log on a mailing list such as one listed above, and he might find the bug-fix within hours of posting. If such type of system crash happens on any other proprietary OS, the user may need to wait for months or even years till the next expensive release/update comes into market. The above two examples show us where Open Source Software scores over it’s rivals. 10.2.6 Who develops applications for Linux? Software development firms such as Corel, Sun (Star Office), Oracle, IBM, HP, SAP, and many others, as well as independent programmers; develop applications that run on Linux. 10.2.7 Who bundles Linux with their hardware? Companies such as Dell, IBM, and VA Linux Systems sell Linux pre-installed on their computer systems. Companies offer support options exclusively for their Linux distribution, most outsource support. For example, Red Hat outsources support to Collective Technologies and The Sutherland Group and Caldera outsources support to Multi-User Solutions. 24

Conclusion
The Linux operating system kernel is a very successful example of a large software system in widespread use that has been developed using an “open source” development (OSD) model. If a conclusion has to be compiled, then freedom, ownership of the source, no license fees, availability of skills and resource to fix problems or to develop enhancements are all readily available. The distribution of software to smaller companies or acquisitions of the main business is freely available. Desires of a company dictate, freedom, cost effectiveness, availability of resources, a reliable and flexible solution that works well and retain any office tools and integration with popular market products, services or communication methods are key to the consideration of a business solution. So why is it not a perfect model for the commercial world? Habit and poor understanding is the cause of all issues related to acceptance of the Open Source Model. It is also ignorance and laziness that prevents the research and investigation into such technologies for many businesses. Ironically, it is far simpler to replace a system using Open Source model with numerous organizations that will guide any organization through the process, than it is to retain the large supplier that creates the locked in Psyche. The Open Source model will be freely accepted commercially and one day there will be no preferred alternative, the time line for globalization of such methods is certainly within the next five years, so hold on to your hats and do not get left behind, it is your choice and a free one.

25

Bibliography:
Raymond, Eric, “The Cathedral and the Bazaar,” - O’Reilly Associates, 1999. “Evolution in Open Source Software: A Case Study” - Michael W. Godfrey (SWAG). “A Business Case Study of Open Source Software” - Carolyn A. Kenwood July 2001. “How Open Source Software Development Works” – A paper by Linuxcare, Inc. “Open Source Security: a look at the security benefits of source code access” – TrueSecure 2001. “Open Source: The Perfect Commercial Model” - An OWI Whitepaper 2001. “The Origins and Future of Open Source Software” - A NetAction White Paper By Nathan Newman “Open source: An introduction to the new programming paradigm” – A Whitepaper by www.techrepublic.com

http://www.gnu.org/ - The GNU General Public License. http://www.apache.org/ - Apache Software Foundation. http://www.sendmail.org/ - Information on Sendmail. http://www.linux.org/ - The Linux Home Page. http://www.li.org/ - Linux International Home Page. http://www.perl.com/pub - Perl Home Page

26

Sign up to vote on this title
UsefulNot useful