The open-source movement began in the late 20th century as a response to proprietary software. Developers like Richard Stallman, who founded the Free Software Foundation (FSF) in 1985, believed that software should be free, not just in terms of cost but also in accessibility.
This meant anyone could view, modify, and distribute the software's source code.
The movement was rooted in the belief that collaboration and transparency led to better software and fostered a sense of community among developers. Over the years, the open-source philosophy has influenced various sectors, from software development to academic research.
Why software should be open-source
There are two primary advantages to open-sourcing software:
- Collaboration: Diverse perspectives lead to innovation. By pooling together ideas from a wide range of contributors, software can evolve more rapidly and effectively.
- Transparency: Trust can be hard to establish, especially in the digital world. However, open-source software ensures its integrity by allowing anyone to check its workings.
What was missing?
Despite most components of open-source software being accessible to all, there were aspects still closed to the public: financial flow and data storage. By restricting software openness to the client-side environment, the open-source movement could not fully evolve.
Unverifiable Financial Flow
Due to the lack of a transparent and open payment system, developers were forced to use centralized and closed payment APIs like PayPal and Stripe to handle financial flows like financial transactions between users or fees charged by the system within the application. This created a closed, non-verifiable black box in an open-source project.
Unverifiable Data Storage
To build complex applications like marketplaces, developers needed to store data somewhere and program on it. However, due to the lack of distributed and open databases, developers used centralized data storage services like AWS, which again creates a non-verifiable component in the open-source project.
How does blockchain solve it?
Any closed or unverifiable component within an open-source project contradicts the transparency values of the open-source movement. Blockchain offers a solution by enabling open-source platforms to verifiably store data and conduct financial transactions, unlocking a wide range of complex applications for the open-source movement.
Programmable money
Developers can now use smart contracts to embed financial units and operations within code, instead of depending on closed payment systems. This integration of financial functions works just like regular functions and can be performed in a transparent manner that allows everyone to see how they are executed.
Distributed servers
Even with the current limitations of storage and computation power in distributed systems, developers can store data and execute computations on the blockchain instead of using private and centralized servers like AWS or Google Cloud for all of their storage and computation purposes. This promotes data transparency and verifiability of the platform.
Note that, blockchain technology may not be suitable for all applications as it requires making data visible to the public, which may not be the best option where user privacy is a concern. Additionally, at the current level of blockchain technology advancements, data storage and computations in the blockchain is very costly.
Nonetheless, the technology is young and there is much to come along the way. Zero-knowledge technology advancements may lead to a solution for balancing verification and privacy, and more efficient distributed storage and computation solutions are on their way.
We are committed to the open-source movement.
At Nito Labs, we firmly believe in open-source principles and are committed to developing all of our products in an open and transparent manner with the support of the community.