Open-source is a wide topic, which we could ramble on and on all day long. Probably we wouldn’t win any ‘life of the party’ rewards after that but that’s the cost of getting too deep into the topic.
To avoid snore noises from the audience, we’ll try to keep it simple.
You’ve probably heard this term a million times but do you really know what that is?
We’ll tell you!
Open-source is a source code, design, recipe, etc. that can be further used or improved without any legal consequences from the origin author. Any user can download, copy, modify, use it commercially and literally do anything with it (but you know, be good).
The open-source model is a decentralized software-development model that encourages open collaboration. That means, it is not only “take-and-use-for-your-own-purposes” thing but often its collaborative improvement over the product.
Take the most popular example, Linux system is an open-source product which is improved by many (in 2017 it was roughly 15,600 developers according to this report
) and to this day still developing.
To achieve such a great community distribution to the project, the project itself has to be worth the effort, it should bring joy and pride to the developers themselves, which Linux perfectly does!
Some important links before we go further:
Is that secure?
Free, open, available to everyone, collaborative improvement - have all this trigger your alarm system?
Have we completely forget about those, who has evil agenda?
Because open-source has a rule of ‘No Discrimination Against Persons or Groups’, then even bad ones has access to the source code.
The question is do we have security tools against them?…
…and the answer is: to some point.
It’s not that easy to put malicious piece of code into someones repository. One would have to has access there first and then pass the code review.
Also it could be done differently - additional malware package could be added to the download page.
Or righteous developers simply hadn’t think through every potential security issues and now enemies have open gates to do monkey business.
Methods are clever and numerous, making impossible to describe them all. That’s why users has to be always aware of potential danger and avoid perilous actions:
always download code source from trusted sites and make sure you’re downloading official release,
check whether online repository in which source code is stored on has security support (like code-scan bots, autofixes etc.),
support projects which gains your trust, try to find ones where authors are not anonymous and that have solid community.
Also it is very important (yet hard to check) that developers reviews code in a proper way. When it comes to open source and working with volunteers there shouldn’t be such thing as “taking a look” into the code.
It should be always check whether code acts as described or not. Otherwise backdoor could be implemented somewhere and that’s when we’ve got a problem.
Why we need that?
It’s so much easier to scratch the itchy spot oneself than trying to explain where it is to someone else.
So open-source could work that way that user who needs something or has an idea to improve anything, could do it.
Contribution to the project you use and you need makes a bunch of benefits such as:
better product working,
satisfaction out of other users approbations,
better product understanding,
bigger commitment to the product, making it living longer…
…and incentive to other users and contributors to use or commit to the product.
It’s worth mentioning that improvements are not only to the functionality of the product but what’s even more important, also to the security. As has been said before, the variety of possible attacks is wide and really hard to handle, so users’ commits to this matter are crucial.
When it comes strictly to the cryptoworld, open-source brings those benefits:
helps building decentralization…
…which makes cryptocurrencies independent from corporate interest,
allows self-checking the code, so you know where you put your money to…
…which allows participants to trust each other.
And when we put all that together we get a whole ecosystem with committing users, who help build decentralization and taking care of security matters, who use products themselves and encourages others to do so as well.
Developers who take source code and bring new projects based on that into the cryptoworld help “populate it” to make it more fit, useful, and friendly to regular users so everyone could join and found a product that is good for them.
It’s happening right now, crypto based ecosystems are vast spreading, developing, and becoming more and more important in the real world every day with the hope of becoming the future of world finance.