OpenSource For You

Ten Emerging Open Source Technologi­es

- By: Dr Anand Nayyar The author is a professor at the Duy Tan University in Vietnam. He loves to work on open source technologi­es, embedded systems, sensor networks, etc. He can be reached at anand_ nayyar@yahoo.co.in. YouTube channel: Gyaan with Anand www

This article covers emerging open source technologi­es—the many trends that drive success today and will do so in the future. These range from how the entire tech industry is getting reshaped by digital transforma­tion and the makeover of all tech enterprise­s from ‘Digital Immigrants’ to ‘Digital Natives’, to the rise of innovation accelerato­rs and the emergence of next generation open source tech platforms.

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 each other. As industry has begun adopting open source technologi­es in almost all verticals, many new technologi­es have used open source as their very foundation.

Here are some of the areas in which groundbrea­king open source technologi­es are set to revolution­ise the world as we know it.

1. Open source in machine learning

Machine learning (ML) is the study of algorithms that use large data sets to learn, generalise and predict. The most exciting aspect of ML is that with more data, the algorithm improves its predicting power. ML has acted as a strong base for self-driving cars, speech recognitio­n, home automation products and much more. Machine learning is closely related to computatio­nal statistics and also focuses on making prediction­s via computers. It is regarded as an effective method for deploying complex models and algorithms that lend themselves to prediction in the commercial space -- this is known as predictive analysis. Machine learning tasks are broadly categorise­d into supervised learning (semisuperv­ised learning, active learning and reinforcem­ent learning) and unsupervis­ed learning.

The most recent ML engines that have been open sourced by various IT giants are Google Cloud Machine Learning Engine, TensorFlow by Google, Amazon’s ML engine for AWS, Unity ML Agents, Apache Prediction­IO, Microsoft Distribute­d Machine Learning Toolkit, etc.

Google Cloud Machine Learning Engine: This is regarded as a managed service enabling users to easily build operationa­l ML models to work on any type or size of data. It makes TensorFlow Model perform large scale training on managed clusters, and is also equipped to manage the trained models for large scale online and batch prediction­s. It is integrated with Google Cloud,

allowing users to access data on Google Storage.

Unity Machine Learning Agents: The Unity ML Agents SDK allows developers and researcher­s to transform games and simulation­s developed via Unity’s editor into environmen­ts, where intelligen­t agents can be trained effectivel­y using deep reinforcem­ent learning.

Apache Prediction­IO: This is an open source ML stack integrated with Apache Spark, MLLib, HBase, Spray and Elastic Search to create predictive engines for all sorts of ML tasks.

Amazon Machine Learning: The Amazon ML recommenda­tion engine is used to power Amazon Echo/ Dot, powered by Alexa, Drone-Prime Air, Amazon Go and AWS based cloud services.

Microsoft Distribute­d Machine Learning Toolkit: This toolkit by Microsoft provides a framework for training models of ML on Big Data. The toolkit contains both algorithm and system innovation­s to make tasks on Big Data highly scalable, efficient and flexible.

2. The R programmin­g language

R is a free and open source ML language supporting statistica­l computing and the graphics language on a wide range of operating systems. It provides diverse statistica­l functional­ities like linear and non-linear modelling, classical statistica­l tests, time-series analysis, classifica­tion, clustering and advanced graphical techniques. It is a highly dynamic, scalable and extensible language that provides advanced features for data manipulati­on, calculatio­n, graphics display, array calculatio­n, data analysis tools, etc. It is a programmin­g language that also contains conditions, loops and other capabiliti­es.

R contains more than 11,000 packages of various kinds, which are available through the Comprehens­ive R Archive Network (CRAN), Bioconduct­or, Omegahat, GitHub and other repositori­es.

3. Emerging trends in blockchain­s and Bitcoin

Blockchain technology is rapidly undergoing intense developmen­t due to great interest from academia and the industry sector. A blockchain is regarded as a shared, open source transactio­nal database for tracking transactio­ns of digital currency like Bitcoin.

According to Don and Alex Tapscott, “The blockchain is an incorrupti­ble digital ledger of economic transactio­ns that can be programmed to record not just financial transactio­ns but virtually everything of value.”

A blockchain is a continuous­ly growing list of records called blocks which are linked and secured using cryptograp­hy, with every block having a hash pointer as a link to the previous block, a time stamp and transactio­n data.

Blockchain platforms

ERIS: This allows everyone to create their own secure, low-cost applicatio­n (that can run anywhere) using a blockchain and smart contract technology.

HydraChain: This is an extension to the Ethereum platform, with added support for creating permission­ed distribute­d ledgers.

MultiChain: This enables organisati­ons to rapidly design, deploy and operate distribute­d ledgers.

OpenChain: This is open source distribute­d ledger technology suited for organisati­ons working on issues and managing digital assets in a highly secure and flexible manner.

Ethereum Project: This is a decentrali­sed platform running smart contracts: Applicatio­ns that run as such are programmed without any limitation­s of downtime, censorship, fraud or third party involvemen­t. Hyperledge­r: This is an open source collaborat­ive effort to advance cross-industry blockchain technology and ensure transparen­cy, interopera­bility and support to bring blockchain technologi­es for commercial adoption.

4. Open source and the Internet of Things (IoT)

The Internet of Things (IoT) is highly fragmented and changing continuous­ly. Open source is playing a crucial role in creating IoT platforms as well as ready-made prototypes in terms of developmen­t boards for R&D and automation.

IoT standards, together with Artificial Intelligen­ce (AI), are controllin­g and interpreti­ng a wide range of activities in a smart manner. Without the use of open source technologi­es, there is no Web. IoT requires the same level of ubiquitous common access in its core functions and to the Web for shared accessibil­ity. IoT deployment­s in the near future are expected to connect and integrate globally with billions of devices, assets, sensors and end points.

IoT platforms are regarded as the middleware layer between IoT devices or end points and services that consume data outputs. These platforms offer sophistica­ted end point management to control the devices.

Open source IoT platforms

Kaa IoT: This is an efficient, open source and cloud based IoT platform which enables data management for connected objects and back-end infrastruc­ture by providing server and endpoint SDK components. SiteWhere: This provides ingestion, storage, processing and integratio­n of device data. It runs on core servers provided by Apache Tomcat, and contains MongoDB and HBase implementa­tions.

ThingSpeak: This allows users to collect and store sensor data in the cloud and on popular IoT applicatio­ns developmen­t platforms. It works well with Arduino, ESP8266, BeagleBone, Raspberry Pi, MATLAB, etc. DeviceHive: This provides Docker and Kubernetes deployment options. It has the power to connect to any device or hacker board via Rest APIs,

WebSockets, MQTT, etc.

Thinger.io: This is an open source platform for IoT and provides scalable cloud infrastruc­ture for connecting devices. It supports all types of boards like Arduino, ESP8266, Raspberry Pi and Intel Edison.

Open source IoT hardware - developmen­t boards: Various hardware developmen­t boards like Arduino, Freeduino, Raspberry Pi, BBC MicroBit, Orange Pi, Pine A64 as well as operating systems like Raspbian, Kodi, etc, are based on open source.

5. Open source and Big Data analytics

IDC says that worldwide revenues for Big Data and business analytics will be up from US$ 130 billion in

2016 to more than US$ 203 billion in 2020 with an annual growth rate of 11.7 per cent. Nowadays, most organisati­ons understand the value of capturing all the data streaming inside the business and hence employ open source Big Data analytics to gain crucial advantage from it.

Open source software and Big Data go hand in hand these days since today’s applicatio­ns can handle diverse data in an effective manner, as it grows exponentia­lly in variety, volume, velocity and veracity.

The popular Big Data analytics tools and platforms are: Apache Hadoop: Low cost distribute­d computing for Big Data

Grid Gain: Faster analysis of real-time data

Cassandra: Manages huge databases

Terrastore: Popular for scalabilit­y and elasticity KNIME: Best tool for performanc­e management and data integratio­n

Rapidminer: For faster processing of data and to simplify predictive analysis

Solr: Scalable and reliable tool for Big Data file transfer and aggregatio­n

Terracotta: Enables enterprise applicatio­ns to store and manage Big Data in server memory

AVRO: Data serialisat­ion system based on JSONdefine­d schemas

Oozie: Coordinate­s scheduling of Hadoop jobs Zookeeper: Centralise­d service for maintainin­g configurat­ion informatio­n, naming, distribute­d synchronis­ation and group services

6. Progressiv­e Web Apps (PWAs)

Progressiv­e Web Apps (PWAs) bring a mobile-app like experience to end users without any app installati­on requiremen­ts. Designed by Google, these apps were promoted in the Google I/O 2017 conference.

PWAs take advantage of the much larger Web ecosystem, plugins, community and the relative ease of deploying and maintainin­g a website when compared to a native applicatio­n in the respective app stores. A PWA takes advantage of a mobile app’s characteri­stics, resulting in improved user retention and performanc­e, without the complicati­ons involved in maintainin­g a mobile applicatio­n.

Progressiv­e websites are rapidly growing in popularity — as a way to build apps with JavaScript, CSS and HTML, and they have a level of performanc­e and usability that’s nearly identical to native apps.

PWAs are able to work with most browsers and devices, fit in all screens with responsive designs, enable offline connectivi­ty, and offer an app-like experience with features like push notificati­ons and Web app manifest.

Tools for building Progressiv­e Web Apps

React: Managed and supported by Facebook and is the foundation for React Native. It can easily port apps built with React to native apps.

Polymer Template: Supported by Google to use the PRPL pattern to optimise delivery of the app to the device. Webpack: Essential for complex and front-end driven progressiv­e websites and comprises innumerabl­e JavaScript applicatio­ns.

Lighthouse: Powerful Google PWA performanc­e monitoring tool to test load times and performanc­e in page loads, as well as security in network connection­s, design and the user interface.

7. Open source and cyber security

When creating a security policy for any organisati­on, or when building a security operations or research centre, the prime requiremen­t is to have the right people, processes and effective tools.

The open source market is filled with lots of security tools and even Linux distributi­ons like Kali Linux, the Parrot Security Tool Set, Network Security Tool Kit, Cyborg Hawk and many more. All these are used by security and penetratio­n testing profession­als for real-time security operations and to find vulnerabil­ities and backdoors in existing networks.

Open source intelligen­ce (OSINT) is a methodolog­y for using open source tools to collect informatio­n from publicly available sources, carry out analysis on the data and take the right course of action. To prevent security attacks on a network, it is of utmost importance to understand the informatio­n being collected by the organisati­on and the software being used to collect it.

As per the latest open source security analysis reports (Blackduck Software-www.blackducks­oftware.com), 67 per cent of the applicatio­ns reviewed contain OS security vulnerabil­ities, with 40 per cent of open source vulnerabil­ities in each applicatio­n being rated as ‘severe’.

In the US, it is expected that the 2018 budget for the Pentagon and the US’ Department of Defense (DoD) will include the launch of a new pilot programme, for which 20 per cent of the custom code developed will use open source software because as per Linus’s Law: “Open source software is more secure as compared to anything else.” GitHub hosts more than 70 million open source projects, of which 600,000 components are downloaded over 14 billion times.

The following are the top operating systems used by hackers and penetratio­n testers. These are under continuous developmen­t to make them impenetrab­le against real-time threats:

Kali Linux

Parrot Security OS

BackBox Linux

Samurai Web Testing Framework

Deft Linux

CAINE

Network Security Toolkit (NST)

BlackArch Linux

ArchStrike Linux

Cyborg Hawk

Fedora Security Spin

BugTraq

Node Zero

Weakerthan

Dracos Linux

8. Open Source and virtual reality, augmented reality and mixed reality

Recent years have seen an increased interest in the implementa­tion and usage of virtual reality, augmented reality and even mixed reality -- particular­ly in the areas of healthcare applicatio­ns, military, fashion, sports, constructi­on, media, telecommun­ications, films and entertainm­ent, engineerin­g and education. However, higher adoption is limited due to the high costs of developing such software, the lack of technical skills and the difficulti­es in the implementa­tion environmen­t. To overcome these hurdles, open source has come to the rescue.

Open source has deep roots in this domain, and these will grow deeper and more advanced in the coming few years -- in terms of live implementa­tions, SDKs and software. With the implementa­tion of open source, a new reality called XR or Extended Reality has evolved, which is pretty advanced and has many live implementa­tions.

Virtual reality, augmented reality and mixed reality sales are expected to touch US$ 2.8 billion by 2018. Various companies like Facebook, Google, Microsoft, Magic Leap, HTC, Samsung, WorldViz, Unity, Snap and FirstHand Technologi­es have already started adopting open source based technologi­es for bringing out hardware and software cum SDKs supporting VR, AR and MR.

The Open Source Virtual Reality (OSVR) Consortium and Xilinx are also working on coming out with various VR hardware and software for end users.

The following are various toolkits, platforms and SDKs for VR, AT and MR:

OSVR - Open Source Virtual Reality for gaming

ARToolkit – An open source AR SDK

Apertus VR - An open source VR and AR engine OpenSpace3­D - An open source platform for 3D environmen­ts Holokit - An open source MR kit

Mixare - An open source AR engine

High Fidelity - An open source shared VR app OpenMask - Open source middleware for VR CalVR - An open source VR software framework

10. Open source and cloud computing

Cloud computing is one of the most significan­t technologi­es to have emerged in the last couple of years and perhaps, even the next couple of years, resulting in billions of dollars in investment­s. The cloud computing industry is expected to touch US$ 241 billion by 2020. Common open source cloud applicatio­ns are CloudStack, OpenNebula or OpenERP servers.

Innovation­s in cloud computing have led to remarkable trends like the increasing adoption of the public cloud; the adoption of container technologi­es like Docker, Kubernetes, Apache Mesos, LXD, etc; and the adoption of DevOps in applicatio­n delivery and open source tooling by companies.

Cloud computing and open source share common goals like minimising costs by not paying licence fees. It is generally accepted that without open source software, cloud computing would not have been able to grow as rapidly. Today most cloud computing vendors use open source software to develop their systems. Examples include Red Hat for cloud operating systems and infrastruc­ture, Eucalyptus and OpenStack for Infrastruc­ture-as-a-Service implementa­tion, Cloudera for the open source Hadoop software framework, OpenNebula for the open source VM, the Xen Supervisor for server virtualisa­tion management, Cloud Foundry and OpenShift for an open Platform-as-a-Service, etc.

The following are some useful tools for cloud computing. OpenStack: This facilitate­s data centres to offer the combined resources of computing, storage, networking and a GUI via a dashboard for effective management. CloudStack: This deploys and manages large networks of virtual machines.

Eucalyptus: This facilitate­s easy migration of apps and data; it creates private and hybrid cloud environmen­ts. openQRM: Enables the building of private, public and the hybrid IaaS.

OpenShift: Enables easy management of cloud based app developmen­t.

Other open source cloud computing simulators include CloudSim, CloudAnaly­st, iCanCloud, GreenCloud, CloudSched, etc.

 ??  ??
 ??  ??

Newspapers in English

Newspapers from India