Final Ost
Final Ost
MODULE-I
Open Source Software
What if you had the right to get a free upgrade whenever your software
needed it? What if, when you switched from a Mac to a PC, you could switch
software versions for free? What if, when the software doesn't work or isn't
powerful enough, you can have it improved or even fix it yourself? What if the
software was still maintained even if the company that produced it went out of
business? What if you could use your software on your office workstation, and
your home desktop computer, and your portable laptop, instead of just one
computer? You'd probably still be using the software you paid for years ago.
These are some of the rights that Open Source gives you.
Confusion about the term freedom was the very reason the term Open source
was created. Open source or Open Source Software (OSS) is different from
proprietary software. In Open Source, the source code used in the software
is available to anyone to examine, evaluate, and adapt. Open source has an
important impact on the way many developers view and create software.
End users often use the term open source to cover a variety of free and open
source software.
Open source is a development method for software that harnesses the power
of distributed peer review and transparency of process. The Open Source
1
Open Source Tools
Initiative has this for a definition of open source software: The Open Source
Definition is a bill of rights for the computer user. It defines certain rights
that a software license must grant you to be certified as Open Source.
• The right to make copies of the program, and distribute those copies.
• The right to have access to the software's source code, a necessary
preliminary before you can change it.
• The right to make improvements to the program.
These rights are important to the software contributor because they keep all
contributors at the same level relative to each other. Everyone who wants to be
allowed to sell an Open Source program, so prices will be low and development to
reach new markets will be rapid. Anyone who invests the time to build knowledge
in an Open Source program can support it, and this provides users with the option
of providing their own support, or the economy of a number of competing support
providers. Any programmer can tailor an Open Source program to specific markets
in order to reach new customers. People who do these things are not compelled to
pay royalties or license fees.
• Better Quality
• Higher Reliability
• More Flexible
• Lower Cost
• Transparent
2
Open Source Tools
The Distribution Terms of open source software must comply with the
following criteria:
The license must allow modifications and derived works, and must allow
them to be distributed under the same terms as the license of the original
software.
3
Open Source Tools
Software has little use if you can't maintain it (fix bugs, port to new systems,
make improvements), and modification is necessary for maintenance. The
intent here is for modification of any sort to be allowed. It must be allowed
for a modified work to be distributed under the same license terms as the
original work. However, it is not required that any producer of a derived
work must use the same license terms, only that the option to do so be open
to them. Variouslicenses speak differently on this subject-the BSD license
allows you to take modifications private, while the GPL does not.
A concern among some software authors is that this provision could allow
unscrupulous people to modify their software in ways that would embarrass
the original author. They fear someone deliberately making the software
perform incorrectly in a way that would make it look as if the author was a
poor programmer. Others are concerned that software could be modified for
criminal use, by the addition of Trojan horse functions or locally-banned
technologies such as cryptography. All of these actions, however, are
covered by criminal law. A common misunderstanding about software
licenses is that they must specify everything, including things like "don't use
this software to commit a crime." However, no license has any valid
existence outside of the body of civil and criminal law.
The license may restrict source code from being distributed 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. The license
must explicitly permit distribution of software built from modified source
code. The license may require derived works to carry a different name or
version number from the original software.
4
Open Source Tools
Some authors were afraid that others would distribute source code with
modifications that would be perceived as the work of the original author, and
would reflect poorly on that author. This gives them a way to enforce a
separation between modifications and their own work without prohibiting
modifications. Some consider it un-aesthetic that modifications might have
to be distributed in a separate "patch" file from the source code, even though
Linux distributions like Debian and Red Hat use this procedure for all of the
modifications they make to the programs they distribute. There are programs
that automatically merge patches into the main source, and one can have
these programs run automatically when extracting a source package. Thus,
this provision should cause little or no hardship.
Note also that this provision says that in the case of patch files, the
modification takes place at build-time. This loophole is employed in the Qt
Public License to mandate a different, though less restrictive, license for the
patch files, in contradiction of Section 3 of the Open Source Definition.
There is a proposal to clean up this loophole in the definition while keeping
Qt within Open Source.
This means that Netscape, for example, can insist that only they can name a
version of the program Netscape Navigator(tm) while all free versions of the
program must be called Mozilla or something else.
5
Open Source Tools
1.2.5 No Discrimination
Against Persons or Groups The license must not discriminate against any
person or group of persons.
Rationale: In order to get the maximum benefit from the process, the
maximum diversity of persons and groups should be equally eligible to
contribute to open sources. Therefore we forbid any open source license
from locking anybody out of the process.
Some countries, including United States, have export restrictions for certain
types of software. An OSD-conformant license may warn licensees of
applicable restrictions and remind them that they are obliged to obey the
law; however, it may not incorporate such restrictions itself.
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 for genetic research.
Rationale: The major intention of this clause is to prohibit license traps that
prevent open source from being used commercially. We want commercial
users to join our community, not feel excluded from it.
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.
6
Open Source Tools
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.
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.
Rationale: Distributors of open source software have the right to make their
own choices about their own software.
The GPL is conformant with this requirement. Software linked with GPLed
libraries only inherits the GPL, if it forms a single work, not any software
with which they are merely distributed.
7
Open Source Tools
Free software is open source software, but not all open source software's
are free.
8
Open Source Tools
1.3.1 Licensees are Free to Use Open Source Software for Any Purpose
Whatsoever
An open source license may not interfere in any way with the use of the
software by licensees. Restrictions on use, such as “for research and
noncommercial purposes only," are not allowed in open source licenses. The
phrase free to use is also intended to mean, "Without any conditions that
would impede use," such as a requirement for the licensee to report uses to
the licensor, or to disclose the means or manner of internal uses of the
software. Note also that the first word, licensees, means that open source
software is only available under the terms of a license to which each licensee
must agree.
1.3.2 Licensees are Free to Make Copies of Open Source Software and to
Distribute them without Payment of Royalties to a licensor
This principle does not mean that a licensor cannot sell open source
software. It merely says that a licensee need not pay the licensor for
additional copies he makes himself, even if those copies are distributed to
others. As a practical matter, this open source principle drives the price of
mere copies of open source software toward its marginal cost of production
and distribution.
1.3.3 Licensees are Free to Create Derivative Works of Open Source Software
and to distribute them without Payment of Royalties to a licensor
Quality software is built upon the foundations of earlier software. Many
advocates of free and open source software contend that the requirement for
open source licenses to permit the unhindered creation and distribution of
derivative works is essential to meet the goal of the intellectual property
laws as stated in the U.S. Constitution, "to promote the progress of science
and the useful arts." Under this open source principle, a licensor cannot
9
Open Source Tools
charge a royalty for the privilege to create and distribute derivative works, or
require a licensee to pay a royalty for copies of a derivative work that are
distributed, or impose any restrictions on the type or character of those
derivative works.
1.3.4Licensees are Free to Access and use the Source Code of Open Source
Software
1.3.5 Licenses are Free to Combine Open Source and Other Software
10
Open Source Tools
To comply with the Open Standards Requirement, an "Open Standard" must satisfy
the following criteria. If an "Open Standard" does not meet the e criteria, it will be
discriminating against open source developers.
The standards MUST NOT withhold any detail necessary for interoperable
implementation. As flows are inevitable, the standard MUST define a
process for fixing flaws identified during implementation and
interoperability testing and to incorporate said changes into a revised version
or super sending version of the standards to release under terms that do not
violate the OSR.
1.4.1.2 Availability
The standard MUST be freely and publicity available (ex. From a stable
web site) under royalty-free terms at reasonable and non-discriminatory cost.
1.4.1.3 Patents
1.4.1.4 No Agreements
11
Open Source Tools
12
Open Source Tools
Alternative terms for free software have been coined in an attempt to make
the use of "free" less ambiguous. The most common is "open source software",
which has since evolved to refer to a subtly different sense of freedom. Free
software is also, known as "software libre", "free, libre and open source
software" ("FLOSS"), and "free and open source software" ("FOSS").
The free software movement was launched in 1983 to make these freedoms
available to every computer user. Software that does not provide these freedoms is
referred to as proprietary software or non-free software.
13
Open Source Tools
Free software is a matter of the users' freedom to run, copy, distribute, study,
change and improve the software.
Free in Free Software is referring to freedom, not price. Having been used in
this meaning since the 80s, the first documented complete definition appears
to be the GNU's Bulletin, vol. 1 no. 1 [I], published February 1986.
In particular, four freedoms define Free Software as
1.8.2 The Freedom to Study How the Program Works, and Adapt it to
Your Needs
Placing legal or practical restrictions on the comprehension or
modification of a program, such as mandatory purchase of special licenses,
signing of a Non-Disclosure Agreement (NDA) or for programming
languages that have multiple forms or representation making the preferred
human way of comprehending and editing a program ("source code")
inaccessible also makes it proprietary (non-free). Without the freedom to
modify a program, people will remain at the mercy of a single vendor.
14
Open Source Tools
15
Open Source Tools
download them for free right now, use them for as long as you like, and share
them with whomever you like.
First, the Operating Systems: Linux, FreeBSD, and Open Solaris are all Free
Software Operating Systems. Each has several "flavors", often referred as
'distributions', or 'distros' for short.
The most popular Web Server software, by a large margin, is the Apache Web
Server. One the most powerful and versatile Databases is MySQL. They both
are not only Free Software but also special hardware to try them out on your
local machine.
The three most used scripting/interpreted Languages are the “P languages” -
Perl, PHP, and Python. All of them are Free. You can go to their respective
websites and download their interpreters, source codes, specifications, versions
documentation, mods, apps, etc., to your heart’s content.
Even proprietary software has Free Software within it. These are commonly
librarian that are included within the program that provide some specific
function for the program
1.10FREESOFTWARELICENSEPROVIDER
Most Free Software is released fewer than one of the following license agreements:
This license was originally released as a compromise between the strict GPL
license and the more permissive licenses such as the BSD license and the MIT
license. It does not carry the "inheritance" element that the GPL license does,
which means that commercial software may use software released under this
license without having to be released under the GPL, or the LGPL license itself.
16
Open Source Tools
The Mozilla Public License was developed for software released by the
Mozilla Foundation (it was actually developed prior to that, but today that is its
primary use). It is a "weak copy-left" license, that has since been adopted, in
modified versions, by several other companies and organizations. Mozilla Firefox,
Mozilla Thunderbird, and the Mozilla Application Suite are some of the software
programs released under this license.
This usually means that the released code is simply placed in the public
domain, with no restrictions whatsoever apart from not "claiming rights" to that
code, and not claiming that the user wrote it. There are actually quite a few
dedicated-purpose libraries released under this license, which do something very
specific, very efficiently.
17
Open Source Tools
The primary distinction of open source software is that it's not about
freedom; it's about what software do things better.
As a whole the movement is often called "Free and Open source Software"
(FOSS). While many people point to the differences between the two. For the
purposes of clarity the abbreviation FOSS will be used when describing issues that
apply to all open source software projects, whereas OSS will be used when
describing issues that apply only to software with open source licenses that allow
future developers to close the source code, and FSS will be used when talking
about issues that apply only to software with free licenses requiring future
developers maintain the previous style of licensing (if not the license itself)
Critics have said that the term "open source" fosters an ambiguity of a different
kind such that it confuses the mere availability of the source with the freedom to
use, modify, and redistribute it. Developers have used the alternative terms
Free/Open Source Software (FOSS), or Free/Libre/Open Source Software
(FLOSS), consequently, to describe open source software, which is also free
software.
The term "Open Source" was originally intended to be trademark able, however,
the term was deemed too descriptive, so no trademark exists. The OS! would prefer
that people treat Open Source as if it were a trademark, and use it only to describe
software licensed under an OS1 approved license.
There have been instances where software vendors have labeled proprietary
software as "open source" because it interfaces with popular OSS (such as Linux).
Open source advocates consider this to be both confusing and incorrect. OSI
certified is a trademark licensed only to people who are distributing software
licensed under a license listed on the Open Source Initiative's list.
Open source software and free software are different terms for software, which
comes with certain rights, or freedoms, for the user. They describe two approaches
and philosophies towards free software. Open source and free software (or
software libre) both describe software, which is free from onerous licensing
18
Open Source Tools
The definition of open source software was written to be almost identical to the
free software definition. There are very few cases of software that is free software
but is not open source software, and vice versa. The difference in the terms is
where they place the emphasis. "Free software" is defined in terms of giving the
user freedom. This reflects the goal of the free software movement. "Open source"
highlights that the source code is viewable to all and proponents of the term
usually emphasize the quality of the software and how this is caused by the
development models which are possible and popular among free and open source
software projects.
Free software licenses are not written exclusively by the FSF. The FSF and the
OS1both list licenses, which meet their respective definitions of free software.
Open source software and free software share an almost identical set of licenses.
One exception is an early version of the Apple Public Source License, which was
accepted by the OS1 but rejected by the FSF because it did not allow private
modified versions; this restriction was removed in later version of the license.
There are now new versions that are approved by both the OS1 and the FSF.
The open Source Initiative believes that more people will be convinced by the
experience of freedom. The FSF believes that more people will be convinced by
the concept of freedom.
The FSF believes that knowledge of the concept is an essential requirement, insists
on the use of the term free, and separates itself from the open source movement.
The Open Source Initiative believes that free have three meanings: free as in beer,
free as in freedom, and free, as in untellable the problem with the term "open
source" is it says nothing about the freedom to modify and redistribute, so people
who think that source access without freedom is a sufficient definition use it. This
possibility for misuse is the case for most of the licenses that make up Microsoft's
"shared source" initiative.
19
Open Source Tools
Another common form of open source software is software that has entered
into the public domain. This is software that is unrestricted by copyright or
licenses, and therefore free to use for any -'purpose. Before the rise of the open
source software movement a great deal of software written in academic circles was
released into the public domain for peer review. This practice has changed with the
rise of a more intentional open source movement, resulting in much software that
was once public domain, now being released as FOSS. The public domain is where
many resources used in open source projects come from but there are few (if any)
major projects that operate totally within the public domain.
20
Open Source Tools
On top of the initial cost of purchasing software, there are other ongoing
costs associated with all software. This can come in the form of support
agreements, the cost of customization, training costs support personnel and other
sources. This is true of both traditional commercial software and FOSS programs.
There is a large and active debate about which type of software is more expensive
over the long run for large corporations, for individual users there is little which to
no question that FOSS is cheaper by far.
1.14 HISTORY
In the beginning (1960's and 1970's) nearly all code was provided as a form
of open source. Since you had to get programs to run on many different machines,
companies that wanted customers to be able to run their software they had to
provide the source code to compile themselves. Frequently licensing agreements
did not encumber this code, or those licenses were never enforced. Often the users
would notice flaws in the programs, fix them and provide the improvements back
to the publisher at no charge. Unix user groups often shared code with each other
as well, creating an even larger body of code to work from the time most
companies believed that hardware would always generate far more profit than
software.
At the same time when academics wrote programs as part of their research, they
would often release the code into the public domain to others to learn from their
21
Open Source Tools
work. The first email server, ftp server, and web server were all public domain
projects that were created by academics and shared as public domain software.
Over time the hardware became more standardized. This allowed software
publishers to tighten up on what segments of code they would allow their users to
see and edit. This tightening started to frustrate users, especially academics; since
they could no longer fix the problem they found, and from time to time found that
they couldn't use the hardware or software they wanted to. This trend mostly
continued in mainstream software, strengthen by the rise of Microsoft.
During the late 1970's, many small businesses attempted to survive writing
software for the new microcomputers. None were able to rely on hardware sales or
after sale support contracts to subsidize software development. Few of these
people, whether from an academic tradition of freely distributed software or not,
were willing to make their products available without fee. Perhaps most famously,
Bill Gates (a co-founder of Microsoft) realized that software, not hardware, held
the prospect of being the greatest profit source in the new world of computing.
When IBM needed an operating system for their personal computers instead of
writing their own, Microsoft licensed an early version of DOS, but retained the
licensingrights for other hardware manufacturers.
In this sea of activity, the FOSS movement primarily grew out of two places
: the Berkeley Software Distribution licenses from the University of California and
Richard Stallman's Free Software Foundation Gnu Public License.
1.14.1 BSD
During the 1970s, after Ken Thompson of Bell Labs spent a year teaching at
the University of California at Berkeley, several research groups there began to
develop software for the UNIX operating system. And, as Bell Labs had no plans
to port the system to the hen new DEC VAX computer system, the Computer
Science Research Group at Berkeley undertook the port. That port became very
popular at other universities, and the CSRG began distribution of it, with their
modifications and additions, under the name Berkeley Software Distribution. The
researchers at Berkeley frequently found ways to improve or add to the existing
versions of UNIX. Bell Labs accepted some of the BSD changes, and passed on
22
Open Source Tools
others. Over time the CSRG found ways to improve the basic aspects of UNIX
(e.g., the file system). Concurrently, AT&T made improvements of their own,
causing the two versions to move in different (although similar) directions. As
development progressed on the Berkeley version of UNIX, it grew further and
further away from the work that AT&T was doing on their version (the last version
of which was System V). In the early 1990s there was a major legal skirmish over
the Berkeley Software Distribution (BSD) between AT&T, the University of
California at Berkeley, and the Unix System Laboratories (USL), to which AT&T
had turned over the marketing and development of UNIX. The suit resulted in most
of BSD being found to be unencumbered by copyright restrictions by those who
controlled the original Bell Labs code. By the mid-1990s, the CSRG released
4.4BSD-Lite, Release 2 as their final product as they were closed down by the
Regents of the University of California. The BSD releases were the root of the
various versions of BSD that are common today, most notably FreeBSD, Net BSD
and Open BSD. Throughout its development, BSD was distributed in an open
manner, resulting in contributions from many different contributors.
In 1985 Stallman founded the Free Software Foundation (FSF) to help generate
support for the GNU Project. FSF has grown into one of the most important
organizations in the FOSS movement. While the primary FSF mission continues to
be the completion of the GNU operating system, FSF has also taken on the role of
"free-software evangelist" by protecting B and supporting free software. FSF also
23
Open Source Tools
holds the copyrights too much of the source code written for the GNU project,
ensuring that it always remains freely available to users.
Over the next 10 years Stallman gathered a group of people together who
essentially developed the entire core utilities found in UNIX and the Unix-like
operating systems. In the UNIX spirit, these consist of hundreds (perhaps
thousands) of small utility programs had share and tools. This project is still
operating and is known as the GNU Project. Many of these programs have become
standard on the BSD variants as well (see above). In 1994, Linux Torvalds released
the first version of the Linux kernel, and when combined with the GNU utilities
already available from the GNU Project, the Linux operating system came to be.
The Debian distribution of Linux is called GNU/Linux, in recognition of
Stallman's position that it is a joint production, to recognize that the GNU Project
provides most of the essential utilities. The GNU Project continues its slow
progress on its own operating system kernel, which will be known as Hurd. Hurd is
intended to be offered as the official GNU replacement -rom 4.4Bfor the UNIX
kernel, though it is currently at a beta development stage.
From its founding until the mid-1990s, FSF's funds were mostly used to
employ software developers to write free software for the GNU Project. Since the
mid-1990s, the FSF'semployees and volunteers have mostly worked on legal and
structural issues for the freesoftware movement and the free software community.
Being consistent with its goals, only free software is used on all of the FSF's
computers.
1.14.4 GNU Project: The GNU Project is free software, mass collaboration
project, announced in 1983 by Richard Stallman. It initiated the GNU operating
24
Open Source Tools
The founding goal of the project was, in the words of its initial announcement, to
develop "a sufficient body of free software to get along without any software
that is not free."To make this happen, the GNU Project began working on an
operating system called GNU. This goal of making a free software operating
system was achieved in 1992 when the last gap in the GNU system, a kernel, was
filled by a third-party Unix-style kernel called "Linux" being released as free
software. Current work of the GNU Project includes software development,
awareness building, and political campaigning.
Today, the term of "BSD" is often non-specifically used to refer to any of the BSD
descendants, e.g., FreeBSD, NetBSD or OpenBSD, which forms a branch of Unix-
like operating systems.
The fundamental difference between the two movements is in their values their
ways of looking at the world. For the Open Source movement, the issue of
whether softwareshould be open source is a practical question, not an ethical one.
As one person put it, "Open source is a development methodology; free software is
a social movement." For the Open source-movement, non-free software is a
suboptimal solution. For the Free Software movement, non-free software is a social
problem and free software is the solution.
26
Open Source Tools
• Cost savings
• Stability
• Access and broad rights to source code
• Access to skilled community of developers
• Ability to define and expedite new development.
MODULE 2
2.1 METHODOLOGIES
28
Open Source Tools
29
Open Source Tools
Design: When creating the design of the software system the requirements al
transformed into a representation of software that can be assessed for quality
before the actual coding begins. Data structures, architecture, procedural
detail and interface characterization are outlined and documented in a design
specification.
Coding: This activity is the transition of the design specification into a
software program.
Testing: This activity is to be executed using documented test methods in
order to ensure that as many errors as possible is unveiled, and that the
software is in accordance with the requirements.
Maintenance: Rather than being an atomic activity, maintenance reapplies
all other activities, as new requirements are defined in order to adapt the
software to the changes occurring in its environment and to correct errors
encountered after the software has been deployed.
• Existing program: This is an existing program that implements most or all of the
required functionality, but has features that should be improved in a later
development effort.
30
Open Source Tools
When the prototype is created, the customer reviews it. Typically, this
review gives feedbackto the developers that help remove uncertainties in the
requirements of the software system,and starts an iteration of refinement in order to
further clarify requirements by improvingthe prototype, or by building new
prototypes.
31
Open Source Tools
• Planning: Determine objectives and constraints of the project, and define the
alternatives.
32
Open Source Tools
developed. These are software product "available with its source code and
under an open source license to study, change, an improve its design".
Examples of popular Open source software product are Mozilla Firefox and
the OpenOffice.org Suite.
The Open source software development method is very unstructured,
because no clear development tools, phases, etc., have been defined like with
development methods such as DSDM. Instead, every project has its own
phases.
The second main branch of open source philosophy revolves around the
opportunity for a new software development model. Open source is also
about sharing ideas, and spreading the effort of creating software over a
large number of interested developers.
This sharing can lead to better software in shorter development times. It also
allows for better feedback directly to the developers than is often present in
traditional development model.
Open source software development can be divided into several phases.
A diagram( Fig 2.6) displaying the process-data structure of Open
source software development is placed on the right side.
In this picture, the phases of Open source software development are
displays along with the corresponding data elements.
This diagram is made using the Meta-Modeling and Meta-Process
Modeling techniques.
The process starts with a choice between the adopting of an existing
project, or the starting of a new project.
If a new project is started, the process goes to the Initiation phase. If an
existing project is adopted, the process goes directly to the Execution
phase
33
Open Source Tools
2.2.1 History
34
Open Source Tools
35
Open Source Tools
There are several ways in which work on an open source project can start :
1. An individual who senses the need for a project announces the intent to
develop the project in public. The individual may receive offers of help from
others. The group may then proceed to work on the code.
3. The source code of a mature project is released to the public, after being
developed as proprietary software or inhouse software.
36
Open Source Tools
1. Communication Channels
37
Open Source Tools
38
Open Source Tools
3. Testing Tools
40
Open Source Tools
2.3 LICENSES
• Public Domain
41
Open Source Tools
42
Open Source Tools
43
Open Source Tools
• The GPL was assembled with the assistance of law professors, and is
much better written than most of its ilk. Its suggested to use the GPL,
or its library variant the LGPL, if you can.
• If you choose another license, or write your own, be sure about your
reasons. People who write their own license should consider that this
is not a step to be taken lightly. The unexpected complication of an
ill-considered license can create a decades-long burden for software
users.
• The text of the GPL is not itself under the GPL. Its license is simple :
Everyone permitted to copy and distribute verbatim copies of this
license document, but changing is not allowed.An important point
here is that the texts of the licenses of Open source software are
generally not themselves Open Source. Obviously, a license would
offer no protection if anyone could change it.
• The provisions of the GPL satisfy the Open Source Definition. The
GPL does not require any of the provisions permitted by the Open
Source Definition related to Integrity of the Author's Source Code.
• The GPL does not allow you to take modifications private. Your
modifications must distribute under the GPL. Thus, the author of a
GPL-ed program is likely to receive improvements from others,
including commercial companies who modify his software for their
own purposes.
• The GPL doesn't allow the incorporation of a GPL-ed program into a
proprietary program. The GPL's definition of a proprietary program is
any program with license that doesn't give you as many rights as the
GPL. There are a few loopholes in the GPL that allow it to be used in
programs that not entirely Open Source.
• Software libraries that are normally distributed with compiler or
operating system you are using may be linked with GPL-ed software
the result is a partially-free program.
• The copyright holder (generally the author the program) is the person
who places the GPL on the program and has the right to violate his
own license. This was used by the KDE authors.
• The GNU Library General Public License
44
Open Source Tools
• The LGPL is a derivative of the GPL that was designed for software
libraries. Unlike the GPL, an LGPL-ed program can be incorporated
into a proprietary program.
• The C-language library provided with Linux systems is an example of
LGPL-ed software it can be used to build proprietary programs,
otherwise Linux would only be use' for free software authors.
• An instance of an LGPL-ed program can be converted into a GPL-ed
one at any time. Once that happens, you can't convert that instance, or
anything derived from it, back into an LGPL-ed program.
• The rest of the provisions of the LGPL are similar to those in the
GPL-in fact includes the GPL by reference.
45
Open Source Tools
• Although this license was originally developed for Perl, it's since been
used for other software.
• It is a sloppily-worded license, in that it makes requirements and then
gives you loopholes that make it easy to bypass the requirements.
• Perhaps that's why almost all Artistic-license software is now dual
licensed, offering the choice of the Artistic License or the GPL.
• Section5 of the Artistic License prohibits sale of the software, yet
allows an aggregate software distribution of more than one program to
be sold. So, if you bundle an Artistic-licensed program with a five-
line hello-world, you can sell the bundle. This feature of the Artistic
License was the sole cause of the "aggregate" loophole in paragraph 1
of the Open Source Definition.
• As use of the Artistic License wanes, we are considering removing
the loophole. That would make the Artistic a non-Open source license.
This isn't a step we would take lightly, and there will probably be
more than a year of consideration and debate before it happens.
• The Artistic License requires you to make modifications free, but then
gives you a loophole (in Section 7) that allows you to take
46
Open Source Tools
• The Netscape Public License (NPL) and the Mozilla Public License (MPL)
47
Open Source Tools
48
Open Source Tools
2.8.3.1Apache License
• The Apache License (Apache Software License previous to version 2.0) is a
free software license authored by the Apache Software Foundation (ASF).
• The Apache License (versions 1.0, 1.1, and 2.0) requires preservation of the
copyright notice and disclaimer, but it is not a Copyleft license - it allows
use of the source code for the development of free and open source software
as well as proprietary and closed source software.
• All software produced by the ASF or any of its projects or subjects is
licensed according to the terms of the Apache License. Some non-ASF
software is licensed using the Apache License as well: as of September
2007, over 2000 non-ASF projects located at SourceForge.net are available
under the terms of the Apache License.
• The Apache Software Foundation (ASF) is a non-profit corporation to
support Apache Software projects. Apache's projects are characterized by a
collaborative, consensus based development process, an open and pragmatic
software license. Among the ASF's objectives are to provide legal protection
to volunteers working on Apache projects, and to protect the Apache brand
name from being used by other organizations.
• There are currently two forms of the Apache in wide use today: versions 1.1
and 2.0. While 2.0 is consider d by ASF to be the current version and most
users have happily switched, a few large groups objected to new clauses
inserted into 2.0 regarding patents and have refused to use any software with
the new license (most notable the Open BSD project).
49
Open Source Tools
50
Open Source Tools
• The licenses have few restrictions compared to other free software licenses
such as the GNU General Public License or even the default restrictions
provided by copyright, putting it relatively closer to the public domain. The
BSD licenses have been referred to as copy center, as a comparison to
standard copyright and Copy left free software : "Take it do to the copy
center and make as many copies as you want."
• BSD is both a license, and a class of licenses (generally referred to as
BSD-like). The modified BSD license (in wide use today) is very similar
to the license originally used for the BSD version of Unix .
• The BSD license is a simple license that merely requires that all code
licensed under the BSD license be licensed under the BSD license IF
redistributed in source code format. BSD (unlike some other licenses) does
not require that source code be distributed at all.
• BSD is actually very close, though still distinct, from a public domain
license. Like works in the public domain, BSD-like licenses permit nearly
free modification and distribution of a work.
• There are only two significant ways in which BSD-like licenses differ
from public domain. First, the BSD license carries the requirement that
the license, along with its statement of copyright, is carried along with
the work, or modified copies. This does not however limit code under
different licenses from being combined with it. Second, the BSD-like
licenses have a standard disclaimer of guarantees, such as fitness for a
particular use and merchantability. This latter portion should not come
as any surprise, since practically all software packages carry a clause
nearly identical to this one.
• Some BSD licenses take this further, and require similar copyright
statements in advertising materials for a distributed software product. Most
however are simply limited this basic requirement. For those who are
opposed to the GPL for its limitations on modification and distribution, the
51
Open Source Tools
52
Open Source Tools
• To utilize any rights, which are not explicitly given to you, you have to
accept the conditions of the GPL. For example, you cannot distribute a work
without the creator's consent. If the work is under the GPL, then the GPL
lists the conditions under which the creator has agreed to give you consent.
2.8.3.4 LGPL
• An important corner-case of the GPL requires that only GPL code can link
with GPL libraries, even if the library is contained in a separate file, and the
code, which uses it, contains no GPL code unto itself. Some as too strict sees
this, since such an action could be considered a "use" of the library, not as a
modification. In order to allow for such a distinction, the LGPL was created.
• The LGPL fixes precisely this problem : If someone uses an LGPL work as
a library which is symbolically linked with a project, the rest of the project
does not have to be put under the LGPL. On the other hand, if any
modifications are made to the LGPL'ed work, which are distributed along
with the software package as a whole, the changes must be made public,
similar to the rules of the GPl. The "L" in the LGPL stands for different
things for different people. Initially it was considered as a "Library" license,
since the clause specifically dealt with issues of linking.
• The GNU Foundation describes this as the "Lesser" GPL, since it gives
fewer protections to the work than the GPL does. While the GNU
Foundation does not frown upon the use of the LGPL, it encourages the use
of the GPL when possible.
2.9 COPYRIGHT
2.9.1 Why Do We Have Copyright ?
• The development of copyright regulation reflects the social
and technological transformation around human creative
activity and distribution of the resultant profits.
• While granting exclusive private rights to authors or
copyright holders has been considered as a way of
encouraging human creative activity, copyright law also
claims to recognize the larger public interest, particularly
with respect to education, research and access to information.
• Copyright law uses various means to balance public and private
interests. In the Statute of Anne (1710), the earliest modern copyright
law, authorities are allowed to limit and control the price of printed
books according to their best judgment.
53
Open Source Tools
54
Open Source Tools
• Copyright does not cover ideas or information themselves, only the form or
manner in which they are expressed. For example, the copyright to a Mickey
Mouse cartoon restricts others from making copies of the cartoon or creating
derivative works based on Disney's Particular anthropomorphic mouse, but
doesn't prohibit the creation of other works about anthropomorphic mice in
general, so long as they're different enough to not be judged copies of
Disney's.
• Copyright laws are standardized somewhat through international
conventions such as the Berne Convention which have been ratified by most
countries, and are required by international organizations such as European
Union or World Trade Organization from their member states.
2.9.5 Exclusive Rights
Several exclusive rights typically attach to the holder of a copyright:
• To produce copies or reproductions of the work and to sell those copies
(including, typically, electronic copies).
• To import or export the work.
• To create derivative works (works that adapt the original work).
• To perform or display the work publicly
• To sell or assign these rights to others.
• To transmit or display by radio or video.
2.10 COPYLEFT
• The "reversed c in a full circle" is the copyleft symbol. It is the copyright
symbol mirrored. Unlike the copyright symbol, it has no legal meaning.
• Copy left is a play on the word copyright and is the practice of using
copyright law to remove restrictions on distributing copies and modified
versions of a work for others and requiring that the same freedoms be
preserved in modified versions.
• Copyleft is a form of licensing and may be used to modify copyrights for
works such as computer software, documents, music, and art. In general,
copyright law allows an author to prohibit others from reproducing,
adapting, or distributing copies of the author's work.
• In contrast, an author may, through a Copyleft licensing scheme, give every
person who receives a copy of a work permission to reproduce, adapt or
distribute the work as long as the same Copyleft Licensing scheme also
binds any resulting copies or adaptations.
• A widely used and originating Copyleft license is the GNU General
Public License. Similar licenses are available through Creative Commons-
called Share-alike.
55
Open Source Tools
2.11 PATENT
2.11.1 What is Patent?
A patent is a set of exclusive rights granted by a state to an inventor or
his assigns for a fixed period of time in exchange for a disclosure of an
invention. The procedure for granting patents, the requirements placed on the
patentee and the extent of the exclusive rights vary widely between countries
according to national laws and
International agreements. Typically, however, a patent application must include
one or more claims defining the invention which must be new, inventive, and
useful or industrially applicable. The exclusive right granted to a patentee in most
countries is the right to prevent or exclude others from making, using, selling,
offering to sell or importing the invention.
57
Open Source Tools
2.11.2 Definition
The term "patent" usually refers to a right granted to anyone who
invents or discover any new and useful process, machine, article of
manufacture, or composition of matter, any new and useful improvement
thereof. The additional qualification "utility patents" is used in countries such as
the United States to distinguish them from other types of patens but should not be
confused with utility models granted by other countries. Examples of particular
species of patents for inventions include biological patents, business method
patents, chemical patents and software patents.
Some other types of intellectual property rights are referred to as "patents"
in some jurisdictions: industrial design rights are called "design patents" in some
jurisdictions (they protect the visual design of objects that are not purely
utilitarian), plant breeders' rights are sometimes called "plant patents", and utility
models or Gebrauchsmuster are sometimes called "petty patents" or
"innovation patents". This article relates primarily to the patent for an invention,
although so-called petty patents and utility models may also be granted for
inventions. Certain grants made by the monarch in pursuance of the royal
prerogative were sometimes called "letters patent", which was a government
notice to the public of a grant of an exclusive right to ownership and possession.
2.11.3 law
1. Effects
• A patent is not a right to practice or use the invention. Rather, a patent
provides the right to exclude others from making, using, selling, offering for
sale, or importing the patented invention for the term of the patent, which is
usually 20 years from the filing date.
• A patent is, in effect, a limited property right that the government offers to
inventors in exchange for their agreement to share the details of their
inventions with the public. Like any other property right, it may be sold,
licensed, mortgaged, assigned or transferred, given away, or simply
abandoned.
• The rights conveyed by a patent vary country-by-country. For example, in
the United States,a patent covers research, except "purely philosophical"
inquiry. A U.S. patent is Infringed by any "making" of the invention, even a
making that goes toward development Of a new invention - this may itself
become subject of a patent. In contrast, Australian law permits others to
build on top of a patented invention, by carving out exceptions from
infringement for those who conduct research (e.g., for academic purposes)
on the invention.
58
Open Source Tools
• A patent being an exclusionary right does not, however, necessarily give the
owner of the patent the right to exploit the patent. For example, many
inventions are improvements of prior inventions which may still be covered
by someone else's patent.
• If an inventor takes an existing, patented mouse trap design, adds a new
feature to make an improved mouse trap, and obtains a patent on the
improvement, he or she can only legally build his or her improved mouse
trap with permission from the patent holder of the original mouse trap,
assuming the original patent is still in force.
• On the other hand, the owner of the improved mousetrap can exclude the
original patent owner from using the improvement.
• The patentee has the opportunity to challenge the revocation or license, but
is usually required to provide evidence that the reasonable requirements of
the public have been met by the working of invention.
2. Enforcement
• Patents can generally only be enforced through civil lawsuits (for example,
for a US patent, by an action for patent infringement in a United States
federal court), although some territories(such as France and Austria) have
criminal penalties for wanton infringement. Typically, the patent owner will
seek monetary compensation for past infringement, and will seek an
injunction prohibiting the defendant from engaging in future acts of
infringement.
• In order to prove infringement, the patent owner must establish that the
accused infringer practices all of the requirements of at least one of the
claims of the patent (noting that in Many jurisdictions the scope of the patent
may not be limited to what is literally stated in The claims, for example due
to the "doctrine of equivalents").
• An important limitation on the ability of a patent owner to successfully
assert the Patent in civil litigation is the accused infringer's right to challenge
the validity of that patent. Civil courts hearing patent cases can and often do
declare patents invalid. The grounds on which a patent can be found invalid
are set out in the relevant patent legislator and vary between countries.
Often, the grounds are a sub-set of the requirements for Patentability in the
relevant country.
3. Ownership
• In most countries, both natural persons and corporate entities may apply
for a patent.
59
Open Source Tools
• The entity or entities then become the owners of the patent when and if it
issues. However it is nearly always required that the inventor or inventors be
named and an indication be given on the public record as to how the owner
or owners acquired their rights to the invention" from the inventor or
inventors.
• In the United States, however, only the natural person(s) (i.e., the inventor/s)
may apply for a patent. If a patent issues, then each person listed as an
inventor owns the patent separately from the other. For example, if two
inventors are listed on a patent, then each one may grant licenses to the
patent independently of the other, absent an agreement to the contrary.
• It is common in the United States for inventors to assign their ownership
rights to a corporate entity. Inventors that work for a corporation, for
example, often are required to assign their ownership rights to their
corporation as a condition of their employment Independent inventors often
assign their ownership rights to a single entity so that only one entity has the
right to grant a license.
• The ability to assign ownership rights increases the liquidity of a patent as
property. Inventors can obtain patents and then sell them to third parties. The
third parties then own the patents as if they had originally made the
inventions themselves.
4. Governing Laws
• The grant and enforcement of patents are governed by national laws, and
also by international treaties, where those treaties have been given effect in
national laws.
• Patents are, therefore, territorial in nature. Commonly, a nation forms a
patent office with responsibility for operating that nation's patent system,
within the relevant patent laws.
• The patent office generally has responsible if for the grant of patents, with
infringement being the remit of national courts, There is a trend towards
global harmonization of patent laws, with the World Trade
Organization(WTO) being particularly active in this area.
• The TRIPs Agreement has been Largely successful in providing a forum for
nations to agree on an aligned set of patent laws.
• A key international convention relating to patents is the Paris Convention for
the Protection of Industrial Property, initially signed in 1883. The Paris
Convention sets out a range of basic rules relating to patents, and although
the convention does not have direct legal effect in all national jurisdictions,
the principles of the convention are incorporated into all notable current
60
Open Source Tools
61
Open Source Tools
62
Open Source Tools
Furthermore, when a patent's term has expired, the public record ensures that the
patentee's idea is not lost to humanity.
3. In many industries (especially those with high fixed costs and either low
marginal costs or low reverse engineering costs - computer processors, software,
and pharmaceuticals for example), once an invention exists, the cost of
commercialization (testing, tooling up a factory, developing a market, etc.) is far
more than the initial conception cost. (For example, the internal "rule of thumb" at
several computer companies in the 1980s was that post-R&D costs were 7-to-1).
Unless there is someway to prevent copies from competing at the marginal cost of
production, companies will not make that productization investment.
4. Patent rights create an incentive for companies to develop workarounds to
patented inventions, thereby creating improved or alternative technologies that
might not otherwise be developed. One interesting side effect of modern patent
usage is that the smalltime inventor can use the exclusive right status to become a
licensor. This allows the inventor to accumulate capital quickly from licensing the
invention and may allow rapid innovation to occur because he or she may choose
to not manage a manufacturing buildup for the invention. Thus the inventor's time
and energy can be spent on pure innovation, allowing others to concentrate on
manufacturability.
II. Criticism
While each of the four incentives is achieved by the patent system in some
contexts, the patent system has countervailing costs, and those costs fall more
heavily in some contexts than others. There are many critics and criticisms of
patents and this has resulted in the formation of a large number of groups, who
oppose patents in general, or specific types of patents, and who lobby for their
abolishment.
Patents have always been criticized for being granted on already known inventions.
In
1938, for example, R. Buckminster Fuller, inventor of the geodesic dome wrote:
At present (1938), the (US patent) files, are so extraordinarily complex and the
items so multitudinous that a veritable army of governmental servants is required
to attend them and sort them into some order of distinguishable categories to which
reference may be made when corresponding with patent applicants for the purposes
of examiner citation of "prior art" disclosure. This complexity makes it inevitable
that the human-equation involved in government servants relative to carelessness
or mechanical limitations should occasion the granting of multitudes of "probably"
invalid patent claims."
63
Open Source Tools
Patents have also been criticized for conferring a "negative right" upon a
patent owner, permitting them to exclude competitors from using or
exploiting the invention, even if the competitor subsequently develops the
same invention independently. This may be subsequent to the date of invention,
or to the priority date, depending upon the relevant patent law (see First to file and
first to invent).
Patents may hinder innovation as well. A holding company, pejoratively
known as a "patent troll", owns a portfolio of patents, and sues others for
infringement of these patents while doing little to develop the technology itself.
7. History
Refer Software Engineering Methodology
64