• Open Source Definition• Open-Source Software (OSS) Definition• OSS Development philosophy• The 4 Freedom Provided by OS• OS Society and culture
• In production and development, open source is a philosophy, or pragmatic methodology, that promotes free redistribution and access to an end products design and implementation details. – Opening the source code enabled a self-enhancing diversity of production models, communication paths, and interactive communities.
• It is computer software that is available in source code form – The source code and certain other rights normally reserved for copyright holders are provided under a free software license that permits users to study, change, improve and at times also to distribute the software.
• Eric S. Raymond suggests a model for developing OSS known as the bazaar model – The traditional model of development, which he called the cathedral model, development takes place in a centralized way.• Software developed using the bazaar model should exhibit the following patterns: – Users should be treated as co-developers – Early releases – Frequent integration – Several versions – High modularization – Dynamic decision making structure
• Doesnt just mean access to the source code, the distribution terms of open-source software must comply with the following criteria:• Free Redistribution • No Discrimination Against• Source Code Persons or Groups• Derived Works • No Discrimination Against• Integrity of The Authors Fields of Endeavour Source Code • License Must Not Be• Distribution of License Specific to a Product• License Must Be • License Must Not Restrict Technology-Neutral Other Software
• Redefining OSS: – OSS can be viewed as a ‘virtual’ community of practice made up of inventors who voluntarily contribute to multiple collective inventions.• Three key economic problems with OSS: – Motivation: Why do programmers write Open Source codes if no one pays them to do it? (Knowledge & Skills) – Co-ordination: How do hundreds of people dotted around the world manage to effectively co-ordinate with each other in the absence of any hierarchical structure? (Labors) – Diffusion: Why is it that OSS is becoming so widespread in a world? (Economic Values)
1. Government – Open politics (sometimes known as Open-source politics) is a term used to describe a political process that uses Internet technologies such as blogs, email and polling to provide for a rapid feedback mechanism between political organizations and their supporters. – Open-source governance is similar to open-source politics, but it applies more to the democratic process and promotes the freedom of information
2. Ethics – Open-source ethics as an ethical school – Open-source ethics as a professional body of rules3. Media – Weblogs, or blogs – Messageboards (also known as discussion boards or forums) – OpenDocument – Open-source movie production
4. Education – Open-source curricula are instructional resources whose digital source can be freely used, distributed and modified. – Another strand to the academic community is in the area of research. Many funded research projects produce software as part of their work. There is an increasing interest in making the outputs of such projects available under an open- source license.
5. Innovation communities – Open innovation is also a new emerging concept which advocate putting R&D in a common pool.6. Arts and recreation – Copyright protection is used in the performing arts and even in athletic activities. Some groups have attempted to remove copyright from such practices.
• Evaluation and Pragmatism• Open Source and Human Capacity Building• Problems and Obstacles to Open Source• Open source trends
• Security Benefits – According to the maxim, "Given enough eyeballs, all bugs are shallow." What that means is that the more people who can see and test a set of code, the more likely any flaws will be caught and fixed quickly. • Android and Windows
• Quality Benefits – Which is more likely to be better: a software package created by a handful of developers, or a software package created by thousands of developers? – open source software gets closest to what users want because those users can have a hand in making it so.
• The most widely-cited intrinsic motivation for OSS developers is sharing and learning.• Open & Share: Lerner and Tirole (1999): working freely for the Open Source movement would be an investment activity aimed at increasing the signaling of quality of human capital.• FREE: it is often used in universities and schools for teaching
• Support (is the community sufficiently skilled to help you solve any potential problems)• Future Updates (can you be guaranteed that the application will continue to be developed or will you be left with an application that becomes more and more out of date)
• Documentation (is the application fully supported by instructions written by someone who knows how to write support material. The original developer may not be the best person to write the user guide)• Resources Available to the Developer (does the supporting community have the time/money/energy to make any significant changes to the software. Or will these become the responsibility of the end user).
• More commercial open source• More experimentation with business models – RedHat• More acquisitions – Sun acquired MySQL
• More power in the user community – As open source becomes more widespread in corporations, IT users are going to weigh in more in open source projects to make sure that they have a voice in whats important to them.• More mainstream – open source continues to be more and more of the core fabric of IT, especially at the operating system, middleware, and database layers.
• License Goals• Open Source Licenses• Differences with commercial licenses
• Open Source Licenses are tailored to meet certain goals for specific kinds of content (for example, some for software, others for documentation, still others for images or data) and varies in its terms. – What a license does is grant specific permissions for others to use that work. – As mentioned, the rights subsisting in a piece of software cannot be waived by its author, but must be transferred or licensed.
• Each Open Source shares five fundamental intents: 1. Licensees are free to use open source software for any purpose whatsoever. 2. Licensees are free to make copies of open source software and are free to distribute those copies without payment of royalties to a licensor. 3. Licensees are free to create derivative works of open source software and are free to distribute those works without payment of royalties to a licensor. 4. Licensees are free to access and use the source code of open source software. 5. Licensees are free to combine open source and other software.
• Fifty licenses may seem like a daunting number, but most of those fall into two categories: – Academic licenses: allow software to be used for any purpose without expectations of any kind. • Freely modified, sold, redistributed, sublicensed, and combined with other software • Other software licenses may preclude such combination. – Reciprocal licenses: allow software to be used for any purpose, but mandate that a derivative work be relicensed under the exact same license terms.
• GNU General Public License (GPL): – One of the most commonly used licenses for open- source projects. – Guarantees a wide range of rights to developers who work on open-source projects. – You can: • Copy the software • Distribute the software however you want. • Charge a fee to distribute the software. • Make whatever modifications to the software you want.
• GNU LESSER GENERAL PUBLIC LICENSE (LGPL) – Appropriate for libraries that want to allow linking from non-GPL and non-open-source software. – Not requiring other projects with parts of the code to be similarly licensed.
• BSD License: – Represent a family of permissive free software licenses that have fewer restrictions on distribution. – The New BSD License (“3-clause license”) allows unlimited redistribution for any purpose as long as its copyright notices and the license’s disclaimers of warranty are maintained.
• MIT License: – The shortest and probably broadest of all the popular open-source licenses. – It means: • You can use, copy and modify the software however you want. • You have no restrictions on how to distribute it. • The only restriction is that it be accompanied by the license agreement.
• Apache License – Can be applied to both copyrights and patents. – Apache License allows: • Rights are perpetual. • Rights are worldwide. • Rights are granted for no fee or royalty. • Rights are non-exclusive. • Rights are irrevocable.
• Creative Commons (CC) – Aren’t quite open-source licenses, but they are commonly used for design projects. – A CC license has four basic parts, which can be enacted individually or in combination: • Attribution • Share Alike • Non-Commercial • No Derivative Works
• Commercial Licenses: – Licenses are purchased for each of its products. – License management is a big deal. • Tracking software licenses for a company can be very confusing and time consuming, and the time needed to manage them can compound very quickly. – Licenses get misplaced, forgotten, and are usually not top priority when software purchases are made
• Tension in the Software Marketplace• Success Stories• Open Source Business Models• Stating your own OS Project
• RedHat placed well on track for billion-dollar revenues in 2010.• Marty Roesch - created an OSS called Snort having sold Sourcefire, the company he created to sell add-ons to Snort, for $225 million to security software leader Check Point.• John Powell, CEO of Alfresco, has declared that the open source industry is worth $60 billion.• In 2004, Australia paid $430 million per year, because of not using Open Source product.• In Norwegian Software Industry, close to 50% of the software industry integrate OSS components into vertical solutions serving all major business sectors.• IBM is reported to have spent over $1 billion in 2001 alone on Open Source projects.
• Support Ware: Pay us money and we’ll support the software.• Product Ware: The software is free, you just buy the box it runs in.• Cloud Ware: Our software is in the clouds now. Pay us for what it does.• Project Ware: Need something done? We’ll do it with OSS.• Software-as-a-Service (SaaS) Ware: Our software is SaaSy. You can rent it.• Ad Ware: You don’t pay anything, the advertiser pays instead.• Sugar Daddy Ware• Foundation Ware• Beg Ware
1. Before starting an open source project – Always look around to see if theres an existing project that does what you want.2. Starting From What You Have – Must decide what the project is really about—that is, decide its limitations, what it wont do as well as what it will—and write up a mission statement. – Every new open source project would start out life with a thorough design document, a complete user manual (with special markings for features planned but not yet implemented), beautifully and portably packaged code, capable of running on any computing platform, and so on.
• Choose a Good Name• Have a Clear Mission Statement• State That the Project is Free• Features and Requirements List• Development Status• Downloads• Version Control and Bug Tracker Access• Communications Channels• Developer Guidelines• Documentation• Example Output and Screenshots
3. Choosing a License and Applying It4. Setting the Tone – Avoid Private Discussions – Nip Rudeness in the Bud – Practice Conspicuous Code Review5. Announcing