This article will present part two of a two-part series giving my thoughts and opinions on open source systems and how ODIN Society plans to leverage the benefits of such. Additionally, I hope to highlight some of the projects made possible through open source.
Programming Language — A programming language is a set of commands, instructions, and other syntax use to create software programs, like games, web browsers and blockchains. Languages that programmers use to write code are called *“high-level languages.” This code can be compiled into a “low-level language,” which is recognized directly by the computer hardware.(TechTerms.com). Additionally, one could write a program in a low-level language, but this is only done in the event that you really needed the most optimal performance and weren’t able to trust the compiler to do it on your behalf.
- Examples of high-level languages include C++, Java, Perl, and PHP.
What languages are currently supported by ODIN?
What codebase is used within the ODIN ecosphere and where?
ODIN, in its infancy, has already delivered a host of products and services made available to the vibrant community base. Included in this growing list of products and services are ODIN’s flagship application, ODIN.chat and M.A.S.H., an easy to use masternode hosting service. Also, the ODIN Swag Shop where you can pick yourself up cool crypto-related merchandise. Additionally, future products and services such as a proof-of-concept Viking-themed RPG game are currently under development.
ODIN.chat → NativeScript, TypeScript, JS
M.A.S.H. → ES6, Vue, Node
P.O.C. Viking RPG → Typescript, C#, Node
Use of external products
ODIN Swag Shop → Ruby on Rails / Liquid / Turbograft
As the ODIN ecosphere continues to grow this will almost certainly coincide with the use of products and services provided through third parties such as Shopify, Medium, and other ‘plug and play’ examples. Outsourcing allows for our core team of developers and contributors to focus on building the products and services the ODIN community deserves. Someday, somewhere, someone will write something very similar to this explaining why their project adopted products like ODIN.chat while seeing their mission through and that puts a smile on my face.
Trust and Transparency
For a blockchain project such as ours, the most important thing is retaining the sense of trust our community has in us. This means continuing to operate in an open and transparent manner and to ‘bake’ those ideals into the very core of work, i.e. the codebase itself. If anyone can read how the system works, then they can see for themselves that we ‘walk the walk’.
Open-sourcing all of our code is just the start. The code itself needs to be improved and extended to support the latest and greatest advancements in security, decentralization, and optimizations. This is a lot of work! With open-source, we can enlist the very best in the world to assist with moving things forward to a brighter future.
Top open source projects
Among some of the top open-source projects are the Linux Kernel, online blog site Word Press, web browser Firefox (Chrome is closed-source, but uses an OS core, Chromium), and widely used operating system Ubuntu.
There are a variety of reasons why products like these exist as open-source variants of the widely used but closed source proprietary options. The main practical reason is that similarly to scientific research, a code solution is proven by peer-review. Often, OS projects are improved dramatically by the input of individuals who agree with the need and see the same potential.
While devs aren’t immune to feeling beyond constructive criticism, the benefits of collaboration far outweigh the consequences. Chief among the emotional motivators is the love for code. It’s an art form and open-sourcing your work is akin to letting the gallery watch as brush meets canvas. There’s a purity in pulling back the curtain.
Broadly Speaking we are Seeing More and More For-Profit Companies Opting to Open Source Projects
Some of the biggest tech companies have opted to open source their code for specific products. Take social media giant, Facebook, for example, open-sourcing parts of their system has positively affected the bottom line for the company. Some estimates have the company saving figures in the billions of dollars by letting the community tinker with, and make improvements upon everything from data management to general interfaces with, Cassandra and React, respectively. (Businessinsider.com)
Are there other benefits to open source your codebase?
Outside of the previously mentioned monetary advantages of open sourcing your code, there are a plethora of other reasons why big business could and probably should, at times opt for an open-source approach.
Increased size in qualified candidate base:
Imagine the following scenarios where a tech giant is bringing in a prospective candidate for a technical interview.
Scenario 1: The codebase is closed and proprietary. Sure, it used a lot of common commands, and the infrastructure is reasonably familiar to the candidate, but they’ve never gotten their hands filthy with this exact codebase. The interviewee may be asked to complete a series of objectives that involve problem-solving and manipulation of the code base, but how much can be done you’re simultaneously learning, exploring, and playing all while under the pressure of the scenario. Did the prospective employer get a good picture of the candidate’s technical capability? Probably not.
Scenario 2: The codebase is open source and freely accessible to the public. The prospective employee spent weeks tinkering with the code base, testing its’ limits, identifying flaws, and being inspired by past builds. The employee is brought in for their interview, and instead of spending valuable time in the exploration phase, they’re ready to have meaningful conversations, demonstrate competency, and perhaps give constructive feedback on the existing codebase with an articulation of how they feel their contributions will positively affect the project.
People make a living exploring the vulnerabilities of a system. You’re not doing yourself a favor when you limit the number of eyes on any given codebase. Oversight happens. Open-sourcing your project exposes the potential vulnerabilities to a broader set of eyes, thus allowing for earlier recognition and the potential to avoid critical foundational flaws.
Consider this: more than 90% of startups fail. This is a fact. Recognizing that this will occur allows a more rational approach when considering open vs. closed source options. Imagine a startup offers a proprietary solution for an ongoing problem you or your company has. You don’t know how it works, you just do. Your business or personal project is thriving. You have a growing customer audience base. All because of the solution provided by the proprietary software. You’re happy. Suddenly that hot new tech startup went belly up on you. Your initial problem resurfaces. You reach out for tech support. You get a dial tone since, of course, why would any bankrupt company provide ongoing support? You’re likely looking at hiring someone freelance, but good luck with that because, remember, this is closed source stuff. So now what you’re really looking at is a costly migration or start from scratch approach with a different platform. Either way, this won’t be pretty.
Conversely, you opt for an open-source solution from the start. The problem occurs, and you’re met with a bevy of options. You can source the vast network of competent developers who have worked on the issue for a quick fix. You can opt for the previous build without the flaw specific to your problem. You can reach out to a third-party support service provider and pay a premium, which admittedly isn’t fun, but is a viable option nonetheless. You’ve now solved your problem and never once had to face the existential threat of your business or personal project suffering because of something out of your control.
I recognize there are certainly arguments to be made for both open and closed source solutions, but I see more utility in open source.
About the author
Christopher Reeder is ODIN Blockchain’s Lead Content Strategist and Technical Writer. As an advocate and researcher, he is exploring technology’s impact on privacy.
Interested in Blockchain and Cryptocurrency Technologies? Join the ODIN community!
All community ongoings and official support take place on the ODIN Reddit. Free to join — get involved now!
Read more about how to get Ø(ODIN) here.