Computer Software and its Models


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