Presentation is loading. Please wait.

Presentation is loading. Please wait.

By : KANIF AHER.TE IT [304]. Open Source Software Model2  INTRODUCTION INTRODUCTION  WHAT IS OPEN SOURCE? WHAT IS OPEN SOURCE?  SIGNIFICANCE OF OPEN.

Similar presentations


Presentation on theme: "By : KANIF AHER.TE IT [304]. Open Source Software Model2  INTRODUCTION INTRODUCTION  WHAT IS OPEN SOURCE? WHAT IS OPEN SOURCE?  SIGNIFICANCE OF OPEN."— Presentation transcript:

1 By : KANIF AHER.TE IT [304]

2 Open Source Software Model2  INTRODUCTION INTRODUCTION  WHAT IS OPEN SOURCE? WHAT IS OPEN SOURCE?  SIGNIFICANCE OF OPEN SOURCE MODEL SIGNIFICANCE OF OPEN SOURCE MODEL  HOW OSS MODEL DIFFERS FROM PROPRIETARY SOFTWARE MODELS HOW OSS MODEL DIFFERS FROM PROPRIETARY SOFTWARE MODELS  KEY ROLES IN OPEN SOURCE DEVELOPMENT MODEL KEY ROLES IN OPEN SOURCE DEVELOPMENT MODEL  THE OPEN SOURCE SOFTWARE LICENSE THE OPEN SOURCE SOFTWARE LICENSE  WHY USE OSS/FS? WHY USE OSS/FS?  HOW OPEN SOURCE COMPANIES MAKE MONEY ? HOW OPEN SOURCE COMPANIES MAKE MONEY ?  OPEN SOURCE DEVELOPMENT MODEL IS NOT PERFECT ? OPEN SOURCE DEVELOPMENT MODEL IS NOT PERFECT ?  A LOOK AT ALREADY SUCCESSFUL OPEN SOURCE SOFTWARE PROJECTS A LOOK AT ALREADY SUCCESSFUL OPEN SOURCE SOFTWARE PROJECTS  A CASE STUDY OF OPEN SOURCE SOFTWARE: THE GNU/LINUX O. S. A CASE STUDY OF OPEN SOURCE SOFTWARE: THE GNU/LINUX O. S.

3 Open Source Software Model3 1. INTRODUCTION : 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 software is an idea whose time has finally come. For twenty years it has been building momentum in the technical cultures. Open Source software puts a new marketing face on a long tradition of enterprise-class 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. 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, and people fix bugs.

4 Open Source Software Model4 2. WHAT IS OPEN SOURCE? 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. Most Open Source software is not developed by one single vendor, but by a distributed group of programmers. 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. People can install and use those programs but cannot change them or fix them. 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. 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.1 COMMON PUBLIC VIEW :

5 Open Source Software Model5 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. 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. 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. 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. 2. WHAT IS OPEN SOURCE? 2.2 THE FORMAL FRAMEWORK :

6 Open Source Software Model6 3. SIGNIFICANCE OF OPEN SOURCE 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. 3.1 BENEFITS AND RISKS OF OPEN SOURCE SOFTWARE COMPARED TO TRADITIONAL COTS (Commercial Off-The-Shelf).BENEFITS AND RISKS OF OPEN SOURCE SOFTWARE COMPARED TO TRADITIONAL COTS (Commercial Off-The-Shelf). 3.2 THE PROS AND CONS OF OPEN SOURCE.THE PROS AND CONS OF OPEN SOURCE

7 Open Source Software Model7 3.1 BENEFITS & 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 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 Program Managers can re-use code written by others for similar tasks. 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.

8 Open Source Software Model8 Contd… The open source model builds open standards and achieves a high degree of interoperability. Open source can create support that lasts as long as there is demand, even if one support vendor goes out of business. 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. Version control can become an issue if the OSS system requires integration and development. 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.

9 Open Source Software Model9 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 information anywhere in the world. To be certified as OSS, developers must follow the Open Source Definition The Open Source principles of the definition, including: 1.Free Redistribution: 2.Source Code: 3.Derived Works: 4.Integrity of the Author’s Source Code: 5. Distribution of License: 6. License must not be specific to a Product: 7.License must not contaminate other Software:

10 Open Source Software Model10 Free Redistribution: No party can be restricted from selling or giving away the software as a component of an aggregate software distribution. Source Code: The program must include source code and must allow distribution. 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. 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.

11 Open Source Software Model11 4. HOW OSS MODEL DIFFERS FROM PROPRIETARY SOFTWARE MODELS ? With traditional proprietary software, the purchaser obtains only executable code-the 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. 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. 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.

12 Open Source Software Model12 4.1 OPEN SOURCE DEVELOPMENT VS. TRADITIONAL PROCESSES : 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. 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.

13 Open Source Software Model13 4.2. THE ADVANTAGES OF OPEN SOURCE SOFTWARE OVER PROPRIETARY SOFTWARE : 1.Stability: Open Source software is often more reliable and stable than proprietary software. 2.Cost: Open Source software is free. 3.Security: In the proprietary software model, developers compete to discover and exploit security holes. The Open Source redirects developer competition toward preventing security breaches in the first place. Additionally, there are no hidden APIs that can be exploited. 4.Flexibility: Open Source code can be modified to fit customer requirements. Drivers can be developed or modified without reverse-engineering unpublished APIs. 5.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. 6.Reduced Risk : The Open Source development model effectively spreads risks over a large pool of programming talent.

14 Open Source Software Model14

15 Open Source Software Model15 1.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. 2.Development Team : Adds features, fixes bugs, creates patches, writes documentation. 3.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 teams 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. 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. 5. KEY ROLES IN OPEN SOURCE DEVELOPMENT MODEL :

16 Open Source Software Model16 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. The entire 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. 6. THE OPEN SOURCE SOFTWARE LICENSE :

17 Open Source Software Model17 7. WHY USE OSS/FS? This provides quantitative data that, in many cases, using open source software / free software is a reasonable or even superior approach to using their proprietary competition according to various measures. The goal is to show that you should consider using OSS/FS when acquiring software. There are many good reasons to use OSS/FS, and there's actually quantitative data justifying some of its claims (such as higher reliability). 7.1 Major Projects : A List of important OSS/FS programs that are generally recognized as mature. 1.Linux kernel 2.Apache (web server) 3.Samba (supports interoperability with Windows clients by acting as a Windows file and print server), 4.GNOME (a desktop environment), 5.KDE (also a desktop environment), 6.The GIMP (bitmapped image editor), 7.MySQL (database emphasizing speed),

18 Open Source Software Model18 Contd… 8.PostgreSQL (database emphasizing functionality), 9.PHP (hypertext preprocessor used for web development), 10.Mailman (mailing list manager), 11.XFree86 (graphics infrastructure which implements the X window system), 12.bind (domain naming service, a critical Internet infrastructure service), 13.GNU Compiler Collection (GCC, a suite of compilation tools for C, C++, and several other languages), 14.Perl (programming/scripting language), 15.Python (another programming/scripting language), 16.Mozilla (web browser and email client), 17.OpenOffice.org (office suite, including word processor, spreadsheet, and presentation software), The open source BSD (Berkeley Software Distribution) Operating systems : 1. FreeBSD (general purpose), 2. OpenBSD (security-focused), 3. NetBSD (portability-focused).

19 Open Source Software Model19 8. HOW 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. 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: 1. Support Sellers Companies give away the software product but sell distribution, branding, and after-sale service. 2. Loss Leaders Companies give away open source as a loss leader to establish market position for closed software. 3. Widget Frosting A hardware company goes open source to get better and cheaper drivers and interface tools. 4. Accessories Companies sell accessories—books, compatible hardware, and complete systems—with open source software pre-installed.

20 Open Source Software Model20 9.OPEN SOURCE DEVELOPMENT MODEL IS NOT 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. 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. 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.

21 Open Source Software Model21 10. A LOOK AT ALREADY SUCCESSFUL OPEN SOURCE SOFTWARE 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. 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. 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.

22 Open Source Software Model22 Contd… 3. Sendmail : Send mail 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. 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. 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.

23 Open Source Software Model23 11. A CASE STUDY OF OPEN SOURCE SOFTWARE: THE GNU/LINUX O. S. 11.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. 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.

24 Open Source Software Model24 11.2 How Is Linux Developed, Distributed, And Supported? 11.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. 11.2.2 How is the Linux Kernel Developed and Updated? The Linux kernel is developed and updated following the Open Source development model. 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.

25 Open Source Software Model25 11.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. Development releases have odd version numbers, e.g., 2.1, 2.3.x, etc.

26 Open Source Software Model26 11.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. 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.”

27 Open Source Software Model27 11.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.www.kernel.org 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 out sources support to Collective Technologies and The Sutherland Group and Caldera out sources support to Multi-User Solutions.

28 Open Source Software Model28  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. 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.

29 Open Source Software Model29


Download ppt "By : KANIF AHER.TE IT [304]. Open Source Software Model2  INTRODUCTION INTRODUCTION  WHAT IS OPEN SOURCE? WHAT IS OPEN SOURCE?  SIGNIFICANCE OF OPEN."

Similar presentations


Ads by Google