Eclipse OMR: IBM open sources its runtime technology

Get the Code

Anyone who works with open source code understands how it promotes collaborative innovation. Old-school thinking around hiding code merely blocks the open strategy of hardware and software platforms.

The Eclipse OMR ecosystem for scripting and Java is an Eclipse project that represents a major advancement in open source thinking. Eclipse OMR leverages runtime investment across many programming languages. It serves to ensure community support in existing and new languages for IBM hardware platforms, and to promote both a commercial and open source ecosystem around consumable hardware innovations.

Why should I contribute?

Eclipse OMR makes sense for a wide range of participants. Partners, communities, and individuals can invest to innovate for their own platforms, tools, languages, runtime environments, stacks, and services.

Those same groups can invest to drive capabilities and improve functions of languages, tools, and runtimes. Large enterprises like IBM can invest to innovate and differentiate languages and runtime environments to gain a competitive advantage across those same platforms, products, stacks, and services.

What technology problem will I help solve?

When you want to build a new programming language, you usually need to start from scratch. You prefer to focus your energy on the language features themselves — for example, syntax or semantics — but you end up beginning with basic enablement issues, such as building a portability library, diagnostics support, memory management (or garbage collection), and a just-in-time (JIT) compiler. You can go without some of the fundamental features, but if you do, your language might not run on multiple platforms, or it is difficult to monitor and debug, has poor memory use, or is slow (especially when compared to mature languages such as Java or JavaScript). Building all of that basic enablement takes a lot of time and effort — time and effort that you could be investing in language features.

What business problem will Eclipse OMR address?

The enterprise development environment is increasingly making use of multiple languages. Enterprise applications might use Java, JavaScript, Ruby, Python, PHP. Each language has carved out a community and built a set of platforms that are key pieces of the modern enterprise.

It’s a huge challenge to manage and monitor all of the applications in this environment. The Eclipse OMR project aims to create a common set of components used by these languages and to enable additional tooling to monitor and manage all of these languages at the same time. Eclipse OMR reduces the complexity and difficulty of maintaining a polyglot enterprise. For platform providers, it allows implementing new features in a core that is shared with all of the languages used in your enterprise. Then you don’t need to implement that feature over and over again in each of those languages.