Professional Documents
Culture Documents
CHAPTER 1
OVERVIEW OF OPEN SOURCE SOFTWARE
require derived works to carry a different name or version number from the
original software.
5. No Discrimination against Persons or Groups
The license must not discriminate against any person or group of persons.
6. No Discrimination against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific
field of endeavor. For example, it may not restrict the program from being used in
a business, or from being used for genetic research.
7. Distribution of License
The rights attached to the program must apply to all to whom the program is
redistributed without the need for execution of an additional license by those
parties.
8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of
a particular software distribution. If the program is extracted from that distribution
and used or distributed within the terms of the program's license, all parties to
whom the program is redistributed should have the same rights as those that are
granted in conjunction with the original software distribution.
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along
with the licensed software. For example, the license must not insist that all other
programs distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or
style of interface.
1. Reduce dependency on closed source vendors. Stop being dragged through constant
product upgrades that you are forced to do to stay on a supported version of the
product.
2. More access to tools. You can get your hands a variety of development and testing
tools, project and portfolio management tools, network monitoring, security, content
management, etc. without having to ask the boss man for a few hundred thousand
green backs.
3. Try before you buy. Are you getting ready to invest in SOA, BPM, or ECM? Why
not do a prototype without spending huge sums of money? First of all, it allows you to
get familiar with the tools so you can be educated when you go through the vendor
evaluation process. Second of all, you might find that the tool can do the job and you
don't need to lock yourself in to another vendor.
4. Great support and a 24/7 online community that responds quickly. Despite the
myths that you can't get support for open source software, the leading communities
provide support far superior to most closed source vendors. Most communities have a
great knowledge base or wiki for self service support. You can also post a question
and one of the hundreds of community members throughout the world will most
likely respond in minutes. Make sure you chose software with strong community
backing.
5. Access to source code and the ability to customize if you desire. You can see the
code, change the code, and even submit your enhancements and/or fixes back to the
community to be peer reviewed and possibly added to the next build. No longer do
you need to wait for a vendor roadmap that doesn't have the feature you need until
their Excalibur release.
6. Great negotiating power when dealing with closed source vendors. Tired of
vendors pushing you around because you don't have options? I wonder if companies
like Microsoft would be more willing to be flexible with their pricing if you have 20
desktops running Ubuntu as an alternative desktop pilot initiative.
7. Feature set is not bloated and is driven by collaboration amongst the community.
Are you tired of products that consume huge amounts of memory and CPU power?
With open source software, most features are driven by community demand. Closed
vendors have to create one more feature then their competitors to get the edge in the
marketplace.
8. Bug fixes are implemented faster then closed source vendors. Actually, many bugs
are fixed by the community before they are even reported by the users.
upgrades for a limited time before you need to fork out for any further enhancements
or assistance.
5. Greater Security & Quality
Open source software is available publicly. A large amount of developers globally
contribute and analyze the code making it more secure and constantly increasing the
quality. The peer review process drive excellence in design.
1 Accounting
2 Content Management Systems
3 CRM (Customer Relationship Management)
4 Desktop Environments/ Shell replacements
5 Email Clients
6 Encoding, Conversion & Ripping Tools
7 ERP
8 File sharing & FTP
9 Graphics-Design & Modeling Tools
10 Messengers & Communication Clients
11 Project Management
12 Reporting Tools
13 RSS
14 Web Browsers
1.7 FOSS
Free and open-source software (FOSS) is software that gives users the right to run,
copy, distribute, study, change, and improve it as they see fit, without them having to
ask permission from or make additional payments to any external group or person.
Compiled By: Prof. Nilesh Patil
Mobile No.: 7350791320
Open Source Technology /(SEM-V)/IT
The word free in FOSS refers not to fiscal cost, but to the autonomy rights FOSS
grants to its users.
The phrase open source emphasizes the rights of users to study, change and improve
the source code.
The definition of the term 'Free Software' has its origin in genesis of GNU Project.
The comparative definition maintained by Free Software Foundation indicates the
proper way of understanding meaning of the word 'free'. "Free software is a matter of
liberty, not price.
By Free Software Foundation (FSF) definition any program is free software if its
users have four freedoms:
freedom 0: "The freedom to run the program, for any purpose.
freedom 1: The freedom to study how the program works, and adapt it to your
needs). Access to the source code is a precondition for this.
freedom 2: The freedom to redistribute copies so you can help your neighbor .
freedom 3: The freedom to improve the program, and release your
improvements to the public, so that the whole community benefits. Access to
the source code is a precondition for this."
The core work of the free software movement focused on software development. The
free software movement also rejects proprietary software, refusing to install software
that does not give them the freedoms of free software.
The idea of the Free Software Movement is that computer users deserve the freedom
to form a community. You should have the freedom to help yourself, by changing the
source code to do whatever you need to do. And the freedom to help your neighbor,
by redistributing copies of programs to other people. Also the freedom to help build
your community, by publishing improved versions so that other people can use them.
Feature requests are generally tracked and prioritized using processes that are visible to the
rest of the development community. This ensures a common understanding of which features
have been requested, their relative priority, their development status, associated bugs and
blockers, and when they are planned for release. The request is typically made by whoever is
likely to lead the implementation work. The purpose of the request is to notify others of the
need, solicit feedback, gain acceptance for the idea, and come to a consensus on next steps.
Project contributors and maintainers then evaluate the request, and determine whether it
should be a candidate for a future release. There will often be discussions between the
requester and the development community to clarify needs and requirements. If the request is
approved, a target release will be set, and development begins.
One of the major contributing factors to the success of the open source development model is
its transparency, and ability to accommodate distributed collaboration among project teams.
This is accomplished using communication methods that are accessible to all within the
project community for strategic decision making, architecture discussions, and code reviews.
Mailing lists are one of the most commonly used communication channels because they are
self-documenting, transparent, and typically anyone involved in the project can participate.
This includes end users, who may be monitoring the lists to understand future features as they
evolve or to provide practical feedback.
Collaboration on Implementation
The open source development model places strong emphasis upon collaborative development
and peer review, from first idea to final acceptance. Because it evolved to support highly
decentralized teams where submitters were not all personally known to the maintainers, the
model favors those who work with others on design and implementation while clearly
communicating their plans.
The life-cycle of a new code submission begins with collaborative development among a
subset of developers who have taken ownership for delivering the feature. When the code is
functional and applies cleanly against the mainline project, the project team submits the code
to a project maintainer over the project mailing list. The maintainer and other project
participants may provide feedback on the submission and decline to accept it, in which case
the implementation team would revise and resubmit the code.
Because smaller patches are easier to understand and test, submitters are generally
encouraged to submit changes in the smallest increments possible. Smaller patches are less
likely to have unintended consequences, and if they do, getting to root cause of an issue is
much easier.
When the maintainer accepts submitted code, it will then be integrated into his or her
development tree. In a large, multi-layer project, the maintainer may then be responsible for
submitting it to additional maintainers further up the tree. When the code has been approved
by the top-most maintainer, it is integrated for distribution in the mainline release.
Because work may be highly distributed, the open source development model places
emphasis upon detecting issues early and fixing them quickly. Many larger projects create
nightly and weekly builds using an automated build suite, evaluating new code as soon as
possible after integration.
In addition to automated build suites, some projects also create custom test suites to detect
functional issues as they occur during active development. These test suites are typically open
source as well.
The open source development model favors small, incremental changes, which can make
diagnosing build issues, bugs, security holes, and regressions much easier. This ensures that
new code does not impact the projects overall focus upon high quality and secure code.
With few exceptions, projects that use the open source model make both a stable snapshot of
the last release and the current development tree available. This helps ensure that users can
retrieve the most recent stable release, while developers can work from the most current code.
Release management practices vary from project to project, but most nominate an individual
or team to evaluate the maturity of features in the development tree, and monitor QA metrics.
When the release criteria are met, this team declares the release to be complete and branches
the development tree.
The Apache License 1.0 was the original Apache License which applies only to older
versions of Apache packages (such as version 1.2 of the Web server).
The Apache License 1.1 was approved by the ASF in 2000: The primary change from the 1.0
license is in the 'advertising clause' (section 3 of the 1.0 license); derived products are no
longer required to include attribution in their advertising materials, but only in their
documentation.
The ASF adopted the Apache License 2.0 in January 2004. The stated goals of the license
included making the license easier for non-ASF projects to use, improving
2. BSD License
BSD licenses are a family of permissive free software licenses, imposing minimal
restrictions on the redistribution of covered software.
The original BSD license was used for its namesake, the Berkeley Software
Distribution (BSD), a Unix-like operating system.
Two variants of the license, the New BSD License/Modified BSD License (3-
clause), and the Simplified BSD License/FreeBSD License (2-clause) have been
verified as GPL-compatible free software licenses by the Free Software
Foundation, and have been vetted as open source licenses by the Open Source
Initiative, while the original, 4-clause license has not been accepted as an open
source license and, although the original is considered to be a free software license
by the FSF, the FSF does not consider it to be compatible with the GPL due to the
advertising clause.
In all BSD licences as following, <organization> is the organization of
the <copyright holder> or just the <copyright holder>, and <year> is the year of
the copyright. As published in BSD, <copyright holder> is "Regents of the
University of California", and <organization> is "University of California,
Berkeley".
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
3. All advertising materials mentioning features or use of this software must display the
following acknowledgement: This product includes software developed by the
<organization>.
4. Neither the name of the <organization> nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior written
permission.
This license has two versions that are actively used in many open source communities:
In other words, the GPL grants the recipients of a computer program the rights of the Free
Software Definition and uses copyleft to ensure the freedoms are preserved whenever the
work is distributed, even when the work is changed or added to. The GPL is a copyleft
license, which means that derived works can only be distributed under the same license
terms.
The GNU Lesser General Public License (LGPL) is a free software license published by
the Free Software Foundation (FSF). The license allows developers and companies to use and
integrate LGPL software into their own (even proprietary) software without being required by
the terms of a strong copyleft license to release the source code of their own software-parts.
The license requires that only the LGPL software-parts be modifiable by end-users via source
code availability. For proprietary software, LGPL-parts are usually in the form of a shared
library such as a DLL so that there is a clear separation between the proprietary and LGPL
parts. The LGPL is primarily used for software libraries, although it is also used by some
stand-alone applications.
The LGPL was developed as a compromise between the strong copyleft of the GNU General
Public License (GPL) and more permissive licenses such as the BSD licenses and the MIT
License. The word "Lesser" in the title shows that the LGPL does not guarantee the end user's
complete freedom in the use of software: it only guarantees the freedom of modification for
the LGPL-parts, but not for any proprietary software-parts.
5. MIT License
The MIT License is a free software license originating at the Massachusetts Institute of
Technology (MIT). It is a permissive free software license, meaning that it permits reuse
within proprietary software provided all copies of the licensed software include a copy of the
MIT License terms and the copyright notice. Such proprietary software retains its proprietary
nature even though it incorporates software under the MIT License. The license is also GPL-
compatible, meaning that the GPL permits combination and redistribution with software that
uses the MIT License.
Notable software packages that use one of the versions of the MIT License include Expat,
the Mono development platform class libraries, Ruby on Rails, Nodejs, Lua (from version 5.0
onwards), Wayland and the X Window System, for which the license was written.
The Eclipse Public License (EPL) is an open source software license used by the Eclipse
Foundation for its software. It replaces the Common Public License (CPL) and removes
certain terms relating to litigations related to patents.[6]
The Eclipse Public License is designed to be a business-friendly free software license and
features weaker copyleft provisions than contemporary licenses such as the GNU General
Public License (GPL). The receiver of EPL-licensed programs can use, modify, copy and
distribute the work and modified versions, in some cases being obligated to release their own
changes.[7]
The EPL is approved by the Open Source Initiative (OSI)[3] and is listed as a free software
license by the Free Software Foundation(FSF).
The Mozilla Public License (MPL) is a free, open source, and detailed software
license developed and maintained by the Mozilla Foundation. It is characterized as a
hybridization of the modified BSD license and GNU General Public License (GPL) that
seeks to balance the concerns of proprietary and open source developers.
It has undergone two revisions, most recently to version 2.0 with the goals of greater
simplicity and better compatibility with other licenses.
The MPL is the license for the Mozilla Firefox, Mozilla Thunderbird, and most other
Mozilla software, but it has been used by others, such as Adobe to license their Flex product
line, and LibreOffice 4.0 (also on LGPL 3+). Version 1.1 was also notably adapted by
companies to form derivative licenses like Sun Microsystems' own Common Development
and Distribution License