NEWS & UPDATES >> BCA BCSP064 Synopsis & Project Work Started for DEC 2017, IGNOU MCA MCSP060 Synopsis Work Started for DEC 2017, CONTACT 4 IGNOU Mini Project

WHAT IS CONCEPTS OF OPEN SOURCE SOFTWARE



WHAT IS CONCEPTS OF OPEN SOURCE SOFTWARE


Open Source Software is a computer software which is available along with the source code and software license that permits the code to be 

studied, modified and improved. It is often developed in public and collaborative manner.

The free software philosophy formulated by Richard M. Stallman in 1983, historically preceded the open source movement by a decade and provided some of the key technological, legal and ideological foundations of the open source movement.

The best-known philosophers of the free software movement besides Richard Stallman are Eric Raymond, Bruce Perens, and Eben Moglen.

Open source development, follows the model of the bazaar. In an open source development model, roles are not clearly defined. The best features and functionality evolve into popular use much as good ideas evolve into popular use in the marketplace of ideas. Development is a collaborative process, resources are not scarce, and no one person or organization directs the project. The users are treated like co-developers and so they should have access to the source code of the software.

The Open Source Initiative (OSI) was formed in 1998 with a mission to harmonize the workings of the free software movement and commercial software development. The purpose of the OSI was to ―build bridges among different constituencies in the open-source community.‖

The OSI is the organization responsible for certifying software licenses as open source licenses. Its website (www.opensource.org) gives a list of all the certified licenses in existence. OSI previously certified almost any license agreement that fit the open source definition. However, recently it announced a change in policy that requires any newly certified license agreement not only to fit the open source definition but also to be substantially different from existing certified licenses.

This is a part of the ―nonproliferation‖ movement in open source.

Free Software Definition

The Free software definition is based on the following four freedoms:

  1.            The freedom to run the program, for any purpose.


 2.
The freedom to study how the program works, and adapt it to your needs.



  3.            The freedom to redistribute copies so you can help your neighbor.
  

  4.            The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

Open Source Definition

The other definition is the Open source definition promulgated by OSI. This broader definition includes permissive software licenses. The elements are:


Free redistribution

Source code available

Derivative works permitted

Integrity of the author's source

No discrimination against persons or groups

No discrimination against fields of endeavor

Distribution of license with derivative works

License must not be specific to a product

License must not restrict use of other software

License must be Technological-natural


Open Source Development Model

The Open source development model is a collaborative model. It anticipates the participation of many developers in the development of a single product or module. Theoretically, any open source project can have hundreds or thousands of contributors. In practice, however, this is rarely the case. Most open source projects are relatively small, involving the work of one contributor or a small number of contributors. Some open source projects, such as Linux or Apache, are very large development projects. Nevertheless, although they may have many contributors, these projects have a small number of gatekeepers, or ―committers,‖ who decide what contributions will be checked in to the official source tree.

In this sense, the model is not a pure model of the bazaar. It is more like a free market with a specialist's desk. In well-known open source projects, these gatekeepers include some of the most respected computer scientists in the world. The gatekeeper decides which modifications to be included in the source tree, based on technical considerations, including security and stability of the code and compatibility with other technology, and the desires of the community at large on issues such as features and functionality.

The most popular open source utility used by the gatekeeper is the Concurrent Versioning System (CVS), which is licensed under GPL. A revision control system allows only designated persons to check code into the source tree. It also
keeps track of published versions, what was added, changed, or deleted and when,
and who made the change; it further helps reconcile conflicting changes.
The main features of Open Source development model are:
Users should be treated as co-developers
The users are treated like co-developers and so they should have access to the
source code of the software.
Early releases
The first version of the software should be released as early as possible so as to
increase one's chances of finding co-developers early.
Frequent integration
Code changes should be integrated (merged into a shared code base) as often as
possible so as to avoid the overhead of fixing a large number of bugs at the end of
the project life cycle. Some open source projects have builds where integration is
done automatically on a daily basis.
Several versions
There should be at least two versions of the software. There should be a buggier
version with more features and a more stable version with fewer features. The
buggy version (also called the development version) is for users who want the
immediate use of the latest features, and are willing to accept the risk of using
code that is not yet thoroughly tested. The users can then act as co-developers,
reporting bugs and providing bug fixes.
High modularization
The general structure of the software should be modular allowing for parallel
development on independent components.
Dynamic decision making structure
There is a need for a decision making structure, whether formal or informal, that
makes strategic decisions depending on changing user requirements and other
factors.
Most well known open source software products follow the bazaar model as
suggested by Eric Raymond. These include projects such as the Linux kernel,

 Open Source Licensing

License defines the rights and obligations that a licensor grants to a licensee. Open Source licenses grant licensees the right to copy, modify and redistribute source code (or content). These licenses may also impose obligations (e.g., modifications to the code that are distributed must be made available in source code form; an author attribution must be placed in a program/ documentation using that Open Source, etc.).

All open source licenses, by definition, freely allow the licensee to exercise all of the rights of copyright with respect to the licensed software. Some open source software licenses contain explicit license grants, and some contain implicit ones.

All open source licenses contain broad warranty disclaimers and limitations of liability. Most also include disclaimers of any license grant under any trademark of the licensor—not that any such grant would necessarily be implied in the first place.

When an author contributes code to an Open Source project (e.g., Apache.org),he/she does so under an explicit license (e.g., the Apache Contributor License Agreement) or an implicit license (e.g., the Open Source license under which the project is already licensing code). Some Open Source projects do not take contributed code under a license, but actually require (joint) assignment of the author's copyright in order to accept code contributions into the project (e.g.,

OpenOffice.org and its Joint Copyright Assignment agreement).

Placing code (or content) in the public domain is a way of waiving an author's (or owner's) copyrights in that work. No license is granted, and none is needed, to copy, modify or redistribute a work in the public domain.


Check Your Progress – 1

1.      Give the names of a few Open Source Software applications ?
           
        List of a few Open Source software applications are:
           
         Web Browsing – Mozilla Firefox

    Instant Messaging – Pidgin

    Operating System – GNU/Linux

    Email – Mozilla Thunderbird

   Word Processing – OpenOffice.org

  Graphics – Paint.NET

   FTP - Filezilla



2.      What are the advantages of using Open Source Software ?

               The advantages of using Open Source Software are:

The core software being free, using open source software reduces the total ownership cost for any organization

As new changes and evoluion is  a  constant process for Open Source

Software, new upgraded versions of the software are available.

The organization doesn't have to be dependent on any particular vendor as in case of commercial software for support and assistants. Help is easily available on the internet for troubleshooting

If necessary ,it is easier to customize and make modifications in the source code for Open Source Software


3.  How is the Open Source Code maintained with the developers 

   distributed across geographical regions ?
        
        Revision control systems such as Concurrent Versions System (CVS)           are used to track and centrally manage the source code files and                   changes made in the open source software.


4.      Give name of other industries besides software, where the concept of      Open Source is being implemented ?
    
     The different industries where Open Source concept is being                    practiced are:

Electronics: Open Source Hardware where the initial specifications are published and made available so that the hardware and the source code can redistributed without paying royalty or fees E.g.: SUN Microsystems's

OpenSPARC T1 Multicore Processor.

Beverages: Here the recipe is open source unlike other corporations producing beverages where the recipe is a closely guarded secret. E.g.: OpenCola

Digital Content: Sites such as Wikipedia and Wiktionary where the content remains free to re-use and the source documents are readily made available to those interested and changes are accepted back into the system.

Robotics: Here the blueprints, schematics and source code are released under the open source model.



No comments:

Post a Comment