Twenty-two years ago, I attended a few lessons about a „new“ operating system, Red Hat Linux 4.2. At that time, my notes about the training were basic commands, enough to fill a little sheet of paper: my first cheat sheet for Linux.
A couple of years later, I was still trying to figure out how to configure devices, a graphical interface, and find real use cases for the operating system… In 2001 I started working as the IT manager for a new institute named Cenfotec, in San José, Costa Rica.
This institute was making a difference, with a project to supply wireless connectivity for all the students, one of the first brand new wireless networks based on 802.11b in the entire country: can you imagine that?
Simultaneously, the most curious students started playing around with versions of Linux like Mandrake: that was a challenge for me, because, as I was supposed to work with them, many of the computers only had drivers for Windows. I started doing some research about the drivers and the kernel modules, I made many tests, and the trial and error gave me satisfactory results.
After three months all the computers running Linux were working smoothly. Now I can say that moment changed my life forever: I saw the incredible potential you can reach using an open source operating system.
Pronto, all the solutions for everything you need are now at your fingers, powered by a dedicated community.
My first steps in the world of web development were with Apache Tomcat, a small but powerful software, the one I learned to make web applications (with JSP and Servlets) on, falling deeply in the Java world. I had to install that server and did not know how it worked: I started reading and researching and found much information.
It was like love at first sight. After web developing, it wasn’t easy to rollback my mind and get back at developing with client-server or windows-based applications. The opportunities were endless, but that was technology ahead of its time.
I think that for everyone there’s a before and an after at the time Apple launched the iPhone: it was a disruptive technology, which moved the floor of many companies and completely changed an environment that dominated by proprietary and desktop software; it was indirectly the thing that ignited the spark for one of the as many projects as Android to take off; besides, made possible for a series of technologies to explode. Many of them had a common denominator: open source.
Programming languages and databases empowered gigantic applications such as social networks, which no longer needed a web page, and had their mobile apps.
All of this further reinforced my idea that anything you imagine can be done with open source software, and since then, open source software is part of everyday life.
Open source software has made me grow in my professional life because it allows me to be more competitive when I supply a technological solution to a client.
The fact of using operating systems, programming languages, databases, tools, and software that does not require the disproportionate payment of licenses, means the implementation costs of a project are proportional to your knowledge and effort. You can get more value for your work, especially if you are working with startups or small businesses which can’t afford an expensive solution.
Last year I was invited to present a call centre solution with a new client. The answer I gave them was based on VICIDial; it was an exciting challenge because I installed a Proxmox server in a cluster to offer high availability, the VICIdial is based on the Linux openSUSE distribution, the database is MariaDB, the IP based telephony software in Asterisk and the application running on an Apache HTTP server with PHP and JavaScript, it is a full-stack solution in every way you see.
You can say: as open as it can be…
The client saw the software and was able to verify that the software met all the requirements they had.
Two hours after the presentation, I received the call asking when we would start the project. To date, the project has grown even more: the client is satisfied with the solution, which has generated a lot of work for me.
Today, if you are a professional in information technology, a developer, an infrastructure manager, network administrator, data scientist, some facts are irrefutable, you must have discipline, you need continuous learning, and, the most important thing, you cannot go alone.
What I like the most about the open source software community is the ability to solve anything, and the solutions you find evolving over time, as the knowledge becomes specialized and the software is better. That feeling that people are sharing their knowledge and experience to help someone else is something invaluable.
Choose a topic or technology, learn it, then try to teach it; share your knowledge, and let other people share their knowledge with you too; support open source projects when you can, buy support, donate when you think it is necessary to reward the effort of very good people behind that code.