Part 4.1Open source and closed source software
The world of software development has taken a big change from where it was in the early 1990s not only from the point of view that there are now more software developers out there, but from the idea of free software being made more available and accessible.
Some companies, such as Microsoft, developed software like the Windows operating system as their own proprietary software. This means that others have no rights to modify it and Microsoft owns sole rights to it. This is not meant as a discredit to Microsoft as there are other software products in the same boat and it's also entirely up to the company or individual developing it. In fact, ZPE is also proprietary software (more later).
Closed source is software in which the original source code is not made publicly available. This means that end users, other developers and anyone interested cannot see the code. There are many reasons why software is often released this way including:
- By keeping the software closed source, people cannot figure out ways in the system by looking for exploits in the software source code.
- Often it is faster to develop a large scale closed source project internally in a company and there will be less reliance on others contributing ideas.
- One of the important ones in the development cycle for closed source is that the developer can decide when enough is enough and simply terminate development.
- There is often more money to be made by making a project closed source because the company in charge dictates everything about their software - if they make an app that is unique and want to sell it so that no one else can create a competitive version that would provide the same features then they will recieve 100% of that niche.
Examples of closed source software include all of the Microsoft Office suite, Microsoft Windows, macOS and iOS (although both feature open source components), almost all video games and the Adobe Creative Cloud suite - there are many others however.
Open source, the opposite side of the spectrum of softwares, is software that is more often than not free to use, but also the source code is made available to the public.
Open source software is software that is licensed without any restriction on it's use, the modificiation of it or it's distribution. This means that parts of software that were originally open source and included in a closed source project can be distributed for cost if need be.
ZPE is closed source, free to use software that is built with many open source components.
The main benefits of open source include:
- The open source community is rather large and full of people who want to contribute to help improve software. As a result, multiple solutions to a problem might be provided.
- Since many hundreds of people can review the software and discover bugs, the software ends up more reliable.
- Developing software this way is often cheaper because open source is often developed free of charge. As a result of the large community of software developers in the open source market, no dedicated in house testing team is needed for the majority of projects.
- Open source software is often more popular than proprietary software. This is often because the distribution channels are more visible for open source software.