Introduction
Open source contribution in Information Technology refers mainly to software products where the developers of such software avail the software product together with its source code so as to allow the end users, organizations or even sellers to modify the software to suit their own customization. For software to be considered open source, it must meet the following criteria:
- Unrestricted redeployment: the software license should allow vendors to sell or freely redistribute the software as a package with code combined from different sources. The license should not demand royalty or a fee of any kind from the sale of the software solution.
- Source Code: The software product must be accompanied by the source code and must also permit redistribution of such code as well as the assembled end product. If for any reason some part of the software product does not accompany the end product, a means to obtain the code must be revealed for a reasonable reproduction cost. It is also a requirement that any programmer must also be able to revise the source code to suit their own customizations of the end product. A source code in which developers have intentionally blocked any modification does not qualify as open source.
- Refined products: The software license should permit modifications and revised products from derived code and must also permit the same to be freely redistributed under the same conditions as the original software product.
- Integrity of the author's source code: For purposes of modifying the program in the building phase, the license of some certain software products may not permit modification on some part of the source code in an effort to preserve its initial intended core functionality. The license must however allow redistribution of programs built from the refined code though it may require that the end product carries a name that is not similar to the original.
- Non-discrimination against people: The license to the software product must allow for anybody to modify or redistribute the source code or the original product without favors or discrimination of any person.
- Non-discrimination against areas of work: The license must not favor people in certain areas of work and discriminate against those who don’t work in such field. Whatever industry of work one belongs to, they should be free to access modify and redistribute the software.
- License distribution: All rights conferred by a license must apply in all cases without warranting the issuance of a different license.
- Non specificity to a product: The rights conferred to software must not be pegged on the program being part of any software distribution. If the program is lifted from any part of the original software and refined or redistributed under the same conditions as the program's license, then the third party owners of the new program should possess similar rights as those possessed by the original owners of the software distribution.
- Non restriction for other software: The license must not place limitations on other circulated along with the licensed software.
- Neutral technology: All software licenses must be technologically neutral and should not be pegged on any particular technology.
In the event that a software product does not meet any of these requirements, it cannot be classified as open source. Clearly, open source software is designed to provide a platform for programmers to use and modify existing software to create refined products.
Open source software can be considered to have originated way back when IBM and others companies sold the first large-scale commercial computers, in the 1960s IBM had software which could freely be shared among users. The software came with the source code, and, it could be refined to suit customization. The situation changed in the late 1960s, and, in mid-1970s, patented software could be obtained but it could not be considered open source since users were forbidden to redistribute it. The source code could not be obtained and programmers could not modify the programs. In late 1970s and early 1980s, two different groups established the backgrounds of today’s open source software revolution:
- Richard Stallman of the US East coast started the GNU Project and the Free Software Foundation. The main goal of this project was to build a free operating system. Richard started by programming some tools such as compilers. The main intention of GNU License was to develop it for free of charge and also to promote the creation of more free software. Stallman also started the revolution that source code availability and freedom to modify and redistribute such software is an essential right.
- On the US West coast, the Computer Science Research Group of the University of California improved the UNIX system, and constructed lots of applications. DARPA contracts did most of the funding and UNIX hackers worldwide helped to debug and improve the system. For a long time the software was only available members of a Unix AT&T license. But in the late 1980s, it was finally distributed under the BSD license which among the earliest open-source licenses.
In the 1980s and early 1990s, open source software continued its development. USENET and the Internet helped to harmonize international efforts, and to shape up strong user societies. Netscape Communicator, in 1998, was the foundation for many big companies to comprehend and accommodate open source software. Big companies like Apple, Corel and IBM, for example, are trying different methods to promote the of open source software. Different companies of all sizes are discovering new economic models to prosper in the competitive software market. The media is also giving attention to the previously negligible open source software effort, which is today comprises individuals and non-profit organizations as well as small and medium companies.
Advantages of Open Source
Open source software offer quite a number of advantages some of which include but are not limited to the following:
- Free of charge: This is the major advantage of open source software. Thousands of open source software is available for use. The most commonly used open source software is the webservers. The downside of this is that most companies that use open source software have to train someone to be on standby for software support. Due to this limitation, most companies will go for both the free and commercial versions of open source software.
- Flexibility: With open software, companies or even individuals are able to refine the source code to suit their customization needs. This contributes to flexibility on the part of the end user.
- Ability to fast track projects with open source software: The fact that open source software is customizable implies that business and developers are able speed up their projects as the customized software renders convenience and improvement of the project development processes.
- Enhancement of original software: Open source software code is available to virtually everyone who is interested. With professionals allover the world, the source code is bound to undergo complete refinement to better and improved versions. As long as there is someone out there interested in the open source code, the original software bound to be enhanced.
Major Contributors
The major contributors in open source software are;
- Linux,
- CMS/Joomla/Wordpress,
- Apache
- Android
- Linux
Most enterprises spend a lot of money and but are managed by individuals who, if they had a better alternative, would be willing far less amounts to save on costs. Since open source software is often free, people wonder whether enterprises should go for the open source software. Linux is any operating system that has the Linux core as its base. There are many of such systems, known as Linux distributions. By virtue of the Linux license, all Linux distributions are open source distributions and may be modified.
The reason devastating glitches seldom happen to large enterprises, is because, they make mold their IT departments to deal with situations with requirements that are unrelated to other companies. On the most basic level, ensuring availability of resources and 100% uptime of the systems is their number one priority. On the other hand, the main priorities for companies and for employees are cost and convenience. With enterprises, the priorities vary greatly, cost much more and more difficult to achieve. Linux systems dependable, steady, have high fault tolerance, secure and are also quite effective. At the same time, enterprise systems require immense amounts of computing power, I/O throughput, data storage and network. Software and hardware companies globally use Linux systems on a day-to-day basis to perform different tasks and also to provide solutions. They include the following:
- Intrusion Detection Systems – Linux is free and operates on any type of hardware available. This idea, coupled with the fact that it a platform for open source developers, implies that it is one of the best software available globally. As such, Linux provides the best solution for network intrusion detection services. A good example is the Linux application called snort, which is the most widely used intrusion prevention and detection technology in the world. The application was built upon the free open source ideal platform.
- Web Servers - Apache web server which runs on a Linux platform continues to govern the Internet for over ten years as the web server of choice for many. Globally, Linux and Apache have been chosen as to provide the best service providers for Internet HTTP services.
- Application Servers - Linux provides the java application sever services with a stable, memory stingy and long-lived platform. It can be evidenced by IBM and Oracle which both supports Linux as their foundation platform on is used to run these type of services.
- Development Platform – Most developers prefer Linux because it comes with many standard development tools such as Eclipse, C++, and PHP among others. It is therefore evident that it's the world's most preferred development platform. It entails a variety of development software all free of charge for developers worldwide.
- Monitoring Services – For users whose job descriptions entails network monitoring or system performance checking, there is a high probability that they do it using Linux. Big enterprises use product hardware and open-source applications to do their orders where possible. Some products, for instance Orca, make life easier for IT professionals who deploy scalable tools that are cheap and have good returns for the cost invested.
- Log Servers - Linux makes an excellent platform for processing and storing log files. I know it sounds like a lowly task for Linux but its low cost, low hardware requirements and excellent performance make it a wise choice for anyone who needs such a service. Large companies make use of this low cost platform for their log services in a big way.
- Google Search Appliances – Google, another major company builds its search engines on a Linux platform. This goes a long way to show just how Linux has been accepted worldwide as a first class provider of foundation platform for most companies to run their systems on.
- Apache
Businesses from small offices to big enterprises prefer Apache Open Office to run their businesses. The product, just like its commercial competitor avails the word processor, spreadsheets, dynamic graphics, database access and much more that is required for an office software package. The main reasons why businesses turn to Apache include the following:
- Hassle free: In many business organizations, Information Technology is quite costly and a real struggle. OpenOffice by Apache is open source software with very similar functionalities to that of the MS Word by Microsoft. The main advantage is that OpenOffice is a cheap way of providing the important tools mandatory in the support of a growing business. OpenOffice is a reliable product that is free to use.
- Better and compatible: Apache OpenOffice is compatible with other office software such as MS Word from Microsoft. For enterprises that decide migrate to OpenOffice, the process is simple and users can still use their old files. Realistically, switching to OpenOffice is simpler than having to upgrade because the commercial software. It also has the capability to switch files with other office software, for instance PDF files..
- Open for business: Surprisingly, Apache OpenOffice is free and no fees for any licenses. It can be installed on several computers, used for any office jobs, or even avail for employees to take home. Furthermore, OpenOffice comes as complete package and users do not have to worry about what to install and what to skip.
- Android
Android is software developed for mobile devices and it comprises an operating system and some important applications. The mobile’s operating system is founded on the Linux kernel Google together with other members of the Open Handset Alliance joined forces to develop and release the Android system. The Android Open Source Project is responsible for the further development of this world-class system. As of Today, Android is the world’s best leading mobile platform in which virtually almost all mobile phone developers have resulted to, for apps development. The main reason is because Android provides a first-class platform for creating applications and games for Android users especially mobile phone users everywhere and also provides an open marketplace for distributing to them instantly.
Android builds on the contributions of the open-source Linux with many hardware, software, and shipper partners. As a result, it is fast becoming the fastest-growing mobile operating system providing virtually everything needed to build the best app experiences. It provides a single application model that helps one organize their apps to millions of globally.
- CMS/Joomla/Word Press
Wordpress began as an impressive and simple blogging platform. Due to the ever increasing demand for plugins widgets and themes, Wordpress under went a transition from a mere blogging platform to a content management system with a rich array of tools for designing and creating interactive websites from blogging websites to fully fledged e-commerce websites. With Wordpress, designers choose the appearance and functionality of every website.
Joomla on the other hand has always been a content management system since its inception. Its developers designed it purposely to be both powerful and user friendly. It contains a platform that accepts plugins, modules and extensions. All these constituents serve to add various levels of functionality to any website, depending on the user’s needs. For instance, Joomla makes use of a frontend some user levels and a backend for administration purposes. Like Wordpress and the other content management software, Joomla makes use of prototypes for the themes to a website. However, Joomla allows for the design of websites that have more construction flexibility and content than Wordpress sites which are still easy to use.
Embracing Open Source Technology
- Security.
- Affordability.
- Transparency.
- Perpetuity.
- Interoperability.
- Localization
References
Gonzalez-Barahona, J. (n.d.). A brief history of open source software. A brief history of open source software. Retrieved June 20, 2014, from http://eu.conecta.it/paper/brief_history_open_source.html
The Open Source Definition. (n.d.). The Open Source Initiative. Retrieved June 20, 2014, from http://opensource.org/docs/osd
Why. (n.d.). Apache OpenOffice: Enterprises. Retrieved June 20, 2014, from http://www.openoffice.org/why/why_sme.html