April 18, 2024

SamTech 365

PowerPlatform, Power Apps, Power Automate, PVA, SharePoint, C#, .Net, SQL, Azure News, Tips ….etc

Open/Closed source software

The evolution of computing we’ve seen during the last decent has permitted a lot of improvements that make the use of computer a real pleasure and inevitable way to do business, entertainments, social meetings …etc.

One aspect in particular in this evolution attracts us for this context, which is the evolution of software-solutions.

Person-computer interaction is thanks to the software that is the next layer after the operating system and lets users performing many operations with computer. At earlier stages software was only a limited command line applications able to perform a limited operations and where very restricted.
The restriction imposed on software resided in the fact that only limited subsets of persons know exactly the internal details and composition of software (C.DiBona et al, 2006).
Some big software companies as Microsoft and IBM and due to the concurrency that existed between them in gaining market places, where obliged to secure their products by hiding how they can accomplish certain critical tasks. The fact of compiling and hiding the source of software and the methods it uses to accomplish the different tasks can help these companies to monopolize the market and the users.

As in software, it is not the program itself that is critical but the idea and the algorithms it uses that need to be protected in certain situations and this can have some pros and cons.
Excepting the security and monopolizing aspects of the ‘closed’ software solution, users have no idea about what is running on their computers and particularly how does it accomplish the tasks.
For security reasons, in certain situations and critical environments it is completely unacceptable to run unknown or unfamiliar software and this was one of the reasons for the appearance of open source software.

What is open source software?
Open source software is a solution where not only the complied version of the product is provided, but also the source code. So advanced users can have a look on the source of the software for:
– General understanding.
– Troubleshooting.
– Enhancement and improvement…etc. (S.Weber, 2004).

The open source software offers except the fact that it is software and was developed to accomplish certain needs, many additional possibilities.
The contribution of different persons in the software can end up with a big community around it and a lot of possible enhancements and distributions as the different Linux distribution.

The dependability of a software when deploying in a complex system consists in all the factors (systems) that might influence or be influenced by the actual system
If we consider the process of development of software, different persons and actors (A whole diverse community) participate in its improvement. In this case it is very important to consider the dependability gap.

What is the dependability gap? It is the difference between the user’s expectation of system dependability and the ability to provide dependability (Sommerville, 2011).

From the management issues perspective, some aspects need to be reviewed in case of open source software. Some of these aspects is Security. Due to the fact that the source code of the software is available for everyone, risks are more important. Other ‘closed source’ software might be harder to crack and provide additional security layers. Project managers should be aware of this kind of risks.

References

–          Steven Weber (2004). The Success of Open Source. ISBN: 0-674-01292-5.

–          Chris DiBona, Mark Stone & Danese Cooper (2006). Open Sources 2.0: The Continuing Evolution. ISBN: 0-596-00802-3.

–          Ian Sommerville (2011). Software Engineering, 9th edition, and Pearson edition, ISBN: 978-0-13-703515-1.

–          Sylvain Wallez (). Open Source Software: Risk or Opportunity. Anyware Technologies – http://www.anyware-tech.com/. Available at: http://people.apache.org/~sylvain/presentations/ERTS2006-Opensource.pdf

The evolution of computing we’ve seen during the last decent has permitted a lot of improvements that make the use of computer a real pleasure and inevitable way to do business, entertainments, social meetings …etc.

One aspect in particular in this evolution attracts us for this context, which is the evolution of software-solutions.

Person-computer interaction is thanks to the software that is the next layer after the operating system and lets users performing many operations with computer. At earlier stages software was only a limited command line applications able to perform a limited operations and where very restricted.
The restriction imposed on software resided in the fact that only limited subsets of persons know exactly the internal details and composition of software (C.DiBona et al, 2006).
Some big software companies as Microsoft and IBM and due to the concurrency that existed between them in gaining market places, where obliged to secure their products by hiding how they can accomplish certain critical tasks. The fact of compiling and hiding the source of software and the methods it uses to accomplish the different tasks can help these companies to monopolize the market and the users.

As in software, it is not the program itself that is critical but the idea and the algorithms it uses that need to be protected in certain situations and this can have some pros and cons.
Excepting the security and monopolizing aspects of the ‘closed’ software solution, users have no idea about what is running on their computers and particularly how does it accomplish the tasks.
For security reasons, in certain situations and critical environments it is completely unacceptable to run unknown or unfamiliar software and this was one of the reasons for the appearance of open source software.

What is open source software?
Open source software is a solution where not only the complied version of the product is provided, but also the source code. So advanced users can have a look on the source of the software for:
– General understanding.
– Troubleshooting.
– Enhancement and improvement…etc. (S.Weber, 2004).

The open source software offers except the fact that it is software and was developed to accomplish certain needs, many additional possibilities.
The contribution of different persons in the software can end up with a big community around it and a lot of possible enhancements and distributions as the different Linux distribution.

The dependability of a software when deploying in a complex system consists in all the factors (systems) that might influence or be influenced by the actual system
If we consider the process of development of software, different persons and actors (A whole diverse community) participate in its improvement. In this case it is very important to consider the dependability gap.

What is the dependability gap? It is the difference between the user’s expectation of system dependability and the ability to provide dependability (Sommerville, 2011).

From the management issues perspective, some aspects need to be reviewed in case of open source software. Some of these aspects is Security. Due to the fact that the source code of the software is available for everyone, risks are more important. Other ‘closed source’ software might be harder to crack and provide additional security layers. Project managers should be aware of this kind of risks.

References

–          Steven Weber (2004). The Success of Open Source. ISBN: 0-674-01292-5.

–          Chris DiBona, Mark Stone & Danese Cooper (2006). Open Sources 2.0: The Continuing Evolution. ISBN: 0-596-00802-3.

–          Ian Sommerville (2011). Software Engineering, 9th edition, and Pearson edition, ISBN: 978-0-13-703515-1.

–          Sylvain Wallez (). Open Source Software: Risk or Opportunity. Anyware Technologies – http://www.anyware-tech.com/. Available at: http://people.apache.org/~sylvain/presentations/ERTS2006-Opensource.pdf