Use of open source software is increasing. Large number of users are in favour of using Open Source Software. At present many companies are working in the direction to work and build open source software. Companies like Sun and IBM are developing open source software as a strategy.
Open Source is a solution to the software crisis. It is possible that in future all software may be open source. Open Source software obtain their revenue from support services such as selling services and advertising services.
Open Source is often interpreted as Free Software. Free Software are those which can be executed without any boundations. Copy of free software can be distributed without any legal offence. Free software can be tailored as per the requirement without taking any permission from the owner of the software.
Open Source software is very close to free software. Open Software includes free software, also semi-free programs, and proprietary programs. In open source software complete source code is not distributed. “Open Source” and “Free Software” are synonyms of each other. Commercial Software earns money as they are used.
Open source software is developed by software developers working on the Internet. Open source software does have a license and copyright law. The license provides the legal right for the use of software. The number of users that can use the software is restricted using the license. A software is called open source because of its terms and conditions given in the license.
Most of the open source software development process is influenced by “hacker culture”. Commercial software vendors have the power to license and sell the source code of the software they have developed. In commercial software only the member of the organization has the power to change or modify the proprietary source code.
In open source software any one who has the knowledge can make changes in it. Earlier this was done by hackers. Hackers use it to learn and modify the code. With the use of the internet open source software development has become easy. Development of open source software is done by an individual or a small group. The person who makes changes in the existing software becomes the owner of the software. The developed code is made freely available to others to use it , shar it and change it.
Developers around the world are contributing in the development of open source software. Developers are contributing free-of-cost merely for learning and enjoyment. User needs are varied and it is not possible to develop need specific software for each and every need, better choice is to select an open source software which is close to your requirements and modify it to use it.
An example is Apache software, Apache is open source software and users modify it to fit it as per its needs. Software firms that are commercial in nature rely on an effective and efficient management process. Commercial software firms hire their employees on contract and assign them tasks which have to be completed within a certain time limit. Open source software development process is different from commercial software development process. Open source software is developed by a virtual community of developers each having a specific task. Open source software and commercial software will coexist. Open source software is going to compete with commercial software in the upcoming future.
Software development cycle of commercial software is planning, analysis, design and implementation. Open source software development life cycle is different from commercial softwares. Planning phase of open source software is the development of the initial prototype. Requirement phase of open source software is superseded. Developers of open source software are often the users of the softwares. Open source software development model is a modularized system.
Open source software implementation phase has following subphases: Code: writing programming instructions and committing it, Review: Open Source software is independent and requires peer review, Pre-commit test: contribution of each developer of virtual community is tested before commit, Development release: programming instructions are included in the development release of the open source software, Parallel debugging: many debuggers debug open source software on different platform, Production release: when software is developed it is released as debugged production version.
The virtual community of open source software developers is distributed around the world. Successful open source software is Linux, Apache, Mozilla, C compiler, Perl, and MySQL. For open source software different types of business strategies are developed. Two of the known developed business strategies are value-added service-enabling and loss-leader market-creating.
Cygnus Solution is an example of value added service. Red Hat comes under this strategy. Red Hat delivers open source software, Red Hat develops open source solutions for the required needs of customers. Red Hat Linux is an example of this open source development strategy.
Loss-leader/market creating model delivers open source products for free but with the objective of enhancing the market. An example of loss-leader/market-creating is Sendmail. Sendmail increases the market for its sub product known as Sendmail Pro.
Technical/non-technical support of open source software products is different from the commercial software. Requests for technical/non-technical support are given by public platforms such as bulletin boards and mailing lists. Technical/Non-technical support may also be taken by third-party. For example HP and IBM give support for linux. Many software development firms involved in the open source software development process rely on bulletin boards and purchase consultancy support for its technical/non-technical requirements.
Success of open source software depends on its license. Few of the licenses used by open source software include GNU public license (GPL), the Lesser GPL (LGPL), the Artistic License and the Berkeley license. Another noticeable license is Mozilla Public License (MPL). The GPL license is used by GNU project softwares such as Linux.
Following are the example of open source software:
Bitcoin, ERPNext, Warsow, Minetest, OpenCV, Emacspeak, Virtual Magnifying Glass, FreeCAD, Blender, TestDisk, USBKill, Cyberduck, OpenNN, Orange, Weka, ParaView, VTK, ApexKB, Lucene, Solr, Xapian, ATutor, Gnaural, H5P, Omeka, SWAD, UberStudent, SQL Ledger, Odoo, QuickFIX, OpenFX, Pencil2D etc.