What’s New in Oracle Open Source

Alina Yurenko
Oracle Developers
Published in
10 min readNov 7, 2023

Oracle’s commitment to open source began long ago, in 1998, when the company released the industry’s first commercial database on Linux. Today, Oracle is involved in many major open-source projects, including Linux, MySQL, OpenJDK, GraalVM, VirtualBox, and others. It is also one of the founding members of the Linux Foundation, the Eclipse Foundation, Open Enterprise Linux Association, and the Java Community Process.

Our open-source development takes place on GitHub, where hundreds of our projects receive more than 3000 pull requests every month from both Oracle and the wider community.

Open Source at Oracle

In addition to that, we actively contribute to external open-source projects. For example, Oracle is the #1 contributor for total lines of code changed across the Linux 6.1 kernel.

Our open-source development takes place in several organizations, grouped around projects:

  • Oracle — our primary GitHub organization;
  • GraalVM — a high-performance JDK with AOT compilation;
  • Helidon —a cloud native set of Java libraries for writing microservices;
  • Java Community Process — developing standard technical specifications for Java technology;
  • LiveLabs — workshops to build and deploy applications using Oracle’s technologies;
  • MySQL — the world’s most popular open source database;
  • OpenJDK — the place to collaborate on an open-source implementation of the Java Platform, Standard Edition, and related projects;
  • Oracle DevRel technical content: code samples, tutorials, and more;
  • Oracle GitHub Actions — GitHub Actions from Oracle;
  • Oracle Sample Projects — new projects and sample applications;
  • Oracle Terraform Modules — Terraform modules for provisioning Oracle Cloud Infrastructure resources;
  • Quick Start — automated deployments of enterprise software on Oracle Cloud Infrastructure;
  • Verrazzano — an open source enterprise container platform curated by Oracle.

In this blog post we want to share the highlights of Oracle’s open source projects and community updates in the past six months.

First, let’s talk about new releases.

New Releases

Java 21

In accordance with the six month release schedule, Java 21 was released on September 19. Some of the highlights of this release are:

  • Improvements from Project Amber: String Templates (Preview), Record Patterns, Pattern Matching for switch, Unnamed Patterns and Variables (Preview), and Unnamed Classes and Instance Main Methods (Preview);
  • Enhancements from Project Panama: Foreign Function & Memory API (Third Preview) and Vector API;
  • Features related to Project Loom: Virtual Threads, Scoped Values (Preview), and Structured Concurrency (Preview);
  • Sequenced Collections;
  • Performance updates: Generational ZGC.

My personal favorites from this list are productivity and beginner-friendly features from project Amber and performance improvements from generational ZGC.

Read more about this release in the announcement, download Oracle OpenJDK builds for your platform, or download the Oracle JDK.

GraalVM for JDK 21

Following the alignment process with OpenJDK, the GraalVM team released GraalVM for JDK 21.

Some of the updates in this release are:

  • AOT at the speed of JIT: Spring Petclinic running on GraalVM Native Image shows peak throughput on par with JIT 🚀
  • New performance features in Native Image;
  • Truffle Unchained and GraalVM SDK changes;
  • New class initialization strategy in Native Image;
  • Initial optimization of Java Vector API operations;
  • GraalPy Windows builds.

Read more about what’s new in the GraalVM JDK and Native Image, Truffle and GraalVM Languages, or downloads the bits from graalvm.org.

Oracle Linux 8 and 9

The latest releases of Oracle Linux enhance the user experience across on-premises, cloud, and edge deployments, with a focus on operational consistency and improved efficiency.

Some of the highlights in these releases include:

  • Support for offline upgrades
  • Enhanced containerized management
  • Updated observability stack
  • Facilitated security and compliance management
  • Improved networking management, and more.

In addition to providing a fully Enterprise Linux compatible operating
system, Oracle Linux also offers modern Linux kernels for enterprise customers in the form of UEK.

Get Oracle Linux base images from GitHub Container Registry, or learn more at oracle.com/linux.

MySQL 8.1.0

MySQL is transioniting to a new versioning model with MySQL database version 8.1.0 being the first Innovation release. Both Innovation and LTS are production-grade quality. The difference is that the Innovation releases offer access to the latest features and improvements for fast-paced development environments, and the LTS releases are better suited for the cases that require established behavior.

This release also contains several contributions from the MySQL community — go to the related blog post for he details.

To see all MySQL open-source projects and start contributing, go to github.com/mysql.

Micronaut 4

Oracle is a key Engineering Partner of the Micronaut Foundation, is deeply involved in the community, and regularly contributes to the Micronaut® framework. Micronaut 4.0 is major new release of the framework, bringing several new features:

  • Micronaut Serialization, a fully featured compile-time replacement for Jackson;
  • Using Shared GraalVM Reachability Metadata for library compatibility;
  • Advanced modularity;
  • New cloud modules including improved support for all cloud platforms
  • Extended support for virtual threads;
  • New compile-time expression language for job scheduling, security rules, conditional routing, and more;
  • New version of Micronaut Data JDBC.

Read more about this release in the announcement blog post or get straight to coding at micronaut.io/launch.

Helidon 4.0

Helidon 4, released just a few days ago, introduced new major changes:

  • A new server implementation, Níma, designed from the ground up to fully harness the capabilities of Java 21’s virtual threads. This brings significant performance improvements, especially for Helidon MP.
  • Support for MicroProfile 6.0 in Helidon MP;
  • A transition to blocking APIs for enhanced performance and the increased simplicity — learn how to migrate.

Learn more about this release in the release blog post and video.

Coherence CE v23.03

Coherence CE is an open source distribution of Coherence — a scalable, fault-tolerant, cloud-ready, distributed platform for building grid-based applications and reliably storing data.

The 23.03 release from March brings the following updates:

  • Native Python and Go clients enabling Python and Go applications to act as cache clients to an Oracle Coherence cluster using gRPC as the network transport. See Python and Go projects on GitHub for more details.
  • CDI Response Caching — Use annotations to provide response caching in CDI-enabled applications such as Helidon;
  • Improvements in topics management;
  • Microprofile Health that enables you to publish Coherence health checks into the MicroProfile Health Check Registries available at runtime;
  • Gradle POF Plugin, providing automated instrumentation of classes with the @PortableType annotation.

New projects

In the past six months we also released several new projects. Here are just a few highlights, you can find more of them at github.com/oracle and github.com/oracle-samples.

Graal Cloud Native

Graal Cloud Native (GCN) is a curated set of open source Micronaut framework modules that simplify multi-cloud application development and are designed from the ground up to be compiled ahead-of-time with GraalVM Native Image. GCN enables easy building of portable cloud native Java microservices that start instantly and use fewer resources to reduce compute costs.

Use the GCN Launcher to build your multi-cloud application starter.

Oracle Java Platform Extension for Visual Studio Code

The Oracle Java Platform extension brings full featured Java development for Maven and Gradle projects to VS Code. It includes features such as project view, autocomplete, error highlighting, debugging, unit testing support for JUnit, and more.

At the core of a VS Code extension supporting a programming language is a language server — a backend that operates the language’s tools and communicates with the IDE using the Language Server Protocol. This Java language server is a slimmed down version of the one developed in the Apache Netbeans project, and it is based on the OpenJDK JDK’s javac compiler for code editing and compilation and on OpenJDK’s debugger interface for debugging. This allows VS Code IDE support for new JDK features as soon as they are introduced, even during Early Access of the JDK. To this effect, this VS Code Extension will support the current JDK releases as well as the next upcoming JDK version.

The extension already has more than 5000 installs on the Visual Studio Code marketplace! Get it from the marketplace or navigate to the project repository to get started.

YO: a CLI client for Oracle Cloud

Yo is a command-line client for managing Oracle Cloud Infrastructure (OCI) instances. It makes launching OCI instances as simple as rudely telling your computer “yo, launch an instance”. Its goals are speed, ease of use, and simplicity. It was originally designed to help developers in the Oracle Linux team quickly launch disposable VMs for testing, but rapidly got much wider traction.

A few quick commands to show what you can do with Yo:

# Launch an instance based on your default settings, and SSH into it
yo launch -s

# Launch a flexible instance with given shape, size, and name
yo launch -S VM.Standard.E4.Flex --cpu 3 --mem 12 -n my-vm

# SSH into my-vm
yo ssh my-vm

# Copy files to my-vm
yo scp ./files my-vm:

# Terminate my-vm
yo terminate my-vm

Oracle Guardian AI

Oracle Guardian AI Open Source Project is a library consisting of tools to assess fairness/bias and privacy of machine learning models and data sets.

Get started with Oracle Guardian AI on GitHub:

OCI Toolkit for Visual Studio Code

The OCI Toolkit for Visual Studio (VS) Code provides a set of features that helps developers create, test, and deploy resources and applications on OCI from within VS Code. It seamlessly integrates with OCI services and supports the following services: Functions, Resource Manager, and Data Science. The toolkit also helps you to rapidly prototype cloud solutions, explore new services, and accomplish quick coding tasks via Quick Start templates.

Install the OCI Toolkit to get started.

OCI MLflow Plugin

The OCI MLflow plugin enables OCI users to use OCI resources to manage the life cycle of their machine learning use cases and run MLflow experiments. MLflow is a popular open source platform to manage the machine learning lifecycle, including experimentation, reproducibility, deployment, and a central model registry. You can use MLflow with Oracle Cloud Infrastructure (OCI) Data Science after installing it with pip:

pip install oci-mlflow

Follow the quick start guide for next steps, or check out the project on GitHub:

BPFTune

bpftune provides lightweight, always-on auto-tuning of system behaviour for Linux. After installing and starting it, you can observe the adjustments bpftune made to the system — for example:

$ sudo grep bpftune /var/log/messages
...
Apr 19 16:14:59 bpftest bpftune[2778]: bpftune works fully
Apr 19 16:14:59 bpftest bpftune[2778]: bpftune supports per-netns policy (via netns cookie)
Apr 19 16:18:40 bpftest bpftune[2778]: Scenario 'specify bbr congestion control' occurred for tunable 'TCP congestion control' in global ns. Because loss rate has exceeded 1 percent for a connection, use bbr congestion control algorithm instead of default
Apr 19 16:18:40 bpftest bpftune[2778]: due to loss events for 145.40.68.75, specify 'bbr' congestion control algorithm
Apr 19 16:26:53 bpftest bpftune[2778]: Scenario 'need to increase TCP buffer size(s)' occurred for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput
Apr 19 16:26:53 bpftest bpftune[2778]: Due to need to increase max buffer size to maximize throughput change net.ipv4.tcp_rmem(min default max) from (4096 131072 6291456) -> (4096 131072 7864320)
Apr 19 16:26:53 bpftest bpftune[2778]: Scenario 'need to increase TCP buffer size(s)' occurred for tunable 'net.ipv4.tcp_rmem' in global ns. Need to increase buffer size(s) to maximize throughput
Apr 19 16:26:53 bpftest bpftune[2778]: Due to need to increase max buffer size to maximize throughput change net.ipv4.tcp_rmem(min default max) from (4096 131072 7864320) -> (4096 131072 9830400)
Apr 19 16:29:04 bpftest bpftune[2778]: Scenario 'specify bbr congestion control' occurred for tunable 'TCP congestion control' in global ns. Because loss rate has exceeded 1 percent for a connection, use bbr congestion control algorithm instead of default
Apr 19 16:29:04 bpftest bpftune[2778]: due to loss events for 140.91.12.81, specify 'bbr' congestion control algorithm

Get started with bpftune on GitHub.

AutoMLx Demo Notebooks

This project contains demo notebooks for classification, regression, forecasting, anomaly detection, and text classification machine learning tasks for the AutoMLx project from Oracle Labs. AutoMLx consists of two parts: Oracle AutoML is a novel iteration-free AutoML pipeline designed to provide accurate models in a shorter runtime by eliminating the need to continuously iterate over various pipeline configurations. Machine learning explainability (MLX) methods provide insight into the behavior of complex machine learning models and the data they work with.

New Open Source Data Management Solutions in Oracle Cloud Infrastructure

Oracle Cloud Infrastructure announced three new managed open source data management cloud services: OCI Database with PostgreSQL, a fully managed PostgreSQL database service, OCI Cache with Redis, a managed Redis solution, and OCI Data Lake, which offers object storage and a common security and governance framework for organizations looking to build their own lakehouse on OCI. Read more about those new services in the related blog post.

Conclusion

We work every day on developing open source projects and contributing to projects that are important for the community and industry. We welcome community contributions — whether that’s a pull request, a reported issue, feedback, or suggestion.

To explore what we are working on, go to developer.oracle.com/open-source or follow @OracleOSS, and stay tuned for more news about Oracle and open source!🚀

--

--

Alina Yurenko
Oracle Developers

I love all things tech & community. Developer Advocate for @graalvm, blog posts about programming, open source, and devrel.