Juhana Huotarinen is a lead consultant of software development at Gofore. Juhana’s background is in software engineering and lately, he has taken part in some of the biggest digitalisation endeavours in Finland. His blogs focus on current topics, involving agile transformation, software megatrends, and work culture. Juhana follows the ‘every business is a software business’ motto.
Open source is everywhere in today’s software business. Open source is found in programming languages, operating systems, frameworks, databases, standards and even machine learning models. However, structures behind open source projects have changed.
Rise of free sharing
Open source software is software that anyone can inspect, modify and enhance. The concept of free sharing of technological information existed long before computers. However, the concrete open source movement took the place in the ’80s, when the GNU project started and the Free Software Foundation was founded.
Almost all of the early years open source components were invented by individuals, communities or small or non-profit corporations. In that time big players such as IBM, Oracle and Microsoft were focusing on their own proprietary ecosystems. Early in the millennium, former Microsoft’s CEO Steve Ballmer even famously described the Linux open-source operating system as ‘communism’ and ‘a cancer’.
Traditionally in the software business, the strategy has been to build and license technologies and sell them. The vendor lock-in approach where a customer is dependent on applications and the source code has been a typical asset for tech companies. However, the technology landscape was ready for contemporary players.
The next generation of tech giants such as Google, Facebook, Amazon and Netflix are closely linked to open-source projects and communities. For tech giants, open-source is a part of their technology strategy, not enemy territory. Here are a few reasons why open source is a smart move in the long term.
Implementing and maintaining numerous technologies is extremely costly. Lowering development costs by building open source components for free could have a huge impact on the company’s profitability. There is, for example, an estimate that Facebook’s Open Compute project has saved them $2 billion in data centre costs.
Hiring a good developer is never an easy task. Open source helps to mitigate this global challenge. First, it promotes company branding. A good company culture is a mechanism for attracting the right people and retaining its workers. Working closely with open source communities gives the impression of a transparent, generous and people-friendly company.
Secondly, developing relationships with an open source community results in a pipeline of developers who are familiar with the open source technology and are excited to help work on it. The community engages experts around the world who are interested in solving similar problems and developing exciting technologies. The more well-known the open source technology is, the more candidates are available for the company.
The best way to make sure the kitchen is clean is to keep it open. The same analogy works with software development. According to many researchers, open source code tends to be of better quality (i.e. fewer defects) than propriety code. A bigger number of contributing developers, peer pressure and larger variety are just a few reasons why. In the best case scenario, the open source component becomes an industry standard.
Old tech giants changed their strategy as well. Oracle acquired Sun Microsystems which was the company behind Java. IBM followed the approach in 2018 when it took over the largest open source company Red Hat.
The biggest transformation happened to Microsoft. The company decided to open source the .NET platform and released Visual Studio IDE for free. In addition to this, Microsoft plans to ship a full Linux kernel directly in Windows. Nowadays Microsoft is one of the top corporate contributors to open source projects.
However, tech giants’ active role in open source doesn’t come without a price. A painful example is the popular front-end framework AngularJS, invented by Google. Google decided to re-write the new version of AngularJS and stop support of the older version. This upset a large number of organisations and developers because they needed to completely refactor their applications.
Love of power
The tech giants have realised that company value does not come from technologies, but instead from culture and capabilities. Open source projects fit perfectly with this mindset. In addition to this, open source adds a new tool for the tech giant’s engagement strategy.
The result is that a few tech giants contribute to the largest number of open source projects. The dream era, where open source projects were the way to express, learn and have fun, is over. Open source has turned into a business and its rules are defined by some whose intentions are ambiguous.
Examples of open source projects contributed to by tech giants
Amazon –Deep Learning model library DSSTNEC, Amazon Ion Java
Facebook – React, React Native, GraphQL, Open Compute Project, PyTorch
Google – Android, Angular, Kubernetes, Tensorflow, Go
IBM (Red Hat) – Fedora, CentOS, Apache Spark, Ansible
Microsoft – .Net, Visual studio Code, TypeScript, RxJS
Netflix – Chaos Monkey, Hystrix
Oracle – MySQL, JDK
Twitter – Twitter bootstrap, Aurora, Storm