Computer Software and its Models
Published by Emil Abraham,
Software (SW) can be shortly defined as the executable code that controls computer behaviour and operations. The term is used, however, to describe a wide range of programming languages, applications, procedures and all related documentation resources. SW also refers to a full cycle of processes from basic architecture to development, packaging and distributing. It is responsible for controlling, integrating, and managing the individual hardware components of a computer system so that other software and the users of the system see it as a functional unit without having to be concerned with the low-level details of the computational system. There are three models of software‟s for developing any application in computer. They are Freeware, Shareware, Trialware, Proprietary, Public Domain Software and Open Source.
Freeware
It is provided to be used without any monetary charges. However, severe restrictions of its use, modification and redistribution are still imposed and Source code is not provided. It can be passed on to anyone free of cost.
Open-source software (OSS)
It is a computer software with its source code made available and licensed with an open-source license in which the copyright holder provides the rights to study, change and distribute the software for free to anyone and for any purpose. Open-source software is very often developed in a public, collaborative manner. Open-source software is the most prominent example of open-source development and often compared to (technically defined) user-generated content or (legally defined) open-content movements
Proprietary Software
The term proprietary is derived from the Latin word proprietas meaning property. Proprietary Software is computer software licensed under the exclusive legal rights of the copyright holder. Proprietary software is developed by a person or firm who has rights of using existing or developing new tools to create new software. A proprietary software developer sells or provides his creation under some concrete conditions which should be followed in order to avoid any legal issues. In general, these concrete conditions involves usage using software with a purchased license, within the permitted boundaries, no modification allowed, no further re-distributions and no reverse engineering to applied. The main identity of proprietary software is that its source code is always kept secret from outside world. Thus, the internal structure of proprietary software is not exposed. The restrictions on proprietary software are generally imposed through a document called EULA (End-user license agreements) to which users are supposed to agree before using the software. It works just like a contract of usage conditions between the user and vendor. If a user is found indulged in activities leading to the breaking of copyright conditions, the selling authority has the right to impose legal actions against the misusing personal.
Public Domain Software
The copyright holder donates it to the public. Thus, it is no longer copyrighted and restricted and thus moves towards Open source.
Shareware
It is generally that version of software which is limited in terms of functionality. Users can download it from internet, uses it with restrictions and then decide to pay for its full version. These can be shared among other people.
Trialware
It is generally that version of software which is limited in terms of duration of use. User gets the full version of software which can be limited to the usage number of days or usage number of times. After paying and getting registered, the user will get unrestricted access to usage and updates of that software.
PROPRIETARY AND OPEN SOURCE SOFTWARE
Assuming that an educational institute requires developing, implementing and deploying an e-learning solution We will now focus on the OSS and Proprietary software for the purpose of this paper Before we proceed to evaluate OSS and Proprietary software, let us first understand both of them.
Definition of Proprietary Software:
Software that is distributed under commercial license agreements is usually for fee. The main difference between the proprietary software license and the open source license is that the recipient does not normally receive the right to copy, modify, or redistribute the software without fees or royalty obligations. Something proprietary is something exclusively owned by someone, often with connotations that it is exclusive and cannot be used by other parties without negotiations. It may specifically mean that something is covered by one or more patents, as in proprietary technology. Proprietary software means that some individual or company holds the exclusive copyrights on a piece of software, at the same time denying other people the access to the software‟s source code and the right to copy, modify and study the software.
Definition of Open Source Software:
Software, whose source code is published and made available to the public, enabling anyone to copy, modify and redistribute the source code without paying royalties or fees. Open source code evolves through community cooperation. These communities are composed of individual programmers, users as well as very large companies. Some examples of open source initiatives are GNU/Linux, Eclipse, Apache, Mozilla
Proprietary vs. Open source software
Details
| Proprietary Software
| Open Source Software
|
Cost
| Varies from a few thousand to a few hundred thousand
dollars, depending on the complexity of the system
required. This cost is made up of a base fee for
software, integration and services and annual
licensing/support fees. This cost may be prohibitive for
some; however what the user is paying for is a more
customized product from a trusted brand that includes
higher levels of security and functionality, continuous
innovation, a greater ability to scale, on-going training
and support and a lower requirement for technical skills.
| OSS comes at a low cost because of Open
source software. We don't need to get an
expensive software or hardware to run the
system. Organizations can use this system as
long as they like, without thinking of paying
any set up, activation, and monthly
subscription charges |
Service and
Support
| Service is probably the greatest advantage of using
proprietary software. Proprietary software providers
offer ongoing support to users, a key selling point for
users without technical expertise. If the user manual or
guide is not enough, or if a user experiences a problem
with the software, there is an immediate point of call to
turn to for assistance. There is a certain reduction in the
risk undertaken with proprietary software because users
are working with companies that are viable, and people
with intimate knowledge of the products and services
being used should any questions arise. Because service
is one of the main reasons users choose proprietary over
open source software, many proprietary software
providers compete on service, increasing the bargaining
power of buyers and thereby increasing customer
service levels among providers.
| While Service is one of the key issues
regarding open source software. Open source
software relies on its online community
network to deliver learning support via
forums and blogs. While there are massive,
loyal and engaged online communities that
users are turning to. This requires some basic
knowledge and skill set from the user to
understand feedback from online community
and resolve them. Sometimes, the trouble
shooting is faster than those of proprietary
software. But users who query, should know
what their actual problem is, else, they will
not receive the right feedback.
|
Innovation
| Proprietary software providers do not allow users to
view or alter the source code. While this may be viewed
as a disadvantage to some, it ensures the security and
reliability of the software. Furthermore, many
proprietary software providers customize software for
specific users to provide more flexibility while investing
in R&D in order to regularly offer new products and
upgrades. Proprietary software providers have online
user communities that create value by sharing ideas,
strategies and best practices through feedback
mechanisms such as forums and surveys, which also
foster innovation and allow the product to adapt with
changing needs. This innovation comes fully tested, and
is available to all users of the software. It does not
require investment in R&D or the technical
understanding of source code, and assistance with
implementation is generally part of the package.
Because vendors must ensure their software does not
become redundant, users also benefit from the type of
targeted innovation undertaken- continuous investment
in R&D rather than "innovation for innovation‟s sake",
business focused rather than technology focused.
| OSS enables innovation by providing users
with the freedom and flexibility to adapt the
software to suit, without restriction. However,
innovation may or may not be passed on to
all users of the software. It is a user‟s
prerogative whether they wish to share their
innovation with any online communities, and
users must be actively participating in these
communities to become aware of such
innovations. It has been debated whether
customized changes to the original source
code limit the future support and growth of
the software, as these can potentially result in
a limited ability to apply future updates, fixes
or modules aimed at improving the software,
leaving the user with a version that may have
irresolvable issues. It is relevant to note that
open source software providers in the initial
stages generally struggle to attract large scale
R&D funding.
|
Security
| There is always a debate on security. Many proprietary
software based developed from proprietary operating
systems are perceived relatively less secure to those
from OSS. But the total solution from proprietary
software is viewed as secure because it is developed in a
controlled environment by a concentrated team with a
common direction. Moreover, the source code may be
viewed and edited by the team alone, and is heavily
audited, eliminating the risk of back door Trojans and
reducing the risk of any bugs or issues with the
software.
| Open source operating software is perceived
as the most secure OS. Linux being a classic
example. But total solutions developed from
OSS are perceived less secure since the
source code is already available freely to all,
hence there may be chances for sabotage. Big
players using OSS have robust security
policies, hence security in big organizations
using OSS is not an issue. Earlier, open
source software was not always peer
reviewed or validated for use. But currently,
with the growing importance of OSS, they are
reviewed and corrected. Examples of Drupal,
wordpress, Joomla etc are there to see.
|
Usability
| Proprietary software generally employs expert usability
testing, and as the software is normally aimed at a more
targeted audience, and therefore more tailored, usability
is generally ranked quite high. In addition, detailed user
manuals and guides are provided. This enables faster
training and provides an immediate reference, allowing
users to move along the learning curve more quickly.
Supporting services include seminars, targeted training
courses and extensive support to help maximise use of
the software. It is also important to note that while many
people see proprietary software as "closed", today‟s
proprietary software offers a vast array of mechanisms
for enhancement by third party systems and developers
| Earlier OSS had been highly criticized for its
lack of usability, as generally, the technology
is not reviewed by usability experts and does
not cater to the vast majority of computer
users. Nowadays, OSS is tested by the
community for usability and good solutions
are being developed globally. Though, open
source software does not legally require
documentation such as user manuals or
guides, hindering the creation of such tools,
they are now well documented.
|
Standards
| Describes software interfaces, protocols and electronic
formats that are developed by and controlled by a given
company and have not been made freely available for
adoption by the industry. Some proprietary software
uses proprietary standards, i.e. non-public interfaces or
electronic formats. When an interface, a protocol or an
electronic format is non-public, the owner of the
proprietary interface controls it, including when and
how the interface changes, who can adopt it, and how it
is to be adopted (resulting in user lock-in).
| "Open standards" software interfaces,
protocols, or electronic formats that are
openly documented and have been accepted
in the industry through either formal or de
facto processes, and which are freely
available for adoption by the industry. The
open source community has been a leader in
promoting and adopting open standards.
Some of the success of open source software
is due to the availability of worldwide
standards for exchanging information,
standards that have been implemented in
browsers, email systems, file sharing
applications, and many other tools. Without
open standards it would be impossible to
interact and exchange information on the
Internet.
|
Availability
| These are available through their respected companies
that own the rights to the packages. Sometimes, trial
versions are available for free download and testing
| These are freely available over the net. Some
OSS are also developed into a limited
proprietary software with 24X7 support from
online community and the developer as well
|
Transparency
| PS does not provide an open look to the internal
structure. Only user interfaces are provided to work
with it. User cannot know the internal processing and
other details.
| The source code of OSS is freely available
along with the product. Any person can read,
modify, build and distribute a modified
version of original product. Thus, it gives a
transparent look at the core structure of the
product.
|
Reliability
| PS is developed by specialized teams at vendor‟s end
only. Only finished products are provided at outlets.
Since there is no un-authenticated modification, the
outcome is always reliable.
| Since OSS are available on a large number of
unverified websites and even most of these
distributions may be modified by any
technologically sound user, all the
distributions are reliable in terms of security,
robustness, performance. The reason is that is
a user adds/modifies some component; it may
works good individually, but, may clash with
other components and ultimately degrade the
product
|
Some Classic examples proprietary software include Microsoft (Windows, asp.net, MS Office Suite, etc), Apple (Macintosh), Google (Gmail, Chrome etc)
Some classic examples of OSS include Mozilla Firefox, Linux, Android, etc.
It is evident that for every successful and established proprietary software, we have an equivalent and sometimes more popular OSS.
POINTS TO PONDER FOR OSS
This leads us to think, why OSS is gaining so much popularity. Why android based smart are phones more popular, why are Joomla, Drupal, Moodle equally popular to proprietary software like Sharepoint, Blackboard etc We now go back to the points the institution has to ponder while making a decision about procurement of a total solution. Some critical criteria are:
- Budget
- Stability
- Flexibility
- Scalability
- Usability
- Life of the solution/ software
- Security
- Knowledge base and Self reliance
- Intellectual Property Rights (IPR)
- Adaptability to various cross-platforms and hardware like mobile, internet, tablet PCs,etc.
QUICK RECON OF OSS
As a quick recon, we will peruse few points here:
Budget: Return on Investment (ROI) is critical to all educational institutions. It is becoming more evident that open source software is providing the ROI. It has been noticed that there is a tendency for software to over-specify IT solutions. This is an area where OSS precedes, proprietary software vendors.
Knowledge Base: Implementing an OSS solution requires knowledge base at the User (institution). Without technical know-how – it is difficult to manage OSS. With proprietary software, all help is just a call or email away
Intellectual Property Rights (IPR): OSS provides an excellent opportunity for the user to claim IPR of the final product, whereas with proprietary software, this is impossible. All said and done, only an Non Disclosure Agreement will provide a security to end user with regards to its practices and final solution. This is an area of growing concern and one of the main factors influencing use of OSS
Adaptability: The online community is providing many add-ons and plug-ins that enhance the final solution of an OSS, whereas with proprietary solution, this is limited. A glowing example would be the applications for android and joomla etc wrt other proprietary software
WHY USE AN OPEN SOURCE SERVICE
Exactly like the personal computer and the Internet, open source software recently got the attention of the press as a totally new thing that „suddenly appeared‟. Many people believe that the impact of open source software in the information technology industry and in society in general will be huge, and without precedent in its nature, to the point that the current rules by which the software industry behaves will completely change.
Open source Software: In recent years, numerous open access LMS software have emerged as viable alternatives to costly proprietary and commercial products. Open source software of LMS are gaining
RECENT SUCCESSES OF OSS
Recently OSS has become more of a mainstream product with many companies adopting it in their offices. OSS market share has also grown rapidly making many companies sit up and take notice of the OSS phenomenon.
• IBM recently announced that the company would devote almost $1 billion dollars to support Linux. (Burke, 2000)
• Forrester Research estimates that more than 55% of the world's 2,500 biggest firms use open source software, with almost a quarter using the software in production systems.
• Sun released Star Office, an office suite similar to Microsoft Office, under the GPL license
Types of open source software
Open source office software
- Abiword - word processing tool
- Open Office.org - business productivity suite
- Libre Office - business productivity suite
- CiviCRM - customer relationship management
- SugarCRM - customer relationship management
- vTiger - customer relationship management
- MySQL - database
- Ingres - database
Open source accounting software
- GNU cash - small business accounting and personal finance software
- SQL Ledger - web-based enterprise resource planning system
- Front Accounting - accounting and enterprise resource planning software
- PostBooks - accounting and business management system
- Compiere - accounting, CRM and ERP
Open source operating systems
- GNU/Linux (various versions or distributions include Debian, Fedora, Gentoo, Ubuntu and Red Hat) - operating system
- OpenSolaris - operating system
- FreeBSD - operating system
- Android - mobile phone platform
Open source website software
- Wordpress - blog hosting platform
- Alfresco - enterprise content management system
- Joomla - enterprise content management system
- Drupal - enterprise content management system
- Magento - ecommerce website platform
- PrestaShop - ecommerce website platform
- Apache - web server software
- NginX - web server software
- PHP - web application scripting engine
Open source browsers and communication applications
- Juice - podcasting
- Mozilla Firefox - web browser
- Mozilla Thunderbird - email client
- Pidgin - instant messaging
- Zimbra - email and collaboration server
- FileZilla - FTP client
- MediaWiki - information sharing platform
Open source IT security
- Smoothwall - firewall and security tools
- Wireshark (aka Ethereal) - security application
- KeePass - password management
- Clam AV - antivirus software
Images/multi-media
- GIMP - image processing/graphics editing
- VLC - multimedia file playback
- Ogg - open video and audio codecs
- Blender - animation and video editor
- Open source development tools
Ruby on Rails - rapid web application development
Eclipse - integrated development environment
Before downloading and installing open source software, you should carry out the same due diligence as you would for proprietary applications.