Open Source Software: Empowering Collaboration and Innovation

0

 Open Source Software: Empowering Collaboration and Innovation 👈

Open Source Software (OSS) is software that comes with source code, and importantly also provides rights (typically reserved for copyright holders) to study, change and improve the software. This development happens in a larger collaborative environment, without any direct objective of the software‘s commercial success.

Primary objectives of the Open Source movement are as following:

  • Encourage innovation at the grass-root level and facilitate collaborative software development involving individual talent than it being the prerogative of the large companies.
  • Reduce the software cost
  • Improve quality and security
  • Avoid forced lock-in to vendor‘s proprietary software
Open Source Initiative (OSI) is the patron of the Open Source Definiton (OSD) and is the community-recognized body to evaluate and approve the software as OSD compliant. Some key criterion for OSD compliance are mentioned below:

  • Free Redistribution : The license should allow any party to sell or give away the software as a component of a larger software distribution containing programs from multiple sources. The license shall not require a royalty or other fee for such sale.
  • Source Code : The program must include source code, and must allow distribution in source code as well as in executable 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. 
  • Derived Works : The license must allow changes to the existing source code and must allow them to be distributed under the same terms as the license of the original software.
  • No Discrimination against specific applications : The license must not restrict anyone from making use of the program in a specific scenario. For  example, it may not restrict the program from being used in a business, or from being used in drug research.
  • License must Not Be Specific to a Product : The rights attached to the program must not depend on the program being part of a particular software distribution.
  • 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.
Some examples of Open Source Software are:

Programming language
  • PHP - Scripting language suited for the web 
Operating System
  • GNU Project — ―a sufficient body of free software‖
  • Linux — operating system kernel based on Unix 
Server Software
  • Apache — HTTP web server 
  • Tomcat web server — web container 
  • MySQL – database, popular for applications built on LAMP stack (Linux, 
  • Apache, MySQL, PHP/PERL/Python) 
  • MediaWiki — wiki server software, the software that runs Wikipedia
Client software
  • Mozilla Firefox — web browser 
  • Mozilla Thunderbird — e-mail client 
Some typical challenges that used to be associated with the Open Source Software were lack of product support that typically comes with proprietary software, future upgrades, end-user training etc. Over a period of time, industry has evolved to overcome these challenges. For example, Red Hat Linux sells Linux operating system and provides product support, training as well. Further, it is important to note that Open Source Software is not always the best option for all the business needs. However, it does provide a good alternative to the proprietary software. One needs to do the required due-diligence to decide the right product for a specific situation.

Check Your Progress 3 

1. Differentiate between open source and proprietary software? ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………. 
2. Identify open source software from the following list? a. OpenOffice b. Filezilla c. MS Word d. Pidgin e. Confluence 
………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………. 
3. What measure should you take to safeguard your computer from a virus attack? ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………. 
4. Name a few computer performance enhancement utilities? ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………….

Check Your Progress 1

1.
 a) In the Mainframe architecture all operations and functionality are 
contained within the central (or "host") computer. Users interact with 
the host through 'dumb' terminals which transmit instructions, by 
capturing keystrokes to the host and display the results of those 
instructions for the user.
File Sharing architecture is network (LAN) based where ‗intelligent‘ 
PC‘s or workstation‘s downloads files from a dedicated "file server" 
and then runs the application (including data) locally.

b) In Client Server architecture, the Client software requests for the 
service and Server software provides the service. The client and the 
server software may be on the same machine or two different 
networked machine. 
In the distributed systems, different parts or components of an 
application run on different networked machines. There are set of 
standards that specify how different distributed components 
communicate.

c) In Structured programming statements are organized in a specific 
manner to minimize error or misinterpretation. It enforces logical 
structure of the program. Here large routines can be broken down into 
smaller, modular routines. It discourages GOTO statements.
Non Structured programming is the earliest programming paradigm in 
which program usually consists of sequentially ordered commands, or 
statements, usually one in each line. It does not enforce any logical 

Basics of Computer

structure of the program. Its needs discipline on programmers part to 
write readable and understandable code. Here the whole code is written 
in one module. It makes extensive use of GOTO statements that leads to 
spaghetti code.
 
2. 
a) Software Reusability: Ability of a computer program to be used 
repeatedly with little or no modifications in many different applications. 
For example code to authenticate credit card information can be used at all 
the places where payment is through credit card. 

 b) Software Reliability: Ability of a computer program to perform its 
intended functions and operations for the specified period of time, in the 
specified system‘s environment, without experiencing any failure. The less 
there is breakdown of the system, the more reliable it is.

 c) Encapsulation: Ability to hide data and methods from outside the world 
and only expose data and methods that are required. It helps in hiding all 
the internal details from outside world. It also provides a way to protect 
data from accidental corruption

3. 
Software-as-a-Service (SaaS) is basically a software delivery model where 
customers can use the software application as a service on demand and 
pay for it per usage. It is based on the concept of renting application 
functionality from a service provider rather than buying, installing and 
running the software yourself.
Cloud computing is the broader concept of using the internet to allow 
people to access the technology enabled services. Those services must be 
‗massively scalable‘ to qualify as true ‗cloud computing‘. 
Cloud computing is basically what SaaS applications run on.

4. With advances in networking technology, vendors began to introduce nonperpetual licensing models, such as subscription or pay-per-use licensing. 
In the pay-per-use, user is charged each time he/she uses the software, 
service or module and user does not own the software, rather uses it at on 
rent for the limited period. There is time based pay-per-use arrangement 
and transaction based pay-per-use arrangement. 
In a time based pay-per-use arrangement, consumers are charged for the 
amount of time that they used non-owned copies of the software.
In a transaction based pay-per-use arrangement, usage charges occur 
because a software module has been used. The duration of use is 
irrelevant.

Check Your Progress 

1. 
a) A system software is any computer software which manages and controls 
computer hardware so that application software can perform a task. 
Operating systems, such as Microsoft Windows, Mac OS X or Linux are 
prominent examples of system software. System software is an essential 
part of computer operations. Application software is a program that enable 
the end-user to perform specific, productive tasks, such as word 
processing or image manipulation.

b) Compiler is a program the converts a source code in high level language to 
the object code in low level language.
Linker is a program that uses multiple object files created by the compiler 
and predefined library object files, links them together and creates a single 
executable file.

c) Compiler is a program that takes the whole source code in high level 
language and converts it into the source code in low level language. Any 
errors are reported at compile time for the complete code. Once the 
translation is complete, only the executable version of the code runs in the 
memory.
An interpreter takes the source code in high level language one line at a 
time during run time, translates the instruction into low language code and 
executes it before proceeding to the next instruction. Hence the interpreted 
program remains in the source language and is converted into low level 
language only at run time. So the translator program also needs to be in 
the memory at run time.
Since the compiler translated the whole program before it is run while 
interpreter translates one line at a time while the program is being run, 
compiled programs run faster than the interpreted ones.

2. Examples are as follows:
a. Decision Making Software - Expert Choice, Decision Manager
b. Education Software – Jumpstart, Reader Rabbit
c. Industrial Automation Software – Computer aided manufacturing (CAM), 
Programmable Logic Controller
d. Mathematical Software - Mathcad, Matlab
e. Simulation Software – OpenModelica, Circuitlogix

3. The device driver for the printer may not have been installed. You can 
search for the driver for the particular printer on the internet and install it on 
your machine.

4. a. Text Editor (for ex TextPad)
b. Device Driver for the scanner
c. Operating System (for ex Windows Vista)
d. Database Software (for ex MS Access)

Check Your Progress 3
1. Proprietary software refers to any computer software that has restrictions on 
any combination of the usage, modification, copying or distributing modified 
versions of the software. It is owned by an individual or a company (usually 
the one that developed it). Its source code is almost always kept secret. 
Advantages of proprietary software include: 

1) Availability of reliable, 
professional support and training; 

2) Packaged, comprehensive, modular 
formats; and 3) Regularly and easily updated. The disadvantages are: 

1) Costly, and 
2) has closed standards that hinder further development.
Open source refers to a program in which the source code is available to the 
general public for use and/or modification from its original design free of 
charge. Open source sprouted in the technological community as a response 
to proprietary software owned by corporations. Advantages of Open source 
are: 
1) Low cost and no license fees; 
2) Open standards that facilitate 
integration with other systems; and 
3) it is easily customizable. The 
disadvantages are: 
1) Lack of professional support; 
2) Evolving developer 
communities; 
3) Lack of release co-ordination; and 
4) Erratic updates.

2. OpenOffice (Word Processing Software), Filezilla (FTP Software), Pidgin 
(Instant Messaging Software)

3. a Install anti virus and anti spyware. Scan and update regularly.

b. Keep the windows system updated with patches and updates.
c. Browse and click only known and secure web sites. Avoid suspicious 
ones.
d. Open email attachments from verified source only.

4. TweakVista, Boost Windows 2009, Registry Cleaner, WinUtilitites, System 
Optimize Expert.

Post a Comment

0Comments
Post a Comment (0)