Introduction
Open source software represents a pivotal cornerstone in the modern software development landscape, epitomizing a blend of innovation, collaboration, and freedom. It's not just a category of software, but a philosophy that promotes the open exchange of ideas, free access to source code, and the collaborative contribution of a diverse community.
By breaking down the barriers of proprietary systems, open source allows developers from all corners of the globe to improve, adapt, and evolve software, leading to more secure, efficient, and versatile applications. This approach has not only democratized software development, but has also accelerated technological advancement, fostering an environment where collective knowledge and skills are harnessed to push the boundaries of what software can achieve.
The concept of open source software predates the term itself, with projects like BSD, GNU, Apache server and Linux Kernel blazing the trail in the 80s and 90s. The actual term ‘open source’ was coined by Christine Peterson, a futurist and lecturer in the field of nanotechnology, back in 1998. The expression was proposed by Peterson as a way to emphasize the practical benefits of collaborative software development without the ambiguity associated with the term 'free software,' which was often misconstrued as meaning 'free of charge'.
Though open source means different things in different contexts, in the software development industry – and by extension, in blockchain development – open source means software that is freely available for anyone to use, modify, and distribute. Typically, software classified as 'open source' is distributed under licenses specifically written to guarantee that any subsequent use, modification, and distribution are done under identical terms. This type of licensing ensures that the software remains free and accessible to anyone.
Open sourcing promotes three key values:
-
Collaboration
-
Transparency
-
Community-driven development.
Unlike proprietary software, which is usually created by a small team of developers, open source software tends to involve a large community of software creators and enthusiasts working together to ensure the software is the best it can be, and free of bugs. The immediate advantage of this is software that offers a high degree of reliability and great customization options. Also, because of the community involvement aspect, open source software tends to be regularly updated and improved, at no cost.
Open source: the perfect companion for blockchain development
One of blockchain's design principles is decentralization, which is the distribution of power away from a central focal point.
Transparency is another cornerstone of a blockchain system.
Security is the third.
As such, these principles closely mirror the underlying concepts of open source, and hence why open source and blockchain are so aptly suited to each other.
There is another, very important crossover: the democratization of access to existing technology. When the source code for a specific system is available to everyone, developers and code enthusiasts can work to further expand it, so anyone has an equal opportunity to use and enhance the project.
Combining open source and blockchain takes this one step further, as a distributed system such as blockchain supports the participation of a global community.
Benefits of open source software
Considering the above, open source enables software creators to accelerate development from the outset, leverage a community of experts to expand knowledge and scope, and use well-tested, peer-reviewed code.
All this translates into an array of benefits that can be grouped into the following categories:
Quicker innovation and growth
Open source means that the building blocks for constructing and developing a software project are already there, ready to be used, which significantly cuts start-up time. Creators can simply take the code and use it for their own projects right away. Open source-based developments can innovate and grow quickly.
Faster, secure, and more transparent development
Any new creators joining an existing open source project do so with the assurance that the code has been thoroughly tested and verified by many others. This assurance, and the inherent transparency of open source, support fast and secure development.
Community-based support and collaboration
Strong, widespread, and active communities support better software quality and more consistent releases.
In such an environment, new ideas spread quicker, and if any issues or bugs arise, the community goes to work to resolve them. A strong community built around a software project creates a sense of connection and the instinct to work towards a common goal. Involved community members tend to be supportive of each other and share suggestions for new use cases, for example.
A rundown of Input | Output projects using open source
Input | Output (IO)'s founder and CEO Charles Hoskinson is a staunch advocate for the use of open source:
‘Always choose open source software whenever possible that has been audited by numerous sources on a regular basis.’
Charles' support and advocacy for this development style mean that many IO products either include open source elements or are fully open source. Here is a rundown of the many innovative open source products and projects underway at IO:
Plutus
In December 2018, IO released Plutus, an open source smart contracts language that enables developers to write applications that interact with the Cardano blockchain.
Since all programming is done from a single Haskell library, users can build secure applications, mint new assets, and create smart contracts in a predictable, deterministic environment with the highest level of assurance. Also, developers don’t have to run a full Cardano node to test their work.
Hydra Head protocol
Hydra is a layer 2 scalability solution that seeks to address all these concerns and aims to maximize throughput, minimize latency, incurring low to no costs, and greatly reducing storage requirements.
Visit this GitHub repo to learn more and contribute.
The Cardano node
The Cardano node is the top-level component within the network. Nodes connect to each other within the networking layer, which is the driving force for delivering information exchange requirements, including new block diffusion and transaction information for establishing a better data flow. Cardano nodes maintain connections with peers that have been chosen via a custom peer-selection process. By running a Cardano node, you are participating in and contributing to the network.
Learn more about the Cardano node and contribute.
cardano-js-sdk
cardano-js-sdk is a domain model of Cardano written in Typescript, containing 19 individual packages that serve to encapsulate the functionality required by developers to interact with and realize their visions on Cardano.
Visit this GitHub repo to learn more and contribute.
Lace
Lace is a light wallet platform built on Cardano, which is fully open source. Its first release includes a light wallet, an NFT viewer, an easy staking feature, and a decentralized app (DApp) connector. Unlike full-node wallets, light wallets do not synchronize the full copy of the blockchain.
Visit this GitHub repo to learn more and contribute.
Mithril
Mithril is a protocol designed to enhance the efficiency and speed of blockchain nodes' synchronization, primarily within the Cardano network.
Visit this GitHub repo to learn more and contribute.
Conclusion
IO's commitment to open source has supported the following:
-
The creation of multilingual, multicultural, global communities whose members collaborate on further development of the products and regularly participate in events worldwide.
-
The concept of building a piece of technology around the idea of global consensus, thus pushing towards a fairer and more transparent world system.
The company remains fully committed to the bedrock principles of open source (collaboration, transparency, and community-driven development). IO's adherence to these principles will shape Cardano as a truly open source project through the age of Voltaire and beyond.