Bloomberg’s 2016 Open Source Contributions: Top 5 Projects

Top 5 Open Source

When you look at an open source project’s commit history, you can see engineers from all over the world, both volunteers and employees of many organizations, coming together to create a shared resource. If you’ve been following the projects on this list in recent years, you’ve seen the hard work Bloomberg has put into them and, more broadly, the open source community.

Why? It’s all part of creating the best software and the best possible development environment for engineers. With that in mind, here are five open source projects that we published or contributed to this year (in no particular order):

Project Jupyter
You may know the Jupyter Notebook as a web-based environment where programmers can do computational research with native support for code, math, and data visualization. GitHub even renders Jupyter Notebook files as static web pages so that notebooks can be used for publishing and collaboration. This year saw the introduction of the JupyterLab preview, showing how future versions of Jupyter will provide a more desktop-like experience on the Web. Bloomberg was one of three major contributors to this effort, providing new and exciting forms of interactive and exploratory computing to all the organizations who use the Jupyter Notebook.

We’ve been using OCaml, a popular object-oriented functional programming language, for some time in the Bloomberg Professional Service (aka Bloomberg Terminal) to provide advanced risk management functions used by traders of derivatives contracts. This year, our usage of OCaml increased significantly with the publication of BuckleScript, an OCaml-to-JavaScript compiler. BuckleScript was released to demonstrate that the OCaml compiler, and especially its optimizers, could be used to generate type-safe and highly efficient JavaScript code for use in Web applications.

Since its release, many parts of the Web and JavaScript development communities have taken notice, and its developer, Hongbo Zhang, has continued improving its performance and compatibility. We’re expecting great things from this project in 2017 and beyond!

A great deal of the content delivered on the Bloomberg Terminal is actually rendered using web technologies such as JavaScript, HTML and CSS. So it’s only natural that the content be delivered by an instance of Chromium running inside the Terminal. For years, we have sponsored Igalia to implement and land advancements in the Chromium project and its JavaScript engine, V8, and participated in the standards-creation processes that define how these tools will operate in the future.

The big payoff for the Bloomberg Terminal will be the early and effective implementation of the CSS Grid Layout specification—before the mainstream releases of all major browsers—to provide more developer-friendly tools for displaying data in responsive and flexible ways.

V8 JavaScript Engine
While most people don’t use the web to access rapidly-changing content, Bloomberg’s customers are uniquely dependent on the real-time delivery of financial data and information. The team is investing time and energy in V8’s high-performance, asynchronous processing functions, built on top of generators—also contributed through the Bloomberg collaboration with Igalia—to improve application performance.

This work has been extended to Microsoft’s Chakra JavaScript engine, which Microsoft released as an open source project earlier this year. While our engineers aren’t making use of Chakra yet, Microsoft’s platforms are important for our products and the ability to collaborate on them is exciting.

Apache Lucene/Solr
Our Engineering team has been involved with the Lucene project and its Solr search engine for some time, ramping up our contributions in mid-2012. Today, we use Solr as the basis of our Search-as-a-Service platform, home to more than 100 applications specially built to query unstructured text, tagged news, communications archives, legal databases and documentation. Bloomberg’s Solr committers and developers, Ramkumar Aiyengar, Christine Poerschke, Dennis Gove, and Steven Bower have contributed to every release since Solr 4.5—including an entirely new analytics framework in the release of Solr 5.0 last year—and they’re not slowing down.

Are we done yet? Nope!
This is just a small sample of the work that Bloomberg is doing every day in dozens of open source projects. Over the next year, you’ll hear much more about our involvement with Chef, a configuration management tool; get a peek at what we’ve built with the OpenStack cloud platform; hear more about building mobile apps using Facebook’s React Native mobile application development framework; as well as learn about the ramp up to using Cloud Foundry tools. It’s all part of making Bloomberg a great place for engineers to do groundbreaking work, while giving back to the open source community.