In our previous article, we explored how cryptography evolved over the years to be a paramount part of what we call today Distributed Ledger Technologies or Blockchain.
In this article we will see how Open Source Software facilitated in the development of this new technology, which experts agree it has the potential to change the world around us.
Open Source Software
Open-source software is a type of computer software whose source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. Open source software invite collaboration as it developed in a transparent and public manner.
A screenshot of Linux Mint running the Xfce desktop environment, Mozilla Firefox browsing Wikipedia powered by MediaWiki, a calculator program, the built in calendar, Vim, GIMP, and the VLC media player, all of which are open-source software.
It might surprising to most people, but software was once only open-source and free for use. Software was downloaded and edited to suit one's needs, up until 1979 when Brian Reid placed time bombs in his software to restrict access to it without a license.
A programmer working at the MIT AI labs, Richard Stallman quit his job there and started the GNU project. The name “GNU” is a recursive acronym for “GNU's Not Unix.” Stallman announced the plan for the GNU operating system in September 1983 on several ARPANET mailing lists and USENET. In 1985, Stallman published the GNU Manifesto, which outlined his motivation for creating a free operating system called GNU . Stallman envisioned a better world and advocated on the social aspects of software and how Free Software can create community and social justice.
In 1991, the same year the PGP was released, Linus Torvalds, a Finnish student, used the GNU's development tools to produce the free monolithic Linux kernel, an open source system that runs on most smartphones and tablet computers, and in any point in time has up to 10,000 people working on its code. In 2005, Linus Torvalds created a version control system called GIT for tracking changes in computer files and coordinating work on those files among groups of people. This lead the foreground for sites like GitHub, which are used for the public development and review of all software changes made to Bitcoin.
Open source software advocates evangelize that it is usually easier to obtain than software and as a result more people use it. Moreover, they can help build developer loyalty as developers feel empowered and have a sense of ownership of the end product. It practically lays the ground for a more flexible technology and quicker innovation and it is also said to be more reliable since it typically has thousands of independent programmers testing and fixing bugs constantly. Open source is not dependent on the company or author that originally created it. Even if the company fails, the code continues to exist and be developed by its users.
To an extent open standards are accessible to everyone; thus, it solves the problem of incompatible formats that exist in proprietary software. Open source software allows flexibility since modular systems allow programmers to build custom interfaces, or add new abilities to it and it promote innovation, as open source programs are the collective product among a large number of different programmers. The mix of coding insights, perspectives, objectives, and personal goals speed up innovation, without additional commercial pressure that often degrades the quality of the software. Commercial pressures make traditional software developers focus on customers requests than to security requirements, since these features are often invisible to the customer. It is sometimes said that the open source development process may not be well defined and orchestrated and in some cases, the stages in the development process, such as system testing and documentation may be ignored. However this is only true for small projects. Larger, successful projects do define and enforce at least some rules as they need them to make the teamwork possible. In the most complex projects these rules may be as strict as reviewing even minor change by two independent developers at a time.
On the other hand, not all Open Source initiatives have been successful. Software experts and researchers who are not convinced by open source's ability to produce quality systems identify the unclear process, the late defect discovery and the lack of any empirical evidence as the most important problems around Open Source Software. Moreover, it is also difficult to design a commercially sound business model around the open source paradigm, as only technical requirements may be satisfied and not the ones of the market. In terms of security, open source may allow hackers to know about the weaknesses or loopholes of the software more easily than closed-source software.
See you in the next article!
I think that’s enough condensed knowledge until the next part. In the upcoming article we’ll look at Peer to Peer Sharing networks to understand their role and importance in Distributed Ledger Technologies.
End of Part II
Sources:
https://blockonomi.com/cryptography-cypherpunks/
https://en.wikipedia.org/wiki/Richard_Stallman
https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist)
https://en.wikipedia.org/wiki/Time_bomb_(software)
https://www.gnu.org/gnu/manifesto.en.html
https://en.wikipedia.org/wiki/GNU
https://en.wikipedia.org/wiki/Usenet
https://en.wikipedia.org/wiki/Monolithic_kernel
https://en.wikipedia.org/wiki/Linux_kernel
https://en.wikipedia.org/wiki/Unix
https://en.wikipedia.org/wiki/Linus_Torvalds
https://en.wikipedia.org/wiki/GitHub
http://hlwiki.slais.ubc.ca/index.php/Open_source_software
https://www.gnu.org/gnu/thegnuproject.en.html
It is a new week, and here is the second part of Friday's article! :)
Very interesting stuff. I really like the info on GitHub and how it was created and the encryption methods.
@universalcrypto