The Evolving Paradigms of Open Source Software in Engineering Services
This blog was originally published on LinkedIn by Panchanan Pradhan
Open source software use in business has come a long way since the first LinuxWorld Conference & Expo was held in San Jose, California, in March 1999. Linux had been around as an operating system since its invention in 1991 by Finnish-American developer Linus Torvalds, but its use in business computing was just beginning to germinate by the early 2000s. Today, open source software powers the Internet, much of the world’s cloud computing infrastructure; and has permeated the engineering services space in unimaginable ways.
Technical teams are gradually shifting focus towards open source projects to achieve business outcomes with increased efficiency and agility – two critical operational benchmarks in high-growth engineering organizations. Open source is the future of the engineering business – a recent report by Gartner and Forrester indicates that between 80%-90% of software developers use open source components within their core applications. With more organizations leveraging open source as a “foundation or complete solution” in building enterprise grade software applications, this number is only expected to surge in the coming years.
Benefits of Open Source
Open source software licensing doesn’t impose any restrictions on copyright and offers several benefits to the global engineering community.
1. No need to re-invent; simply adapt and integrate: As open source components written by an experienced software engineering community are readily available, there is no need to re-invent the wheel to develop code from scratch; however, it is necessary to adapt and integrate the code to suit application specific use cases. For easier and seamless integration, an integration layer can be created to easily integrate multiple open source components keeping the interfaces separate from the implementations.
2. Cost-effective solution leading to faster time-to-market: As the code is readily available, there is relatively low investment required as compared to writing code grounds up. This helps in creating an open source based cost-efficient solution leading to faster application deployment and time-to-market.
3. Assurance of quality, stability, security: The code is developed by an international community of experienced software developers with stringent quality assurance processes in place. As the community becomes more and more vibrant, developers keep adding and improvising functionalities. Developers and users review and fix bugs and security lapses to make the code highly stable, secure, and reliable. After all, how can the bugs hide from millions of eyes!
4. Better support from the user-developer community: Open source community of developers and users creates a nice ecosystem to give and receive technical support and advice. Knowledge sharing across the community enables users to benefit from the expertise of skilled developers, resulting in a symbiotic relationship among all users of open source software. Also, as more users start using open source components, the roadmap eventually evolves to have newer features and functionalities for the benefit of all users.
5. Enhanced coding skills and sense of excellence: Open source projects set high standards in coding best practices and provide a platform for engineers to hone their code writing skills. Reviews by the global software community leave room for further improvements, challenging engineers to critically check their own code and write better in future. By writing new capabilities and bug fixes in the code, in-house developers get a sense of excellence when they are presented a chance to rub shoulders with world-class developers and their brilliantly written code snippets. Open source imbibes a sense of giving back to the community when engineers passionately work on code that is used by other users across the globe.
6. More than just code: When engineers write open source code and contribute to the community, they bond with the community of software developers and forge important global partnerships in the process. These collaborations fuel knowledge sharing and staying abreast with the current technologies and trends across the industry. Apart from continuous innovation, this presents opportunities to engineers to position themselves as thought leaders in this space. Open source collaboration often creates opportunities to share software knowledge at industry conferences, thus upping the motivation quotient for engineers to learn and share. Also, a sense of contributing to the community and helping in creating a better world serves as a big morale boost.
7. Top talent: The global community of smart engineers is very passionate about open source projects and prefers to be associated with organizations that promote the use of open source software. Open source empowers engineers to innovate and showcase their software development and coding skills in addition to writing just vendor-specific code. Organizations that use open source are more likely to attract top engineering talent who look for challenging and interesting opportunities.
Future of Open Source
With open source technology having been around since quite a long time now, a thriving global community has grown around it; so, code is shared among developers and everyone can test, re-build, and learn from one another. As the industry has begun adopting open source technologies in almost all verticals, many new technologies have used open source as their very foundation. The next few years are likely to witness certain key trends in the global open source ecosystem:
- A Growing Focus on Security, Performance, and Innovation
Critical open source deployments across enterprises will be governed by comprehensive security protocols given the increase in vulnerabilities and breaches across industries. The future will witness the introduction of automated tools to identify and repair open source security lapses. Also, the community will put in efforts to make the code more performant to cater to different use cases across various industries.
- Open Source Cloud and Rise of Open FaaS
Open source cloud computing is increasingly being deployed by enterprises to achieve transformational growth in their digital journey. Public, private, or hybrid cloud models built using open source provide IaaS, SaaS, and PaaS services that operate totally on open source technologies and offer more agility, scalability, and flexibility to engineering organizations looking to drive growth.
One of the trending open source technologies is serverless computing including Functions-as-a-Service (FaaS). According to Gartner, OpenFaaS – the open source project for this technology – is a revolutionary cloud agnostic ecosystem that helps developers write code based on a specific standard without worrying about the underlying virtual servers or cloud providers. FaaS is evoking heightened industry interest owing to its capability to keep the lock-in potential low and help in leveraging new technologies with minimal risk and low cost.
- Convergence of Mature, Disruptive Technologies
The growing thrust on open source has led to the rise of new technologies built on this very foundation, such as Artificial Intelligence (AI), Machine Learning (ML), Blockchain, Big Data Analytics, the Internet of Things (IoT), Virtual Reality (VR) / Augmented Reality (AR), etc.
Machine Learning engines – both supervised and unsupervised, frameworks, and various tools are available as open source code. ML engines that have been open sourced by various IT giants include Google Cloud Machine Learning Engine, TensorFlow by Google, Amazon’s ML engine for AWS, Unity ML Agents, Apache PredictionIO, Microsoft Distributed Machine Learning Toolkit, etc. As the adoption of ML grows across all verticals and industries, ML technologies innovation based on open source will be on a rapid growth path.
Blockchain technology is rapidly undergoing intense development as it provides an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value. There are various Blockchain platforms based on open source such as HyperLedger for cross industry interoperability, Etherium as a centralized platform for running smart contracts, OpenChain for distributed ledger technology, etc.
Like open source technologies powering the Web, IoT requires the same level of ubiquitous common access in its core functions and to the Web for shared accessibility. With IoT deployments in the near future expected to connect and integrate globally with billions of devices, assets, sensors, and end points, open source IOT platforms such as Kaa IoT, ThingSpeak, DeviceHive, etc. will witness increased adoption.
Open source software and Big Data go hand in hand these days as today’s applications can handle diverse data in an effective manner, even as it grows exponentially in variety, volume, velocity, and veracity. Various open source based platforms and tools such as Apache Hadoop, Cassandra, KNIME, RapidMiner, AVRO, etc. are widely adopted in the Big Data analytics domain.
Open source is fast becoming mainstream with organizations leveraging the benefits of increased agility, cost savings, innovation, and engaged talent offered by the system. Open source technologies drive success today and will continue to do so in the future in reshaping the digital transformation and makeover of tech enterprises from “digital immigrants” to “digital natives”, further fueling their business growth and competitive advantage.
Panchanan Pradhan is the VP, Head of Engineering & Product Delivery in Subex. He is responsible for leading the product development / engineering organization at Subex, for design & delivery of next generation Subex products and solutions. Prior to Subex, he worked in Huawei Technologies and Nokia in end to end product development and engineering delivery in BSS/OSS domain. He holds a bachelor degree in Computer Science & Engineering from National Institute of Technology (NIT), Calicut.