2017 has been a year in which open source software has flourished. This presentation offers a bird’s eye view of the past year’s best offerings in software.
One of the world’s most reputed technology research firms, Gartner, had predicted early in 2017, that the next decade would be spurred by a whirlwind of advances undergirded by a focus on ‘artificial intelligence everywhere’, ‘digital platforms’ and ‘transparency’. Little did we know that the prediction would ring true from the following month itself.
It has been a landmark year for open source! We are on the cusp of a revolution, poised at the frontiers of the technological rebirth of our world, triggered by a spectrum of possibilities that are opening—from 5G to blockchain – all of which are influencing businesses to adopt a decentralised approach in an effort to keep up with the times.
With the game changing results provided by deep learning algorithms, the tech industry is paying close attention to all the possible use cases. From Google and Uber to Baidu and Tesla, almost every major tech company has invested heavily in applying such practices in a bid to improve their offerings and introduce novel features for the consumer.
The recent hype also sent cryptocurrency prices soaring, before these are plummeted back to reasonable levels. The 2017 Christmas season was peppered with initial coin offerings, as entrepreneurs went all out to harness positive public sentiments and channel these into VC funding. In fact, the largest players in the financial market have set up consortiums to look at how these technologies can be incorporated into their business models in the current climate. All this could lead to radical changes in the rather archaic and constrained institutions that have driven the fiscal aspects of our lives thus far.
So, all in all, it’s been a highly transitive year as we move into a decade that will resonate with pervasive artificial general intelligence. We need to come to terms with a huge leap from the status quo into bleeding edge technology.
Top open source projects of 2017
A great year for open source projects, 2017 witnessed a number of major changes to existing projects and an assortment of new projects targeted at all aspects of the software development life cycle. Some of the most popular offerings have been highlighted in this article. The order is in no manner representative of relative importance.
1. Hyper: A terminal built using HTML, CSS and JS
The creators of Hyper had one basic goal in mind— to create a simple, efficient and, most importantly, hackable command line interface for developers. Intuitive shortcuts can be added in Hyper based on developer preferences, and there is the option of building your own plugins to provide additional functionality to this tiny but powerful application.
2. Parse Server: The open source version of the Parse back-end
This software can be deployed in any infrastructure that is capable of running Node.js, and works well with the Express Web Application Framework. It can be deployed independently, or added to existing Web applications. Supported by an array of tutorials and extensive documentation, this has proved to be a popular, community-backed project.
3. TensorFlow: Google’s open source machine learning framework
Originally released in 2015, the TensorFlow project saw major updates in 2017. These included support for Python generators, additions to various APIs for performance improvements and, most importantly, the addition of Keras to the TensorFlow core package. In addition, Tensorboard was released to help improve visualisation via plotting of quantitative metrics on a graph. TensorFlow is currently the most popular project on GitHub with over 77,000 stars. In comparison, the Linux project has just about 53,000 stars!
4. Caffe2 and PyTorch: Updates to both open source machine learning frameworks
Facebook-backed PyTorch was developed in response to Google’s release of TensorFlow. Facebook also uses Caffe for training deep learning models in production. An extremely interesting development in the recent releases of both these frameworks is due to Facebook and Microsoft’s partnership on releasing updates to these frameworks based on a new protocol defined as Open Neural Network Exchange (ONNX). ONNX is a standard for the representation of deep learning models that allows models to be transferred between frameworks. It is going to be interesting to monitor progress on this front.
5. Bulma: A FOSS CSS framework based on Flexbox
6. Anime: A lightweight, open source JS library tailored for animation
7. Yarn: A fast, reliable and secure dependency management software
Introducing a number of unconventional and innovative features, Yarn presents a convenient alternative to the software in use. What it offers ranges from offline installs on account of caching, to increased reliability and security, arising from paradigms within the installation that offer network resilience and concurrency for performance. Yarn goes the distance for developers looking for more efficiency and less failures across systems resulting from mismanagement of dependencies.
8. Apache Software: Multiple projects by the Apache Software Foundation
From releases of Hadoop to Spark, the Apache Software Foundation has had a number of important releases for projects in the open source domain this year.
CarbonData is a novel Big Data file format for interactive querying using advanced columnar storage. TinkerPop is another project that works behind the scenes in powering graph-style modelling, formulation and analysis for a number of popular frameworks including the likes of Spark, Titan and Neo4j. Kudu, an integral component of most enterprise stacks already, is poised to redefine the way we approached data storage and analysis using Hadoop and HBase, providing an optimal solution for large amounts of frequently updated data.
MXNet was one of Amazon’s widely discussed deep learning frameworks for cross-platform applications on the Web and the mobile, that was accepted by the Apache Incubator and saw exciting progress through 2017. Some other projects with major updates released in 2017 by the Apache Software Foundation include Zeppelin, Solo, Arrow, Spark and Kafka.
9. CockroachDB: A massively scalable, fault-tolerant SQL database
As the name states, the inspiration for this project is from cockroaches, the only living creatures that scientists believe will survive a potential nuclear war or ice age— the database is modelled similarly to offer an SQL interface that can scale massively, reliably, and focus on resilience instead of recovery. CockroachDB is serving global cloud needs for organisations like Baidu.
10. Kubernetes: Container orchestration and management at scale
For software that was adopted by a mere 10 per cent of the industry in 2015, to rise to a phenomenal adoption rate of nearly 71 per cent of the market by 2017 (according to the same service provider) is an achievement. Originally a Google-backed project and now managed by the Cloud Native Computing Foundation, Kubernetes is only going to see good times as cloud computing and containers take the tech industry by storm.
11. XGBoost and CatBoost: Gradient boosting libraries for machine learning
The advent of machine learning in 2017 saw the focus shift to the practice of gradient boosting, often touted as ‘steroids for learning algorithms’. While XGBoost works on multi-language and multi-platform gradient boosting, CatBoost offers categorical feature support for gradient boosting on decision trees.
12. Microsoft .NET Core 2.0: A minimal subset of the .NET framework
Placed at the forefront of Microsoft’s foray into open source, .NET Core 2.0 offers improved functionality to develop cross-platform applications for the Universal Windows Platform as well as Xamarin. It will be interesting to see how adoption rates shape up for this project in the days to come.