INTRODUCTION COMPUTER APPLICATION

0

 4.0 INTRODUCTION

In the previous units, we have learnt the basics of computer software and the evolution of software. We also learnt the basic definition of Open Source Software. As we go further we will learn in detail this concept and how it is governed by the Open Source definition.

In this unit, we introduce the concept of Open Source software, its philosophy and copyrights. We will also discuss its licensing arrangements under the Open Source Definition 

Any computer application development comes under the umbrella of a Project Management process, which is supported by Project Managers. We will also study the role of a Project manager and his responsibilities for development of successful computer software. We will also see how the role and processes followed by a Project Manager influence the success of a project and its team. It is essential that we learn all the basics of Office Application software like Word processing, Spread sheets, emailing etc. so that we are capable of handling all types of roles and responsibilities when we enter the industry.

4.1 OBJECTIVES 

By the end of this unit, you will know:
  • the basics fundamentals of Open Source Software; 
  • the Project Management process;  
  • handling of a word processing or spreadsheet file;
  • creation and modification of a database; and
  • using emails to communicate with others

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

4.2.1 Introduction 

There are two competing definitions. The free software definition was authored by Richard Stallman and is more normative in nature. The open source software definition was authored by Eric Raymond and is more descriptive in nature.

4.2.2.1 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

4.2.2.2 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

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

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

Examples of free software license / open source licenses include Apache License, BSD license, GNU General Public License, GNU Lesser General Public License, MIT License, Eclipse Public License and Mozilla Public License. 

Check Your Progress – 1 👈


1. Give the names of a few Open Source Software applications ? ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………….. 
2. What are the advantages of using Open Source Software ? ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………. 
3. How is the Open Source Code maintained with the developers distributed across geographical regions ? ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………….. 
4. Give name of other industries besides software, where the concept of Open Source is being implemented ? ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………….. 

Post a Comment

0Comments
Post a Comment (0)