0% found this document useful (0 votes)
372 views36 pages

Ost Notes (I, II, IV & V)

Uploaded by

surendar6517
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
372 views36 pages

Ost Notes (I, II, IV & V)

Uploaded by

surendar6517
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

OPEN-SOURCE TECHNOLOGIES – SZ24B

UNIT- I

Introduction – Why Open Source – Open Source –Principles, Standards Requirements, Successes – Free
Software – FOSS – Internet Application Projects

INTRODUCTION:

➢ A software whose source code is freely distributed with a license to study, change and further
distributed to anyone for any purpose is called open-source software (OSS) or open source (OS).
➢ Dedicated programmers improve upon the source code and share the changes within the
community.
➢ OSS is different from proprietary software. In OS, the source code in the software is available to
anyone to examine, evaluate, and adapt.
➢ The OS 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.

Example of open source software is:

✓ Linux
✓ Apache
✓ BSD
✓ Wikipedia
✓ Mozilla

Rights of open-source programmers:

➢ 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.

Advantages / Promises of OS:

✓ Security
✓ Affordability
✓ Transparent
✓ Interoperable on multiple platforms
✓ Flexible due to customizations
✓ Localization is possible

➢ Open Source doesn’t just mean to access the source code.

The distribution terms of open source software must comply with the following criteria:

1. Free Redistribution

The license shall not restrict any party from selling or giving away the software as a component of an
aggregate software distribution containing programs from several different sources. The license shall
not require a royalty or other fee for such sale.
2. Source Code

The program must include source code, and must allow distribution in source code as well as compiled
form. Where some form of a product is not distributed with source code, there must be a well-publicized
means of obtaining the source code for no more than a reasonable reproduction cost, preferably
downloading via the Internet without charge. The source code must be the preferred form in which a
programmer would modify the program. Deliberately obfuscated source code is not allowed.
Intermediate forms such as the output of a preprocessor or translator are not allowed.

3. Derived Works

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.

4. Integrity of The Author’s Source Code

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.

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 endeavour.
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.
Note that there is a difference between derivation and aggregation. Derivation is when a program
actually incorporates part of another program into itself. Aggregation is when you include two programs
on the same CD-ROM. This section of the open source definition is concerned with aggregation, not
derivation.

10. License Must Be Technology-Neutral

Open source licenses are designed to be technology – neutral, meaning they do not favour any specific
technology stack or platform.
This ensures that open source software can be integrated into a wide range of technological
environments.

OPEN SOURCE – PRINCIPLES:


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 to distribute them without
payment of royalties to a licensor.
3. Licensees are free to create derivative works of open source software and to distribute them
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.
OPEN SOURCE – STANDARDS REQUIREMENTS:
An “open standard” must not prohibit conforming implementations in open source software. i.e. an
open standard is a standard that is freely available for adoption , implementation and updates.

Ex: XML, SQL and HTML.

The Criteria

To comply with the Open Standards Requirement, an “open standard” must satisfy the following criteria.
If an “open standard” does not meet these criteria, it will be discriminating against open source
developers.

1. No Intentional Secrets: The standard MUST NOT withhold any detail necessary for
interoperable implementation. As flaws 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 superseding version of the standard to be
released under terms that do not violate the OSR.

2. Availability: The standard MUST be freely and publicly available (e.g., from a stable web
site) under royalty-free terms at reasonable and non-discriminatory cost.

3. Patents: All patents essential to implementation of the standard MUST:


✓ be licensed under royalty-free terms for unrestricted use, or
✓ be covered by a promise of non-assertion when practiced by open source software

4. No Agreements: There MUST NOT be any requirement for execution of a license agreement,
NDA, grant, click-through, or any other form of paperwork to deploy conforming
implementations of the standard.

5. No OSR-Incompatible Dependencies: Implementation of the standard MUST NOT require


any other technology that fails to meet the criteria of this Requirement.

OPEN SOURCE – SUCCESSES:


➢ More on server than client side
✓ More expert users of servers
✓ Server operating systems – Linux
✓ Certain server software – web, Mail, DNS
✓ So far less so with other server software – Database (MySQL rising, less easy to measure)
➢ Software for technical users.
FREE SOFTWARE:

➢ “Free software” means software that respects users' freedom and community.
➢ Free software means that the users have the freedom to run, copy, distribute, study, change and
improve the software. Thus, “free software” is a matter of liberty, not price.
➢ Free software is also known as “Software Libre”, “free, libre and open-source software
(FLOSS)”, and “free and open source software (FOSS)”.
➢ Free software is distinct from freeware; freeware is proprietary software made available free of
charge. One can use, but not study, modify or redistribute freeware.

The four essential freedoms

A program is free software if the program's users have the four essential 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

Freedom 2: The freedom to redistribute copies so you can help others

Freedom 3: The freedom to improve the program, and release your improvements to the public, so
that, the whole community gets benefits.

➢ “Free software” does not mean “non-commercial.” On the contrary, a free program must be
available for commercial use, commercial development, and commercial distribution.

Examples of Free Software:

➢ Operating System: Linux, BSD


➢ GCC Complier
➢ Apache Web server
➢ Relational Database systems: MySQL
➢ Programming Language: Java, Perl, PHP, Python

Free software License Provider:

➢ GNU General Public License


➢ GNU Lesser General Public License
➢ BSD Licenses
➢ Mozilla License
➢ Apache License
➢ MIT License
➢ The “as-is” Release Model

FREE SOFTWARE Vs OPEN-SOURCE SOFTWARE:

S.No. Free Software Open Source Software

The term "open source" was first used in


The Free Software Foundation tern was first used
1. response to the limitations of free software
in the 1980s.
in the late 1990s.

Software plays a significant role in people's daily All software is the same. It has no definite
2.
lives. ethical implications.

Social freedom is correlated with software Ethics should be connected to people, not
3.
freedom. to software.

A value that is more significant than any financial The idea of freedom is not unqualified.
4.
benefit is freedom. Freedom ought to be granted, not forced.

Not every piece of open-source software is


5. All open- source software is free.
also cost-free.

Many different licences are used to


distribute open-source software, some of
6. Free software doesn't have this issue. which are quite onerous and force the
development of paid versions of the
programme.

Examples: A sizable database of free software


Examples of open-source products include
packages is kept by the Free Software Directory.
the full office suite, LibreOffice, the
Some of the most well-known examples include
Apache HTTP Server, Open-Source
the Linux kernel, the BSD and Linux operating
7. Commerce, Mozilla Firefox, and
systems, the GNU Compiler Collection and C
Chromium (the project where the majority
library, the MySQL relational database, the
of development for the freeware Google
Apache web server, and the Send mail transport
Chrome is done).
agent.
OPEN-SOURCE TECHNOLOGIES – SZ24B
UNIT- II

Open source – Initiatives, Principles, Methodologies, Philosophy, Platform, Freedom, OSSD, Licenses –
Copy right, Copy left, Patent, Zero Marginal Technologies, Income generation opportunities,
Internalization

OPEN-SOURCE INITIATIVES:

➢ The Open Source Initiative (OSI) is a non-profit corporation whose goal is to promote the use of
open source software in the commercial world. T
➢ o accomplish this goal, OSI maintains and promotes the Open Source Definition and offers the
OSI Certified Open Source Software Certification Mark and Program.
➢ To be OSI certified, the software must be distributed under a license that guarantees the right to
read, redistribute, modify, and use the software freely.
➢ Open source is a development method for software that harnesses the power of distributed peer
review and transparency of process.
➢ The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an
end to predatory vendor lock-in.

OPEN STANDARDS PRINCIPLES:

An Open Standard is more than just a specification. The principles behind the standard, and the practice
of offering and operating the standard, are what make the standard Open.

The principles are:

1. Availability

Open Standards are available for all to read and implement. Thus:

1. The best practice is for the standards text and reference implementation to be available for free
download via the Internet.
2. Any software project should be able to afford a copy without undue hardship. The cost should not
far exceed the cost of a college textbook.
3. Licenses attached to the standards documentation must not restrict any party from implementing
the standard using any form of software license.
4. The best practice is for software reference platforms to be licensed in a way that is compatible
with all forms of software licensing, both Free Software (Open Source) and proprietary. However,
see Predatory Practices regarding license restrictions that may be appropriate for a software
reference platform.

2. Maximize End-User Choice

Open Standards create a fair, competitive market for implementations of the standard. Thus:

1. They must allow a wide range of implementations, by businesses, academia, and public projects.
2. They must support a range of pricing from very expensive to zero-price.

3. No Royalty
Open Standards are free for all to implement, with no royalty or fee. Certification of compliance by the
standards organization may have a fee. Thus:

1. Patents embedded in standards must be licensed royalty-free, with non-discriminatory terms.


2. Certification programs should include a low or zero cost self-certification, but may include
higher-cost programs with enhanced branding.

4.No Discrimination

Open Standards and the organizations that administer them do not favor one implementor over another
for any reason other than the technical standards compliance of a vendor's implementation. Certification
organizations must provide a path for low and zero-cost implementations to be validated, but may also
provide enhanced certification services. Thus:

1. A standards organization that wishes to support itself through certification branding should
establish a premium track and a low-cost or zero-cost track. Generally, the premium track will
provide a certification lab outside of the vendor's facility to verify a vendor's implementation and
enhanced branding: a certification mark that indicates a greater certainty of verification and
financial support of the standard. The low or zero-cost track would provide self-certification by
the vendor and baseline branding.

5. Extension or Subset

Implementations of Open Standards may be extended, or offered in subset form. However, certification
organizations may decline to certify subset implementations, and may place requirements upon extensions
(see Predatory Practices).

6. Predatory Practices

Open Standards may employ license terms that protect against subversion of the standard by embrace-
and-extend tactics. The license may require the publication of reference information and an license to
create and redistribute software compatible with the extensions. It may not prohibit the implementation
of extensions.

1. The standards organization may wish to apply an agreement similar to the Sun Industry Standards
Source License to the standard documentation and its accompanying reference implementation.
The Sun agreement requires publication of a reference implementation (not the actual commercial
implementation) for any extensions to the standard. This makes it possible for a standards
organization to actively preserve interoperability without stifling innovation.

7. Modularity:

It is the principle of maintaining well-defined boundaries between components. Adhering to open


standards where possible is a noticeable trait in open source software because it helps define boundaries.

8. Early and Often:

It entails making things available as early as possible. This includes not only the software but also plans
and design. Applying the principle means putting an imperfect version out earlier rather than keeping
something back until it is more polished.

Many open source projects achieve the early and often using a couple of common methods:
• Source code availability
• Milestones builds
• Nightly builds

METHODLOGIES:

1.Software engineering methodology:

We have to build high quality software with finite number of resources with a predicted schedule.

• Engineering software:

Preparing a software is a computer and time-consuming process, so we have to build framework


or a structure to overall development process. Software engineering methodologies has lot framework to
develop a software. The frame work defines process such as planning, requirement, analysis, design,
testing and maintenance. The methodology which to choose depend in size and environment in which it
functions

• The Life-Cycle paradigm:

1. It is called as waterfall model and also as sequential approach

2. It stats at system level and passes through analysis, design, coding, testing and

maintenance.

Life Cycle Paradigm


Waterfall Model

1. Feasibility Study:

The main goal of this phase is to determine whether it would be financially and technically feasible to
develop the software. The feasibility study involves understanding the problem and then determiningthe
various possible strategies to solve the problem. These different identified solutions are analysed based
on their benefits and drawbacks, The best solution is chosen and all the other phases are carried out as per
this solution strategy.

2. Requirements analysis and specification:

The aim of the requirement analysis and specification phase is to understand the exact requirements of
the customer and document them properly. This phase consists of two different activities.

3.Design:

The goal of this phase is to convert the requirements acquired in the SRS into a format that can be coded
in a programming language. It includes high-level and detailed design as well as the overall software
architecture. A Software Design Document is used to document all of this effort (SDD)

4.Coding and Unit testing:

In the coding phase software design is translated into source code using any suitable programming
language. Thus, each designed module is coded. The aim of the unit testing phase is to check whether
each module is working properly or not.

5.Integration and System testing:

Integration of different modules are undertaken soon after they have been coded and unit tested.
Integration of various modules is carried out incrementally over a number of steps. During each
integration step, previously planned modules are added to the partially integrated system and the resultant
system is tested. Finally, after all the modules have been successfully integrated and tested, the full
working system is obtained and system testing is carried out on this. System testing consists of three
different kinds of testing activities as described below:

Unit Testing, Integration Testing, Acceptance Testing

6.Maintenance:

Maintenance is the most important phase of a software life cycle. The effort spent on maintenance is
60% of the total effort spent to develop a full software.

2. The prototype paradigm

✓ This the process begins by gathering requirement


✓ Developers meets customer, and determine objectives and overall requirements.
✓ A quick design is prepared on the areas visible such as user interface and basic functionality
✓ Using design model a first prototype is prepared, with these forms.

▪ Interaction prototype: This is a software prototype that helps how to interact with software system.
▪ Subset function prototype: It provides subset of software functionality.
▪ Existing program: This prototype gives entire functionality of software. Features can be added later
at development stage.
▪ A throwaway prototype: This is may be usable software program, but is not suitable as the final
software, for various reasons such as poor performance, maintainability or overall quality

3.The spiral Model:


Goal and alternate determination:

The objectives are determined jointly with the customer. At the same time, possible alternatives are
discussed and the framework conditions get specified (for example, operating systems, environments, and
programming languages).

Risk analysis and evaluation:

Potential risks are identified and evaluated. The alternatives in question are also evaluated. The risks are
recorded, assessed, and then reduced using prototypes, simulations, and analysis software. In this cycle,
several prototypes exist as design templates or functional components.

Development and testing:

The prototypes are further expanded and functionalities are added. The actual code is written, tested, and
migrated to a test environment several times until the software can be implemented in a productive
environment.

Planning of the next cycle:

The next cycle is planned at the end of each cycle. If errors occur, solutions are looked for, and if an
alternative is a better solution, it is preferred in the next cycle

2.An Open Source Methodology:

The most important driving force of the spiral model is the risk analysis and assessment. Any risk that
threatens the project should be identified from the beginning. The progress of the project is decisively
dependent on how risks can be eliminated. The project is considered successful only once there are no
risks. The purpose of the cycle is to produce a continuously improving product. The software or
application is constantly refined. The spiral model is incremental, but not necessarily iterative. Iterations
occur only when risks, errors or conflicts threaten the project. Then the product has to go through one
cycle again, called an iteration.
PHILOSOPHY: (Write Points in the Open-Source Introduction)

SOFTWARE FREEDOM: (Same as notes in Unit I – 4 freedoms)

OSSD: OPEN-SOURCE SOFTWARE DEVELOPMENT

Open-source software development (OSSD) is the process by which open-source software, or similar
software whose source code is publicly available, is developed by an open-source software project. These
are software products available with its source code under an open-source license to study, change, and
improve its design. Examples of some popular open-source software products are Mozilla Firefox, Google
Chromium, Android, LibreOffice and the VLC media player.

Model:

Open-source software development can be divided into several phases. The phases specified here are
derived from Sharma et al. A diagram displaying the process-data structure of open-source software
development is shown on the right. In this picture, the phases of open-source software development are
displayed, along with the corresponding data elements. This diagram is made using the meta-
modelling and meta-process modelling techniques.

Starting an open-source project


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 a project in public.

2. A developer working on a limited but working codebase, releases it to the public as the first version
of an open-source program.

3. The source code of a mature project is released to the public.


4. A well-established open-source project can be forked by an interested outside party.

Eric Raymond observed in his essay The Cathedral and the Bazaar that announcing the intent for a project
is usually inferior to releasing a working project to the public.
It's a common mistake to start a project when contributing to an existing similar project would be more
effective. To start a successful project, it is very important to investigate what's already there. 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.

Participants in OSS Development Projects:

The participants can be divided into the following:

1. Project leaders who have the overall responsibility


2. Volunteer developers who do actual coding for the project. These include
➔ Senior members with broader overall authority.
➔ Peripheral developers producing and submitting code fixes.
➔ Occasional contributors.
➔ Maintainers who work on different aspects of the project.
3. Everyday users who perform testing, identify bugs, deliver bug reports, etc.
4. Posters who participate frequently in newgroups and discussions, but do not do any coding.

Tools used for OSD:

1. Communication channels

Developers and users of an open-source project are not all necessarily working on the project in proximity.
They require some electronic means of communications. Email is one of the most common forms of
communication among open-source developers and users. Often, electronic mailing lists are used to make
sure e-mail messages are delivered to all interested parties at once. This ensures that at least one of the
members can reply to it. In order to communicate in real time, many projects use an instant
messaging method such as IRC. Web forums have recently become a common way for users to get help
with problems they encounter when using an open-source product. Wikis have become common as a
communication medium for developers and users.

2. Software Engineering Tools

➔ Version Control Systems

In OSS development the participants, who are mostly volunteers, are distributed amongst
different geographic regions so there is need for tools to aid participants to collaborate in the
development of source code.

During early 2000s, Concurrent Versions System (CVS) was a prominent example of a source
code collaboration tool being used in OSS projects. CVS helps manage the files and codes of
a project when several people are working on the project at the same time. CVS allows several
people to work on the same file at the same time. This is done by moving the file into the users’
directories and then merging the files when the users are done. CVS also enables one to easily
retrieve a previous version of a file. During mid 2000s, The Subversion revision control
system (SVN) was created to replace CVS. It is quickly gaining ground as an OSS project
version control system.

Many open-source projects are now using distributed revision control systems, which scale
better than centralized repositories such as SVN and CVS. Popular examples are git, used by
the Linux kernel, and Mercurial, used by the Python programming language.
➔ Bug Trackers and Task Lists

Most large-scale projects require a bug tracking system to keep track of the status of various
issues in the development of the project.

3. Testing Tools

Since OSS projects undergo frequent integration, tools that help automate testing during system
integration are used. An example of such tool is Tinderbox. Tinderbox enables participants in an
OSS project to detect errors during system integration. Tinderbox runs a continuous build process
and informs users about the parts of source code that have issues and on which platform(s) these
issues arise.
A debugger is a computer program that is used to debug (and sometimes test or optimize) other
programs. GNU Debugger (GDB) is an example of a debugger used in open-source software
development. This debugger offers remote debugging, what makes it especially applicable to open-
source software development.
A memory leak tool or memory debugger is a programming tool for finding memory
leaks and buffer overflows. A memory leak is a particular kind of unnecessary memory
consumption by a computer program, where the program fails to release memory that is no longer
needed. Examples of memory leak detection tools used by Mozilla are the XPCOM Memory Leak
tools. Validation tools are used to check if pieces of code conform to the specified syntax. An
example of a validation tool is Splint.

4. Package Management

A package management system is a collection of tools to automate the process of installing,


upgrading, configuring, and removing software packages from a computer. The Red Hat Package
Manager (RPM) for .rpm and Advanced Packaging Tool (APT) for .deb file format, are package
management systems used by a number of Linux distributions.

5. Automated Tests

Most open-source software is either command line or alternatively APIs and as such is very easy
to test automatically.

LICENSES:

➢ A license is the permission or right granted to engage in some act without which the act might be
otherwise unlawful.
➢ The term “license” also refers to the document that specifically describes these permissions and
rights.
➢ The license must be automatic, no signature required, however, this argument considers the license
in the body of contract law, which some argue that it should be considered as copyright law, where
there is one precedent for no-signature license.
➢ Open source licenses define the privileges and restrictions a licensor must follow in order to use,
modify or redistribute the open source software.
➢ Open source software includes software with source code in the public domain and software
distributed under an open source license.

Common Licensing Practices:


1) Public Domain:

➔ Public domain includes works that are not restricted by copyright and can be used, modified,
and distributed without restriction.
➔ This can happen when a copyright has expired or when the creator chooses to give up their
rights to the work.
➔ The main difference between the two is that open-source has a license that sets rules for usage,
while public domain has no restrictions at all.
➔ Both concepts promote sharing and collaboration, but open source provides a more structured
framework for it.

2) Free Software Licenses in General:

Certain features are common to all free and open-source licenses.

• You have free access to the source code and should be able to build a working version of the
software.
• You can run it without paying anyone.
• You can modify it for your own use.
• You can distribute your modified version. There may be restrictions on how you can do it.
• You can distribute software of your own creation which incorporates the code. Again, there may
be restrictions.

3) The GNU General Public License:


The GPL is a copyleft license that ensures the software and any derivative works remain open-source
and freely available to the community. If you distribute or modify software under the GPL, you must
make the source code available to the recipients and allow them to use it under the same terms.

4) The GNU Library General Public License:


Originally known as the GNU Library General Public License. The GNU Lesser General Public
License (LGPL) is a copyleft license that is similar to the GPL but allows users to link the software
with another one without requiring them to share the source code of the proprietary software. As such,
it falls somewhere between strong and weak copyleft.

5) The X, BSD and Apache Licenses:


The MIT or X License is a permissive open-source license that allows users to freely use, modify,
distribute, and sublicense the software. It requires that the original copyright notice and the license text
be included in all copies of the software. It is one of the most permissive licenses and is widely used
in open-source projects.

6) The Artistic License:


The Artistic License is an open-source license used for certain free and open-source
software packages, most notably the standard implementation of the Perl programming language and
most CPAN modules, which are dual-licensed under the Artistic License and the GNU General
Public License (GPL).

7) The Netscape Public License and the Mozilla Public License:


The Netscape Public License (NPL) is a free software license, the license under which Netscape
Communications Corporation originally released Mozilla.
Choosing a License:

1. If you plan to contribute to an open-source community, the easiest way is to choose the license
used by the community. Doing so the project you contribute to the community would fit in
perfectly since not all licenses are compatible with one another. Also, some communities restrict
the use to only particular licenses. For example, WordPress is released under GPLv2 and that's the
only license you can use if you want to contribute to the WordPress community.
2. If you want to make your code as reusable and shareable as possible, to secure the reciprocity you
should choose GNU GPLv3. This way others can do almost anything they want with the code
apart from distributing closed-source versions.
3. If you want to make it easy and permissive, to let people do with your code whatever they want,
including publishing the derived work as proprietary, you should opt for an MIT license.

Some Important Licenses:

1) Apache License:

The Apache license was released by Apache Software Foundation (ASF). As a permissive license, it grants
developers the flexibility to distribute their work under any preferred license, as long as they credit the
initial one and carefully document all modifications made to it. You have the option to keep some of your
materials as a closed source and can obtain licenses that allow you to monetize them or even secure a
patent. Some famous software solutions protected by Apache license are Kubernetes, PDF.js, and Swift.

2) BSD Licenses:

Berkeley Software Distribution (BSD) license grants developers’ similar rights to distribute the work
without source code and under different license terms, but asks to include the copyright notice and license
text in the copy of the software.

There are several BSD license versions with BSD 3-Clause license being the most popular. It contains a
non-endorsement clause that prohibits developers from using the name of the original creators to endorse
their modifications.

3) GPL or GNU:

GNU GPL is one of the first open-source software licenses and is also among the most popular copyleft
ones. It belongs to strong copyleft licenses as it requires users to share any modifications they make to the
software and to make the source code of their modifications available to the public. Even if the GPL code
takes just a small percentage of the new software, the source code of the whole new software has to be
available under the same GPL license.

There are several versions of GPL licenses with differences that make them more or less applicable and
compatible with other licenses. All the details can be found on the GNU website. For example, GIMP and
Bash use this license type.

4) LGPL:

The GNU Lesser General Public License (LGPL) is a copyleft license that is similar to the GPL but allows
users to link the software with another one without requiring them to share the source code of the
proprietary software. As such, it falls somewhere between strong and weak copyleft.

COPYRIGHT:
Why Do We Have Copyright?

➔ Compared to other legal concepts, copyright is a relatively new invention in human history.
➔ 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 recognize the larger
public interest, particularly with respect to education, research and access to information.

What Can be Copyrighted?

➔ Copyright applies to the expression of ideas in different forms, including literary, dramatic,
musical, artistic, and other intellectual works.
➔ The ideas expressed in such works are themselves not copyrightable.

How Do We Copyright Our Work?

➔ Now a days, copyright law does not require formalities.


➔ The author does not need to publish, register, pay a registration fee of any kind, nor attach a
copyright notice to her work, for her copyright to take effect.
➔ Copyright is automatically applied to a work once it is created and the creator of the work
automatically becomes the copyright holder.
➔ Copyright is a legal concept enacted by most national governments, that gives the creator of
an original work exclusive rights to it, usually for a limited period of time.
➔ It also gives the copyright holder the right to be credited for the work, to determine who can
perform it or adapt it to other forms, to benefit financially from the work, and other related
rights.
➔ It is one form of intellectual property and applies to and particular expression of an idea or
information, which is substantial and self-contained in a fixed form.

Logo of Copyright:

Scope:

➔ Copyright does not cover ideas or information themselves, only the form or manner in which
they are expressed.

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.
COPYLEFT:

➔ Copyleft 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 works as long as
same copyleft licensing scheme also binds any resulting copies or adaptations.
➔ A widely used and originating copyleft license is the GNU General Public License.
➔ Copyleft licenses are also known as viral or reciprocal licenses.

What is Copyleft?

➔ It is a general method for making a program or other work free, and requiring all modified and
extended versions of the program to be free as well.
➔ The simplest way to make program free software is to put it in the public domain,
uncopyrighted.
➔ This allows people to share the program and their improvements, if they are so minded. But it
also allows uncooperative people to convert the program into proprietary software.
➔ They can make changes, many or few, and distribute the result as a proprietary product.
➔ People who receive the program in that modified form do not have the freedom that the original
author gave them; the middleman has stripped it away.

Logo of Copyleft:

Applying copyleft:

➔ Common practice for using copyleft is to modify the copying terms for a work with a license.
➔ Any such license typically gives each person possessing a copy of the work the same freedoms
as the author, including:
1. The freedom to use and study the work
2. The freedom to copy and share the work with others,
3. The freedom to modify the work
4. And the freedom to distribute modified and therefore derivative works.
➔ The freedoms do not ensure that a derivative work will be distributed under the same liberal
terms.
➔ In order for the work to be truly copyleft, the license has to ensure that the author of a derived
work can only distribute such works under the same or equivalent license.

Types of copyleft:

Strong and weak copyleft


➔ The strength of the copyleft license governing a work is determined by the extent to its
provisions can be imposed on all kinds of derivative works. Thus, the term "weak copyleft"
refers to licenses where not all derivative works inherit the copyleft license; whether a
derivative work inherits or not often depends on how it was derived.

Full and partial copyleft


➔ "Full" and "partial" copyleft relate to another issue. Full copyleft exists when all parts of a
work (except the license itself) may only be modified and distributed under the terms of the
work's copyleft license.

➔ Partial copyleft, by contrast, exempts some parts of the work from the copyleft provisions,
permitting distribution of some modifications under terms other than the copyleft license, or
in some other way does not impose all the principles of copylefting on the work.
Share-alike
The "share-alike" condition in some licenses imposes the requirement that any freedom that is granted
regarding the original work must be granted on exactly the same or compatible terms in any derived work.

This implies that any copyleft license is automatically a share-alike license but not the other way around,
as some share-alike licenses include further restrictions such as prohibiting commercial use.

Difference between copyright and copyleft:

S.No. Copyright Copyleft

Copyright is the right that enable Whereas Copyleft is a method using which you can
1. you to prevent unauthorized modify the software or documentation and
copying or selling of your work. distribute it back to the open-source community.

In Copyright the work is original On the other hand Copyleft comes with an idea of
2.
and not the copy of other. collaboration.

Copyrights protects you original While Copyleft allows you to make changes to
3.
ideas from others access. other ideas and give them back.

Copyright is all about granting


4. Copyleft is all about user freedom.
individual permission.

You can apply Copyright


protection both to work that you While Copyleft allows users to distribute derivative
5. have published into the public works under a license that offers the same rights as
domain and work that you have the original work.
not published.

Examples of Copyright: Suppose Examples of Copyleft: Red Hat Enterprise Linux is


6.
you made a movie, now if anyone a good practical example of copyleft. Which is a
S.No. Copyright Copyleft

else wants to make its sequel, he commercial operating system. Users are free to
has to buy copyright from you. modify and redistribute the source code but they
are not allowed to resell it.

7. It is denoted by © It is denoted by mirror image of copyright symbol.

PATENT:

➢ A patent is a set of exclusive rights granted by a state to an inventor or his assignee for a fixed
period of time in exchange for a disclosure of an invention.
➢ The term “patent” usually refers to a right granted to anyone who invents or discovers any new
and useful process, machine, article of manufacture, or composition or matter, or any new and
useful improvement thereof.

Law:

1. Effects
2. Enforcement
3. Ownership
4. Governing laws
5. Application
6. Economics
7. History

ZERO MARGINAL COST:

➔ At the heart of the economics of FOSS is the zero marginal cost of goods in a digital
environment.
➔ In this respect, the emergence of FOSS represents a confirmation of classical microeconomic
price theory - that an equilibrium price in a perfect market approximates the marginal cost.
➔ From this perspective, FOSS can be understood as a pioneer in reaching what can be
understood as an evolutionarily stable dynamic Nash equilibrium in truly free market.
➔ Marginal cost is the term used in the science of economics and business to refer to the increase
in total production cost resulting from producing one additional unit of the item.

INCOME-GENERATION OPPORTUNITIES:

While contributing time and effort in developing, enhancing and documenting FOSS does not provide any
direct income, the development of expertise in FOSS provides a broad range of income-generating
opportunities - from generating in-house savings from enhancements to FOSS to consulting opportunities
in installing, training, customizing and the provision of technical support for FOSS installations. In Part
I: The Networked Information Economy of The Wealth of Networks: How Social Production Transforms
Markets and Freedom (Yale University Press, 2006), Yochai Benkler provides an excellent analysis - with
IBM's strategy as a key example - of ways that income and wealth are being generated through open
source and open content strategies.

Problems with traditional commercial software:

First it should be noted that the commercial software industry is one of the largest and most important
industries in the world. The rise of the Open-Source movement does not necessarily spell the end of the
commercial software industry. On the contrary, many people argue that commercial software can be
strengthen by the use of open-source techniques. Commercial software is designed to provide a product
worth paying for and most of it is (that's why the industry is so big). Despite its price tag, commercial
software is often far from perfect.
Commercial products will be updated frequently in order to reflect the fluctuating demands of the market
and customer needs. These needs can lead to software practices that rearrange and rewrite the software
too frequently, or release beta versions as commercial endeavours resulting in high rates of bugs in early
versions. Some commercial programs are over designed and written in sloppy code leading to bloated,
slow, running programs. Open Source by contrast is driven by the needs of the end users. The skills of the
coders is in taking personal pride in what they do, not rushing to meet artificially imposed deadlines
(except their own). Thereby their code is often of a superior calibre than that of programmers in the
commercial environment. There is also usually a very extensive degree of feedback as the programmers
test their products within a wide network of people.

Another problem with traditional commercial software is its closed nature. There is usually no or limited
freedom to tamper with the copyrighted product. Also, companies often force users to follow upgrade
paths that they may not wish to follow. Open source software enables the individual to customize the
software to his end needs in all freedom. Another heavily criticised aspect of commercial software is that
customers are frequently locked-in to a product because to keep using data files you are often forced to
continue to use the same program. If you wish to share files with users that have upgraded, you often have
to upgrade yourself or be written off as irrelevant. Since open source software allows competing programs
to share different data file types, there is no reason to be trapped into any one program. If a newer version
has a new file format, then there often are converters that allow users of older versions to keep up their
data files up to date. Another problem with traditional commercial software is its closed nature. There is
usually no or limited freedom to tamper with the copyrighted product. Also, companies often force users
to follow upgrade paths that they may not wish to follow. Open source software enables the individual to
customize the software to his end needs in all freedom. Another heavily criticised aspect of commercial
software is that customers are frequently locked-in to a product because to keep using data files you are
often forced to continue to use the same program. If you wish to share files with users that have upgraded,
you often have to upgrade yourself or be written off as irrelevant. Since open source software allows
competing programs to share different data file types, there is no reason to be trapped into any one
program. If a newer version has a new file format, then there often are converters that allow users of older
versions to keep up their data files up to date.

INTERNATIONALIZATION:

The open nature of Open-Source Software allows for extensive internationalization of software. OS's can
be modified for any language, for example recently a version of Linux was translated into Welsh (spoken
in Wales). While many major commercial projects are provided in multiple languages, it is often too
expensive to translate them into more than 3 or 4 languages. Many FOSS projects are available in 10 or
more languages, as the translation can be done by a programmer who wants the package to be available
in his or her native tongue.

Software localization:
It is a process of translating software user interfaces from one language to another and adapting it to suit
a foreign culture.

It is also refer to adapting software from one culture to another.


OPEN-SOURCE TECHNOLOGIES – SZ24B
UNIT- IV

Open Source Project –Starting, Maintaining –Open Source – Hardware, Design, Teaching & Media.

OPEN SOURCE PROJECT – STARTING AND MAINTAINING AN OPEN SOURCE PROJECT:

To Start a Project:

➔ Create a new open source project.


➔ Download a project we have released.
➔ Explore the latest from the Googe Summer of Code, Wikipedia and Code guru.
➔ Watch open source developers talk about their craft.
➔ Learn about the latest technologies through Wikipedia, Google and code Guru for education.

Project Management:

Version Numbers:

➔ Many new users find the FOSS projects often use strange version numbering systems.
➔ Generally, FOSS projects break their version numbers into 3 pieces:
1. Major version. – it is the first number in the version number; it is rare to see a free software
project have a major version greater than 2.
2. Minor update – it is the second number. A change in the number often signifies a significant
update of the program.
3. Point release – the third number generally indicates a small update to fix a bug, or security
problem. These numbers get very high, often over 30 or 40 overtime. When a software project
is well established most of their updates will come in the form of point releases.
➔ when a software project changes the major version number, this generally indicates a complete re-
write of the software, or at least an extensive over haul.

OPEN SOURCE HARDWARE:

➢ Open source hard ware refers to computer and electronic hardware that is designed in the same
fashion as free and open source software.
➢ Open source hardware is part of the open source culture that takes the open source ideas to fields
other than software. An example of this is the Computer project.
➢ Some of the impetus for the development of open source hardware was initiated in 2002 through
the Challenge to Silicon Valley issued by Kofi Annan.
➢ Because the nature of hardware is different than software, and because the concept of open source
hardware is relatively new, no exact definition of open source hardware has emerged.
➢ Because hardware has direct variable costs associated with it, no open source software definition
can directly be applied without modification.
➢ Instead, the term open source hardware has primarily been used to reflect the use of free/open
source software with the hardware and the free release of information regarding the hardware,
often including the release of schematics, design, sizes and other information about the hardware.
➢ In anyway, it includes the hardware design and element distribution on the motherboard.
➢ With the rise of reconfigurable logic devices, the sharing of logic designs is also a form of open
source hardware.
➢ Instead of sharing the schematics, HDL code is shared. This is different from free/open software.
HDL descriptions are commonly used to set up SoC systems either in FPGAs or directly in ASIC
designs.
➢ HDL modules, when distributed, are called semiconductor intellectual property cores, or IP cores.

How can Hardware be “Open”?


Truly open hardware would have to satisfy all the requirements below:
1. Information on using the hardware must be available.
2. The design of the hardware must be available.
3. Design software for hardware must be available.

OPEN SOURCE DESIGN:

Open design is the application of open source methods to the creation of physical products, machines and
systems.

Definition:

The word “software” refers to both to source code and executables, while the words ‘hardware’ and
‘hardware design’ clearly refer to two different things. Using the word “hardware” as short hand for both
design and physical object is a recipe for confusion.

1. Free hardware design:

It refers to a design which can be freely copies, distributed, modified, and manufactured. It does not imply
that the design cannot also be sold, or that any hardware implementation of the design will be free of cost.

Perhaps the easiest way to define it is by looking at what it is not – by looking at current commercial
design practice.

1. Commercial design practice:


➔ Designs are owned by the company which creates them. Ownership is protected by 3 sets of laws:
copyright, trade secret, and patent. It is often not even possible to see a design without signing a
NDA.
➔ Designers cannot legally build on older designs unless their company owns the right to use these
designs. Larger companies hold ‘patent pools’, which they use as bargaining counters with one
another, and which lock new entrants from the market. This is particularly important for
developing countries.
➔ Where the design is for a basic building block, design software can only be written by those entitled
to know the secret information. EDA software is either written in-house or by software companies
that have agreements with the man-factures. Even where EDA software is generic, end users often
have to purchase the right to use specific libraries. The result is that EDA software is ridiculously
expensive; all except the largest companies are barred from using them by cost.
➔ Designs are driven by marketing departments. The two main goals are minimizing time to market
and minimizing manufacturing costs.
➔ Users of the final product have no rights to know how they work.

2. Free Design Practice:


➔ Designs are owned by the people who create them. Ownership is protected by copyright law only.
The intention is to make designs as widely available as possible.
➔ There is every incentive to build on older designs, to collaborate with as wide a spread of people
as possible, and to make the designs widely known. NGOs in developing countries are not locked
out, but encouraged to reuse designs.
➔ Design software is free software, so that anyone who wishes to can participate.
➔ Designs are driven by the wishes of their creators. The end goal can be whatever they wish.
➔ Users of the end product cannot only know how it works, but are encouraged to create
improvements or modify it for their own purposes.

➢ Libre hardware design refers to the same class of design as free hardware design, but tries to
make it clear that the word free refers to freedom, not price.
➢ Open-source hardware refers to hardware for which all the design information is made available
to the general public. Open source hardware may be based on a free hardware design, or the design
on which it is based may be restricted in someway.
➢ Open Hardware is a trademark of the open hardware specification program. It is a limited form
of open source hardware, for which the requirement is that:

➔ Sufficient documentation on the device must be available for a competent systems programmer to
write a device-driver.
➔ Only a limited amount of information about the design need be available; possible not enough, for
example, to attempt a repair.

➢ Free Hardware is a term occasionally used as a synonym for open source hardware.

Business Models:

Open source hardware has a set of business models that include the following:

1. Design distribution: companies can pack sets of designs and sell the distribution. Ex: CD-ROM
2. Design technical support: experts can give support for open designs.
3. Design implementation: companies can implement the designs, sell them and pay royalties to
original designers, according to their release license.
4. Releasing: the release of open designs under the control of GPL- compatible licenses can occur
whenever a silicon implementation is considered commercially.

Open Source Hardware Roadmap:

The open source hardware roadmap can be divided into three main stages as follows:

1. Phase I (Primary)
2. Phase II (Advanced)
3. Phase III (Runtime Configuration)

High-tech Promotions in Developing countries:

Open source can help build a high-tech base in these regions due to the following considerations:

1. Open source hardware is an open resource for industrial and academic fields.
2. Lack of high-tech activities and firms.
3. Lack of expertise in the high-tech field.
4. Open source allows interaction with a wide spectrum of experts in high-tech fields all over the
world.
5. HDL designs that address programmable logic device-based implementation platforms can be
affordable, as chip manufacturing is beyond economic capabilities.
6. Open source might help focus the spot light on high-tech talents and qualifications in developing
countries that are hidden due to market constraints.

Challenges and Suggested Solutions:

There are problems that face designers and prevent them from developing open source hardware:

➔ Cost of EDA tools


➔ Manufacturing cost
➔ Design protection
➔ Market
➔ Credibility

OPEN-SOURCE TEACHING(OST):

➢ OST is a platform that utilizes emerging technologies to facilitate shared learning and the
development of communities.
➢ OST redefines the relationship between learners by eliminating the barriers of time and distance.
➢ OST provides learners with simultaneously real-time and time-independent access to the ideas of
people with varying degrees of experience, expertise, points of view, knowledge and skills.
➢ OST provides new strategies and opportunities for individuals to engage in the shard investigation
of common challenges.
➢ These methods are applied using emerging communication platforms and generally include
components of the following:

➔ Shared communication using an open source web space, available to all users, including the direct
archiving and tracking of individual comments by all users.
➔ An open source induction and user agreement, outlining the fundamental truths for communication
within each shared web space.
➔ Archived record of communication and dialogue, providing a common basis for learning and
discussion among all users, including the direct tracking of files, which are accessed.
➔ The investigation of relevant research, current events, challenges, and case studies related to the
academic, professional, or social challenge.
Delivery of Courses:

An institution, company or individual can set up a delivery system to use any of the material on the website
as they see fit, completely free of charge, subject only to copyleft conditions. How material is delivered;
how much is used or what value is added depends on the purpose the end user has in mind. They can only
charge for the value added and the costs of delivery. Any changes to the original material must be
acknowledged.
Learning Objects:

➢ It is the basic unit that teaches a single idea or skill. It is a collection of just about any type of files
and each file is called an atom. Each atom shows something and they are linked together to produce
an overall multimedia effect.

➢ A learning object can have hyperlinks to other learning objects, data, help files or external sites to
reference other examples and materials.
➢ Each learning object must have a main atom as a starting or entry point and currently this is an
Internet document (.html or .htm)
➢ Initially, the Charter Group will build a Resource Bank of suitable materials to make the site of
sufficient interest to “pump prime” the whole process.
➢ The Open Learning Server has a public area outside the firewall to which everyone is invited to
contribute.
➢ This area contains bulletin boards, news groups, theme conferences, help lines, web links, etc.
➢ The charter group will sift through these areas and are able to promote good material to the
resource bank.
➢ These open areas are also a resource, but only the resource bank is stable and subject to strict
quality control.
➢ The promotion of material is a mark of excellence.
➢ The charter group has a significant task to:
➔ Edit the material
➔ Apply quality control
➔ Ensure that material fits into the index system
➔ Keep control of revisions and version changes.

➢ The open university would sell these materials as a training pack or build it into one or more
courses.
➢ In this case the value added could include:
➔ Tutorials
➔ Readers, guides and other teaching material
➔ Conferences
➔ Assignments
➔ Assessment
➔ Award of qualification
➢ If it is a teaching lab environment, then in this case the value added could be
➔ Tutorials
➔ Assignments
➔ Assessment
➔ Provision of rooms and computer equipment
➔ Award of qualification
➢ Industry or commerce could trailer it to specific training needs. It this case the value added could
be:
➔ Training
➔ Services to other departments or companies

Driving Forces:

People contribute to open source because:

➢ Of approbation by peers
➢ Being part of a centre of excellence can make an individual more productive than working done
➢ It provides access to a source of good practice and material
➢ It leads to a work load reduction
➢ It provides a kite mark for courses for Teaching Quality Assessment
➢ They wish to contribute to a self-organizing community that may change the system.

Citation Index:

It is essential to build a prominent ‘citation index’ into the materials index so that recognitions of
contributions is obvious to all. This provides recognition, benefit and further motivation to contributors.

Structure of Resource Bank:

The user can select a set of required learning objects from the resource bank index by viewing the object
directly or by scanning through the Meta Files.
The meta files contain the following data for each object:

➔ Name
➔ Caption describing the ideas or skills to be learned
➔ Previous knowledge required
➔ Level
➔ Learning outcomes
➔ Next suitable objects to study
➔ Locations
➔ Files list
➔ Source
➔ Author(s) name

PAJAMAS MEDIA / BRIFLY KNOWN AS OPEN SOURCE MEDIA:

It is a startup company founded in 2004 by mystery writer, screenwriter and blogger Roger L.Simon, and
Charles Johnson of Little Green Footballs “with the intention of aggregating blogs to increase corporate
advertising and creating our own professional news service”

Rules for Open Source Media:

1. Freely Accessible: Available to stream, or download without a fee. Should be available via direct
download and P2P media, so it is not behind a gateway.
2. Freely available: Permanently available without DRM, or release windows. the end user able to
share the work without restriction.
3. Freely viewable: available in multiple formats, and to be converted freely.
4. Giving source files: source media, such as rushes and raw graphics files should be archived and
available for other creators to work with.
5. Allowing remixing: materials should be licenses explicitly to allow derivative work for at least
non-commercial/artistic purposes. Creative commons and other licenses are available for flexible
copyrighting. Open plus adds more opportunities for participation and involvement in the work
whether as a creator, or as part of what used to be called “the audience”.
6. Reveal the process: allowing access to not only the final source media, but work-in-progress
material and software files, adding another layer of transparency and documentation.
7. Open contribution: adding ways to influence and participate in the creation of the original work
through various types of community/audience involvement.
UNIT V

DIFFERENCE BETWEEN OPEN-SOURCE S/W AND CLOSE SOURCE S/W

S.No. OPEN-SOURCE SOFTWARE PROPRIETARY SOFTWARE

Open-source software is computer software


whose source code is available openly on Proprietary software is computer software where
the internet and programmers can modify it the source codes are publicly not available only
to add new features and capabilities without the company which has created can modify it.
01. any cost.

Here the software is developed and tested by the


Here the software is developed and tested
individual or organization by which it is owned
through open collaboration.
02. not by the public.

In open-source software the source code is In proprietary software, the source code is
03. public. protected.

Open-source software can be installed on Proprietary software can not be installed into
04. any computer. any computer without a valid license.

Users do not need to have any authenticated Users need to have a valid and authenticated
05. license to use this software. license to use this software.

Open-source software is managed by an Proprietary software is managed by a closed


06. open-source community of developers. team of individuals or groups that developed it.

It is more flexible and provides more It is not much flexible so there is a very limited
07. freedom which encourages innovation. innovation scope with the restrictions.

Users must have to pay to get the proprietary


Users can get open software free of charge.
08. software.

In open-source software faster fixes of bugs


In proprietary software, the vendor is
and better security are availed due to the
completely responsible for fixing malfunctions.
09. community.

10. Limited Intellectual Property Protections Full Intellectual Property Protections


S.No. OPEN-SOURCE SOFTWARE PROPRIETARY SOFTWARE

Usually Developed and Maintained by non- Usually Developed and Maintained by for-profit
11. profit organizations. entities.

Examples are Windows, macOS, Internet


Examples are Android, Linux, Firefox,
Explorer, Google Earth, Microsoft Office,
Open Office, GIMP, VLC Media player, etc.
12. Adobe Flash Player, Skype, etc.

OPEN-SOURCE GOVERNMENT:
➢ Primarily refers to use of open-source software technologies in traditional government
organization and government operations such as voting.

OPEN POLITICS:

➢ It is also known as open-source politics. It’s term used to describe a political process
that uses internet technologies such as blogs, e-mail and polling to provide for a rapid
feedback mechanism between political organization of the open source politics which
relates to the development of public under a set of rules and processes similar to the
open source software movement.

SHARED SOFTWARE:

➢ Shared software is a different term used to describe free software open-source software
and possibly also software that is not formally covered by the definition of either, but
that is in some other way shared rather than owned.
➢ The way to develop and use software more effectively is to share it with others. Sharing
is symmetric. If we share our software, we are sharing my software and that seems to
be twice as powerful as one way reusing.
➢ If we start calling it sharing instead of reusing, it changes the tone of the exposition.
➢ For starters sharing is a much more high-minded, noble and ethical thing than reusing
which sounds more hackneyed and shopworn and it sounds better precisely because it
signifies that there is a reciprocal understanding in order to share, you have an
obligation to contribute as well as consume and your contribution becomes available
for others to build upon increasing value for all.
➢ Investment banks and ventures capitalists raise capital form lots of individual or
institution and let them ownership of companies. Insurance companies let people share
risk. Everybody contributes a premium and most people expect that they want get a
pay-out.
➢ Examples of shared software are:

➔ CICS: Transaction Control Manager


➔ EOS: Report archive and distribution
➔ PL/1: Compiler and run time libraries
➔ Cobol: Compiler and run time libraries
➔ DB2: Adabas and other database software

SHARED SOURCE:
➢ Shared source is Microsoft’s framework for sharing computer program source code
with individuals and organizations.
➢ Microsoft’s shared source initiative includes a spectrum of technologies and licenses.
➢ Most of its offerings are available for download by anyone. For these programs there
are eligibility criteria to be met.
➢ The licenses associated with the offerings range from allowing only viewing of the code
for reference, to allowing it to be modified and redistributed for commercial or non-
commercial purposes.
Benefits Of Shared Source:
➔ Availability of source code for reference when developing complementary systems.
➔ The availability of source code also permits review and auditing from a security
perspective, something which some large corporations and governments are now
mandating.
➔ Some of the shared source licenses share many of the benefits of open-source
licenses.
➔ Other shared source licenses allow the copyright holder to retain much tighter
control over the use of their product than open-source licenses, which generally
include the voluntary abdication of many of the author’s rights.
Notable Shared Source Programs

1. Microsoft Enterprise Source Licensing Program


Microsoft gives enterprise customers viewing access to some parts of some
versions of the Microsoft Windows operating systems. The ESLP license
agreement is among the most restrictive of the licenses associated with Shared
Source programs, allowing no modifications of the code.
2. Microsoft Windows Academic Program
The Windows Academic Program provides universities worldwide with concepts,
Windows kernel source code, and projects useful for integrating core Windows
kernel technologies into teaching and research.
3. Microsoft Shared Source Common Language Infrastructure
The first widely-distributed shared source program is Shared Source CLI, the
shared source implementation of the Common Language Infrastructure. The
licensing permits non-commercial modification and distribution of the source
code, as Jong as all distributions include the original license, or one
encompassing the original terms.
Microsoft Shared Source Common Language Infrastructure is neither free
software according to the Free Software Foundation, nor OSI-approved open
source.
4. Windows Installer XML (WiX)
WiX is a toolset for advanced Windows developers that build Windows
installation packages from XML source code. The first Microsoft Sha red Source
offering to be released on Source Forge, the WiX toolset is licensed under the
Common. Public License (CPL).
5. ASP.Net AJAX Control Toolkit
The ASP.Net AJAX Control Toolkit is a set of controls and extenders that use
AJAX technologies to enable developers to easily improve the client experience
on their websites. The ASP.Net AJAX Control Toolkit, licensed under the
Microsoft Public license (MS-PL), is accessible on Code Plex, Microsoft's online
community development portal for collaborative software development projects.

Notable Shared Source Licenses

1. Open Source licenses


• Microsoft Public License (Ms-PL)
This is the least restrictive of the Microsoft licenses and allows for distribution
of compiled derived code for either commercial or non-commercial purposes
under any license that complies with the Ms-PL. Redistribu tion of the source
code itself is permitted only under the Ms-PL. Initially titled Microsoft
Permissive License, it was renamed to Microsoft Public License while being
reviewed for approval by the OSI. The license was approved on October 12,
2007.
• Microsoft Reciprocal License (Ms-RL)
This Microsoft license allows for distribution of derived code so long as the
modified sou rce files are included and retain the Ms-RL. The Ms-RL allows
those files in the distribution tha t do not contain code originally licensed under
Ms-RL to be licensed according to the intellectual property creator's choosing.
This equivalent to the CDDL or LGPL (GPL with a typical "linking exception").
Initially known as the Microsoft Community License, it was renamed during the
OSI approval process.
On December 9, 2005, the Ms-RL license was submitted to the Open Source
Initiative for approval by John Cowan. OSI then contacted Microsoft and asked
if they wanted OSI to proceed. Microsoft replied that they did not wish to be
reactive and that they needed time to review such a decision. Then at OSCON in
July 2007 Bill Hilf announced that Microsoft had now formally submitted Ms-PL
and Ms-RL to OSI for approval. It was eventually approved October 12, 2007
along with the Ms- PL.
2. Proprietary licenses
• Microsoft Reference Source License (Ms-RSL)
This is the most restrictive of the Microsoft Source Licenses. The source code is
made available to view for reference purposes only. Developers may not
distribute or modify the code for commercial or non-commercial purposes. The
license has previously been abbreviated Ms-RL, but Ms-RL now refers to the
Microsoft Reciprocal License.
• Microsoft Limited Public License (Ms-LPL)
This is a version of the Microsoft Permissive License in which rights are only
granted to developers of Microsoft Windows-based software. This license is not
open source, as defined by the OSI, because it violates the stipulation that open-
source licenses must be technology-neutral.
• Microsoft Limited Reciprocal License (Ms-LR L)
This is a version of the Microsoft Reciprocal License in which rights are only
granted when developing software for a Microsoft Windows platform. Like the
Ms-LPL, this license is not open source because it is not technology-neutral.

You might also like