Does a blockchain code is not open-source mean that this is a fake project?
Whether it is the Internet or the blockchain, as a technology enters the public's field of vision, whether it is open-source or not is controversial. Once upon a time, Java's incomplete open-source has leaded a lot of criticism, the emergence of blockchain has made the topic of whether to be open-source or not re-enter the public view.
What is open-source?
The open-source project that everyone often said actually means that the project follows the open-source protocol, and the source code is made public and can be viewed by anyone. In the early stages of computer development, software was almost open, and anyone could view the source code of the software, but the emergence of Microsoft broke this situation, and they no longer included source code when distributing software. Since then, the era of proprietary software has arrived. However, with the emergence of blockchain technology, featuring with open-source code, and with the great recognition gained in the geek circle, it has begun to re-enter the historical stage. Most of the projects now choose to open-source on Github.
What is Github?
GitHub is a managed platform for open-source and proprietary software projects because it only supports git as the only repository format for hosting, hence the name is gitHub.
GitHub was officially launched on April 10, 2008. In addition to the git code repository hosting and basic web management interface, it also provides subscriptions, discussion groups, text rendering, online file editors, collaboration graphs (reports), code snippets sharing ( Gist) and other functions. Currently, there are tens of millions of developers worldwide, and in China alone, nearly a million developers use Github.
Why does the blockchain project need to open-source?
To put it simply, blockchain technology is a large ledger that can be viewed and used by many people. This large ledger requires multiple parties to cooperate. But in the process of cooperation, how to quickly build mutual trust? How to let cooperative companies build their business directly on unfamiliar platforms? Perhaps the best way is to open-source. The project party chooses open-source, which means that it will get:
Fewer project vulnerabilities
The choice of open-source for a project means that it will withstand greater public pressure and accept public inspection. The project party will pay more attention to code quality when writing code and testing, which is similar to the government's disclosure of funds.
Lower development costs
For the project, as the open-source community matures, some work may be replaced by community members, such as project vulnerability checking and code writing. The overall development cost will be lower and lower.
Stronger innovation ability
Because of the diversity of the community, technical talents can create their own branches by themselves when they have new ideas. Open source offers more choices, just like a company, no matter how good it is, it still needs more talents.
In the face of so many advantages, NEO founder Da Hongfei even hard to release as saying: projects with blockchain that are not open-source are hooligans.
At the same time, the public psychology is also skeptical about projects that are not open-source. Since the project is based on blockchain, why not directly open-source and directly tell others how the project really works. Start with the problem that the blockchain has to solve. The emergence of the blockchain is specifically aimed at the issue of trust. It completely subverts the traditional cognition of the public and transforms traditional single-point trust and trust in a centralized organization into direct peer-to-peer communication. And if the project choose not to open-source, it will still be a centralized organization, and it will deviate from the spirit of the blockchain. Many well-known blockchain companies in the world are open-source, such as Hyperledger, Corda, etc.
Do block-chain projects have to be open-source?
Interestingly, according to relevant data, since Bitcoin made the code open source in 2009, about 8,000 blockchain projects have joined GitHub (a hosting platform for open-source and proprietary software projects) every year. More than 30,000 of blockchain projects has been launched so far. 92% of the projects are inactive and half-dead, and only about 8% are active (updated at least once in the past six months).
As the most mainstream open-source platform at present, the reality of the blockchain project on the GitHub website is that most of the projects have been suspended. If you want to rely solely on community power to develop, it is obviously that the effect is not ideal, and it is easy to fall into the fate of death.
So the question is, what is the reason behind the mass death of open-source projects? Or to put it another way, where are the shortcomings of open-source?
When the project is completely open-source, the source code is publicized to everyone, including some people who are ill-intentioned. Hackers have always been attacking the blockchain. After seeing the source code, the project party is also more likely to be overshot, such examples occur more frequently in the coin circle.
When a project has a technology level that exceeds the peers of the industry, the disclosure of code is tantamount to giving up the core technology directly. Random Ctrl+C can copy the project directly, which is very unfair to the creators. As mentioned above, 92% of open-source projects are on the verge of death. However, statistics show that projects with high replication ratios are more likely to survive. Because directly using other people's code, it is obviously easier than developing it yourself, and then there are more funds to do other things.
The most typical example is V god fought against the copy of Justin Sun. He directorly said that the TRX’s copy and paste of white paper is much more efficient than original.
Obviously, it is very irrational to judge whether a project is good or bad from the perspective of open-source, especially for some practical and technically leading teams, it is very unfair.
How to choose?
For a discussion about whether to be open-source or not, perhaps we can refer to another topic - decentralized exchanges or centralized exchanges. Absolute decentralization is not satisfactory in terms of efficiency, and the experience is very poor; The security issues of absolute centralization is also a source of concern. Therefore, a new balance has been derived, which maintains certain decentralized features, such as openness, transparency, fairness, and maintains some centralized features, such as more efficient, faster decision making, it's more helpful to do iterations.
In the early stage of project development, we need to rely on technical means to continuously upgrade to obtain user traffic. At this time, we can choose to make some code open-source, that is, some non-core parts are open-source, publicize externally, and win the trust of partners. Once the project development reaches the industry leading level, after the system has built a rich application, the code can be open-sourced one after another. At this time, even if there is a replication application, it cannot shake its industry status, just like Bitcoin is always Bitcoin because it appeared first, it has formed a consensus in the public mind.
I believe that as long as the project that dares to open-source indicates that the project has certain self-confidence to its own technical level, or has undergone extensive testing, after all, it is to publish all of its own information online for everyone to review.
Starting from the returning to zero of the copycat coin, I am not paying attention to any gorgeous packaging, but to really study the realization path of its technology. If it is theoretically impossible to explain the logic, even if it sounds pretty dizzy, it will not take time to pay attention to. If there is almost uniform business thinking in the white paper and no technical logic, no matter how active the community is, it is no more than a false prosperity.
In this regard, AtoXChain's technicians said that the existence of technology is to solve the problem that the traditional Internet cannot solve, rather than a stiff combination. The problem that can be solved simply by using the Internet does not need to be solved by a blockchain. This is simply unnecessary.