Free and Open-Source Software (FOSS)
Free and Open-Source software (FOSS) allows users and programmers to edit, modify or reuse the software's source code. This gives developers the opportunity to improve program functionality by modifying it. The term “free” indicates that the software does not have constraints on copyrights. The term “open source” indicates the software is in its project form, enabling easy software development from expert developers collaborating worldwide without any need for reverse engineering. Free and open-source software may also be referred to as free/libre open-source software (FLOSS) or free/open-source software (F/OSS)
FOSS programs are those that have licenses that allow users to freely run the program for any purpose, modify the program as they want, and also to freely distribute copies of either the original version or their own modified version. One major reason for the growth and use of FOSS technology (including LAMP) is because users have access to the source so it is much easier to fix faults and improve the applications. In combination with the open license, this simplifies the development process for many enterprises and gives them flexibility that simply isn't available within the confines of a proprietary or commercial product.
History of Free and Open-Source Software (FOSS)
In the 1950s through the 1980s, it was common for computer users to have the source code for all programs they used, and the permission and ability to modify it for their own use. Software, including source code, was commonly shared by individuals who used computers, often as public domain software. Most companies had a business model based on hardware sales, and provided or bundled software with hardware, free of charge.
By the late 1960s, the prevailing business model around software was changing. A growing and evolving software industry was competing with the hardware manufacturer's bundled software products; rather than funding software development from hardware revenue, these new companies were selling software directly. Leased machines required software support while providing no revenue for software, and some customers who were able to better meet their own needs did not want the costs of software bundled with hardware product costs. In United States vs. IBM, filed January 17, 1969, the government charged that bundled software was anticompetitive. While some software was still being provided without monetary cost and license restriction, there was a growing amount of software that was only at a monetary cost with restricted licensing. In the 1970s and early 1980s, some parts of the software industry began using technical measures (such as distributing only binary copies of computer programs) to prevent computer users from being able to use reverse engineering techniques to study and customize software they had paid for. In 1980, the copyright law was extended to computer programs in the United States — previously, computer programs could be considered ideas, procedures, methods, systems, and processes, which are not copyrightable.
Early on, closed-source software was uncommon until the mid-1970s to the 1980s, when IBM implemented in 1983 an "object code only" policy, no longer distributing source code.
In 1983, Richard Stallman, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. Software development for the GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto. The manifesto included significant explanation of the GNU philosophy, Free Software Definition and "copyleft" ideas. The FSF takes the position that the fundamental issue Free software addresses is an ethical one—to ensure software users can exercise what it calls "The Four Essential Freedoms".
The Linux kernel, created by Linus Torvalds, was released as freely modifiable source code in 1991. Initially, Linux was not released under either a Free software or an Open-source software license. However, with version 0.12 in February 1992, he relicensed the project under the GNU General Public License.
FreeBSD and NetBSD (both derived from 386BSD) were released as Free software when the USL v. BSDi lawsuit was settled out of court in 1993. OpenBSD forked from NetBSD in 1995. Also in 1995, The Apache HTTP Server, commonly referred to as Apache, was released under the Apache License 1.0.
In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and Free software principles. The paper received significant attention in early 1998, and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as Free software. This code is today better known as Mozilla Firefox and Thunderbird.
Netscape's act prompted Raymond and others to look into how to bring the FSF's Free software ideas and perceived benefits to the commercial software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the Free software movement to emphasize the business potential of sharing and collaborating on software source code. The new name they chose was "Open-source", and quickly Bruce Perens, publisher Tim O'Reilly, Linus Torvalds, and others signed on to the rebranding. The Open Source Initiative was founded in February 1998 to encourage the use of the new term and evangelize open-source principles.
While the Open Source Initiative sought to encourage the use of the new term and evangelize the principles it adhered to, commercial software vendors found themselves increasingly threatened by the concept of freely distributed software and universal access to an application's source code. A Microsoft executive publicly stated in 2001 that "Open-source is an intellectual property destroyer. I can't imagine something that could be worse than this for the software business and the intellectual-property business." This view perfectly summarizes the initial response to FOSS by some software corporations. For many years FOSS played a niche role outside of the mainstream of private software development. However the success of FOSS Operating Systems such as Linux, BSD and the companies based on FOSS such as Red Hat, has changed the software industry's attitude and there has been a dramatic shift in the corporate philosophy concerning the development of Free and Open-source software (FOSS)
Pros and Cons of Free and Open-source software (FOSS)
he times of open source software being met with skepticism by entrepreneurs and business professionals are long behind us. FOSS has become mainstream. Why? It’s simple, open-source software offers many compelling benefits to the business sector. But, just like with anything else in life, there are two sides to the coin. Using open source in the business place has some drawbacks that need to be considered too.
- Initial Cost: There are little to no upfront costs for open-source software. You just need to download the code from a legitimate source and you’re good to go. If you’re on a tight budget it might be a good idea to go open source instead of breaking the bank for costly solutions. After all, free stuff is always good, right? But, no initial costs doesn’t mean that there aren’t any… which leads us to our first argument against it.
- Reliability: Open-source software is highly reliable. Usually, thousands of expert developers work on making and constantly improving the open-source software. This means there’s a greater chance that someone will notice a flaw or a bug and fix it in no time. Another pair of eyes is always a plus, or in this case, hundreds or thousands of eyes. A handful of paid developers working for vendors can’t compete with that.
- Longevity: Because anyone can access the source code, open-source software can evolve continuously. Anyone can contribute to making the software better without any vendor confinements. Furthermore, if a commercial company that created the software goes out of business, you lose the support, patches and everything else their services included. This doesn’t apply to FOSS because you can seek help in user communities or hire individual programmers if necessary.
- Security: Open source advocates assert that open source software is more secure overall compared to proprietary software. Bugs and other issues tend to be dealt with as soon as they’re caught by the community members. On the other hand, this is not the case with commercial software. Large enterprises can take weeks or months to deal with vulnerabilities and issue a fix.
- Flexibility: OSS is all about flexibility. Users of open-source software benefit from the freedom to modify the software in a way that suits their business needs. Unlike with commercial software, where you have to adhere to the vendor’s requirements and limits, open source users have complete control over their software. OSS is not confined by the rigid user agreement associated with proprietary software.
- Long-term Cost: Sometime down the road costs for FOSS software can stack up. If any problem occurs that needs immediate attention it’s up to you to put out the fire and those costs. You can’t yank your vendor’s chain to fix the issue because there is none. Instead, you have to either deal with it in-house or hire external help. Also, consider the costs of the implementation and staff training associated with introducing new software in the office.
- Support: The key advantage of commercial software is the service & support. Commercial vendors offer ongoing support and this is a major thing if you don’t possess technical skills. Open-source software doesn’t possess user manuals and access to experts who are familiar with the software. Although you can seek help in relevant communities for free, the support comes at a time price and no one is obliged to help. If you’re having an urgent issue, proprietary software, backed by top-tier, support might be a better choice
- Orphan Software: There is always the possibility that the developers of a program lose interest in working further on the software or just move on to another project. This being said, both open-source and proprietary software can be discontinued for whatever reason.
- Security: Open-source software is not developed in a controlled environment. With hundreds of developers working on the software, there is a chance that some of them could have malicious intentions. All it takes for a disaster is a single programmer to incorporate some malware into the software. In the case of closed software, only the vendor developers can see and edit the source code. That’s why closed software is seen as safer, although the risk of hidden backdoor Trojans is always a possibility.
- Usability: Compared to closed software, in most cases, open-source software is not as user-friendly. The main point of criticism is that open-source software is more oriented towards the needs of the developer and not the “unskilled” end user. Let’s face it, regular users will never even look at the source code, let alone to tamper with it.