Decoding Data & AI: What is open source and what are its advantages?
Software is an important part of your business, but installing and maintaining it comes at a significant cost. But do you know that a lot of the apps used by your business actually come free of charge? And some of those components might even be key for your organization!
But why would someone want to build software for free? How would they make money with it? And how should you decide whether to use free vs. paid software for your particular project? This installment explores open source software – a concept that was developed back in the 80s, but remains instrumental to the software development industry to this day. You may have heard, for example, that some AI models - like Meta's LLaMa - are open source, while others - like OpenAI's GPT-4 - remain closed. What's the difference?
How did the concept start?
At the dawn of software development in the 1970s, all code was freely shared between developers. However, as the software industry grew, the practice of keeping source code proprietary became more common. The source code for your Microsoft apps (like Excel and PowerPoint) for instance is proprietary, meaning that even if you buy the product, you cannot check out how it works, or optimize it in a way that would work better for your business.
Since he wanted to preserve the spirit of being able to understand and modify any software you are using, Richard Stallman, an MIT alumnus and influential computer scientist, gave this idea the name we still use today: he established the Free Software Movement which was later renamed into Open Source Software Movement.
In contrast to proprietary software engineering, open source code is available to the public, allowing anyone to inspect, modify, and enhance the software. The open source concept also promotes collaborative development, transparency, and community-driven innovation, making OSS a foundation to some of most important technology out there.
Famous Open Source Projects: Now and Then
You’d be surprised to learn how much of the software used by your organization is actually open source.
For example, (probably) all servers used by your company run on Linux - an open source operating system developed by the Finnish computer engineer Linus Torvalds in 1991. The code for this is completely open, so you are free to copy it, modify it if you like, and use it to run your servers. Fun fact: Android, the operating system powering about 70% of all smartphones in the world, is also an open source project, based on the Linux kernel.
Git is another example of an open source project that is used by literally every software developer around the world, and is essential for collaborative software development. Platforms for collaborative code development, like GitHub or Bitbucket, are all based on Git. Even though Microsoft has since bought the website GitHub, the software itself remains open source and free to use by anyone.
Even some extremely expensive AI projects out there are open source. One famous example is LlaMa – the large language model developed by Meta. According to Mark Zuckerberg, LlaMa will remain an open-source project, as long as that aligns with the business strategy of Meta. So for LLaMa, Meta has paid many millions of dollars for the development, but now it is offering the full code openly on the internet for anyone to incorporate into their projects. Why they might be doing that, we will come to shortly.
Incidentally, the software that is used to create today's amazing AI applications is also mostly open source. For instance, TensorFlow - the software that made the development of deep learning widespread, was developed by Google, but offered under the open source license.
So why develop open source?
Imagine yourself in the shoes of an open source developer: you invest many of hours at night after your paid job into creating this piece of code. Then your friends from the open source community join your efforts, working hard on finding and fixing all of the bugs in your code. And then some other company takes that code that you posted for free, turns it into a commercial product, and makes a lot of money with it.
Many open source programmers are probably motivated by the spirit of openness that drove Stallman and Torvalds, but for companies like Meta and Google, there are concrete advantages to offering some of their products as open source.
First, by publishing the code openly, the developer can crowdsource both the finding and fixing of bugs, as well as the further development of the software. Since users of your product want to use it most productively, all of them have an incentive to find and fix any bugs or security gaps, and to improve and develop it. Therefore, it is often the case that OSS is more reliable and secure than proprietary software. For a bug in a Microsoft product, for instance, the company has to rely on internal testers to find it, and paid engineers to fix it.
Second, if your goal is capturing market share, open source can really drive this forward. Android, for instance, is the dominant mobile OS as it is offered freely, and can be adapted by phone manufacturers to their specifications. At the same time, it brings other Google apps onto users phones, thus cementing Google's dominance in those other areas.
Should you move towards OSS?
As mentioned above, a lot of your IT infrastructure most probably already is open source. But should you push it even more, and save a lot of money on software licenses? The answer is - it depends on the situation as well as your strategic goals and your current IT setup.
Open source can save a lot of money on licenses and — in many cases — be more stable and reliable than proprietary software. On the other hand, they have to be configured as well as routinely maintained and updated by a dedicated team —- no Microsoft auto-updates here. If you do not have a motivated IT team or a trustworthy partner to do this, relying on customer support of a big software company may be better for you.
Second, if your main goal is seamlessness in the integration of your different systems and apps, it may make more sense to take all products from the same vendor. Connecting open source systems is nearly always possible, but it requires more manual configuration and individual setup.
Nevertheless, if you decide to go with open source but do not want to expand your IT team, there are companies specializing in setting up and maintaining OSS solutions for you, so you remain secure and up to date while still saving on license fees.
Want to learn more about OMMAX's expertise in data & AI? Get in touch with our experts through the form below and sign up for our Decoding Data & AI series!
Contact an expert
Do you want to know more about our expertise? Get in touch!
Sign Up for the Newsletter
Development and Execution of a Customized Digital Growth Strategy