Open Source Makes Great Source
By Ellice McleanIntroduction
A software is said to be Open source means the source code of that software is available. It means the developers have decided to share the underlying program with the rest of the world.
Critical pieces of the internet are open source. In fact, if it was not for open source, we would not have the internet as it is today. For instance,
- The servers that power most of the websites is based on Linux, an open source operating system based on Unix
- Most operating systems today are based on Linux, such as MacOS, iOS (iPhone / iPad) and Android
- The encryption technology used by most of the planet is OpenSSL, a solid open source encryption program
- Most webservers online are based on one of two open source servers (Apache or Nginx)
- Most websites use an open source database MySQL / MariaDB
We are part of the movement
As an organization, we are using almost exclusively open source tools for our work. The website you are browsing, the applications, graphics, editing, all done on open source tools.
Part of our contribution, is that we help fix bugs, improve documentation and so on.
Open source does not mean you take for free, it means you are part of the development, regardless of what role you take on. There is always room to contribute.
Open Source is not free
A common misconception is that Open Source is easy and free.
It is the opposite. It can actually be more expensive and difficult. But it is defnitely faster (most of the time).
Here is why: We don't need to reinvent the wheel. Some foundational tools exist and have been ironed out over the course of many years (often decades). However, using them requires more technical skill as different tools are built with different technologies and have different standards.
Documentation is sometimes not up to date (as it depends on community members). You need to therefore have the skill to dig deeper when something goes wrong.
To have a complete production-ready system with open source you need engineers and leadership with much higher technical skills
But .. it is more secure
With open source you have access to most underlying blocks yourself and can validate if the tools used are secure. Many of the tools below have been thoroughly reviewed and tested for security.
Read this warning from the NSA about recent vulnerabilities in Windows. As the source code is not available, hackers discover vulnerabilities before anyone else by trial and error.
Our Stack
Ok, so here are the main tools we use. We likely missed a few things along the way, sorry if you are the developers. We'll be updating as we remember things :)
- Ubuntu (Linux) - Server operating system
- OpenSSL - For security
- NodeJS - JavaScript framework
- PHP - Server-side engine
- MariaDB - Database engine
- Atom - Development environment by GitHub
- Inkscape - Vector graphics
- Gimp - Image editing
- Synfig - Animation engine
- KDENLive - Video editing
- NextCloud - Content platform
- Collabora - Documents platform
- OnlyOffice - Documents platform
- GatsbyJS - For our websites (including our docs center)
- ReactJS - Display Engine for websites and apps by Facebook
Conclusion
Getting to market faster and better is a key component of any successful product. OneOffice directly competes (and in some cases surpasses) the major platforms of today. We can focus on our core features and leave some of the nuts and bolts to the community.
This way, we all leverage each other to get a better and more secure product.
Welcome to the age of technology sharing.
