How times have changed. In the old days, an article about open source software (OSS) typically starts off by defending OSS as a viable alternative to proprietary software. To make its argument, it would defer to the Apache web server and the Linux operating system, both OSS centerpieces. Back in those days, OSS is almost synonymous with nonprofit organizations such as the Apache Software Foundation, the Linux Foundation, and the Free Software Foundation. To justify the adoption of OSS to the skeptical world, one would focus on the return of investment and argues how OSS lowers the total cost of ownership.
This article is about the dawning of the new OSS generation. We argue that OSS will dominate the market, which is a far cry from just being a viable alternative.
Open source software in 2017
New players have since entered the OSS market. The 2016 Future of Open Source survey, conducted with 1,300 companies across 64 countries, indicated that 65% of the respondents had increased the use of OSS in the past year.
World-class, for-profit companies, such as Amazon, Google, Microsoft, Facebook, and Twitter, are now major users and contributors to OSS. This is unthinkable back in the old OSS days, much like the teardown of the Berlin wall. These companies have open-sourced their own products, with the most notable being:
Amazon DSSTNE (pronounced "destiny"),
Google TensorFlow, and
Microsoft CNTK which stands for Computational Network Toolkit.
These 3 products share some common characteristics:
They are all software frameworks.
A software framework is the software infrastructure for solving a general class of problems. Unlike Drupal and LibreOffice which are application programs, the aforementioned new OSS are software frameworks, specifically in the area of pattern recognition. Amazon uses DSSTNE to provide product recommendations for its online customers. Google and Microsoft use their respective products in speech recognition, text understanding and photo recognition.
They are all core and mission-critical with their respective owner companies.
For an online retail business, product recommendation is unequivocally mission-critical. Yet, Amazon opted to open-source its product recommendation engine, DSSTNE. Not to be outdone, Google open-sourced TensorFlow, the pattern recognition component in its search engine business. Similarly, Microsoft open-sourced CNTK, the speech recognition engine that powers Windows and Skype applications.
No feature or licensing handicap.
The pressure is on for software vendors to release OSS that is uncrippled, fully functional, and freely distributable. The first open-sourced version of TensorFlow did not support distributed processing: it can only run on a single host. Google subsequently released another version of the software that can run in parallel across multiple hosts. The first version of CNTK that Microsoft open-sourced was restricted to only non-commercial use. Later, the restriction was removed to allow commercial exploitation of the technology.
If the aforementioned products are core to their underlying businesses, we have to ask why their respective companies have chosen to open source them. The rest of this article elaborates on the benefits and the future of this new breed of open source software.
Benefits of open source
Lowering cost is no longer the number 1 benefit. The new buzzwords for OSS are innovation, quality, and speed of adoption. If helpful, we will illustrate using the example of Drupal, an open source Content Management System (CMS).
By definition, the source code for OSS is made available to everyone. This attracts a large, global community of committed contributors who share the passion and want to make the software better. The Drupal community claims to have over 1 million "developers, designers, trainers, strategists, coordinators, editors, and sponsors."
In traditional proprietary software development, one person (or a small group) determines the vision and direction of the software. In contrast, OSS is characterized by the free flow of ideas among members of a large community with diverse skillsets and experience. End decisions are made based on merit, not seniority. As a result, OSS is a much better nurturing ground for innovation than its proprietary counterpart.
Given that the source code is open, and that a large pool of developers is available to work on it, the development cycle for OSS is typically shorter. Product features are rolled out and bugs are fixed in frequent software updates. With more eyes on the problem, security holes can be spotted earlier and fixed sooner.
Members in the community who are not developers can contribute in their own ways to make a quality product. Writers and editors contribute by writing documentation. Everyone in the community is presumably a user, and can provide feedback to the team, and answer questions in the support forum.
Companies can customize open source software to satisfy their unique requirements. Subsequently, they can contribute the code back to the community to make the product even better. Drupal 8 represents the quality end result of work done collaboratively by 4,500 individual and corporate contributors. It has over 200 new and improved features, and is made available in 100 languages.
Most OSS is royalty free: you are not charged any money to use it. However, there are several different OSS licenses in the market. So, you must read the licensing terms carefully.
OSS is generally free because it is developed and supported by a community of volunteers. Drupal has a large repository of free modules (30,000+) and themes (2,000+). The development cost is close to nothing, unless you decide to customize a module or theme yourself.
Many companies do customize OSS to satisfy their own unique requirements. This adds to the total cost of ownership for OSS. Yet, the cost is largely constrained because you are not starting from scratch.
When you buy proprietary software, you are locked in to that particular vendor, and become susceptible to its pricing changes. For OSS, you can choose from a sufficiently large supply of contractors who do custom work for OSS. Because the source code is opened, you gain the freedom to switch vendors.
Overall, the total cost of OSS is still lower than that of proprietary software, making it more affordable.
If you use proprietary software, you are tied down by the company's product roadmap which may cater more to the fiscal reporting periods than to its technical merits. With its open platform, OSS development accelerates at Internet speed. The developer base and the installed base are distributed around the world. This means that requirements are gathered around the clock, features are designed and coded 24x7, and bugs are squashed non-stop.
Not only is OSS being developed at a breakneck pace, the scale of its adoption is nothing but phenomenal. Take Drupal and CMS as an example. Drupal has an installed base of over a million websites. With this many websites, a would-be customer can look at any number of them to find the right features to use in his own website.
Future of open source
The future of OSS is in the cloud. 76% of all respondents in the above cited 2016 survey claimed that they had plans to use containers. The cloud is not just a repository where OSS contributors network and store their code and document artifacts. It will become the deployment platform of choice for open source software.
OSS is becoming a commodity in the world of software development. Companies will expect more and more enterprise software to be OSS. They will expect OSS to remain free and be of the highest quality. They will expect their ideas and feedback to be heard in the larger community, and readily included in the constant software updates which will continuously benefit them.
Open source is playing a bigger and bigger role every year, and there is no doubt that its future is full of possibilities. And which open software do you use? Share your thoughts with us in a comment section below.