ZIO in 2025

ZIO plans to streamline its ecosystem in 2025 by integrating core projects and focusing on enterprise stability.

Tech Trends
11/13/2024

#zio

#scala

#oss

#enterprise

ZIO plans to streamline its ecosystem in 2025 by integrating core projects and focusing on enterprise stability.

Written by John A. De Goes

The ZIO community is closing out 2024 with impressive momentum, including:

  • Finalizing and shipping ZIO HTTP, the community’s long-awaited solution for building fast and idiomatic backends using ZIO
  • Finishing, updating, and giving away Zionomicon, the “bible of ZIO”, which contains exhaustive documentation on the effect system
  • Numerous performance enhancements and bug fixes across core ecosystem libraries

When peeking ahead into 2025, the natural question is: where is ZIO going to go, especially now that my consulting firm Ziverge has diversified beyond just Scala?

In this post, I’ll provide a brief overview of major improvements planned to the ecosystem, as well as more details on the future direction of Ziverge.

Retrospective

In early 2024, I juggled my open source priorities to focus more of my time on Golem, a new serverless platform for building and deploying elastic and fault-tolerant backends.

With less of my time spent on ZIO, a number of new contributors have risen to new heights to help continue ZIO’s history of innovation and support.

New contributors who have demonstrated exemplary leadership and technical skills include Kyri Petrou and Nabil Abdel-Hafeez, as well as dozens of other capable and motivated contributors who have submitted hundreds of pull requests to ZIO ecosystem projects.

Meanwhile, adoption of ZIO continued to rise throughout 2024, reaching our highest levels ever, and decisions that were long controversial in ZIO’s early history have become the standard.

After years in the market, ZIO has finally established itself as the “enterprise effect system”, eschewing all jargon and higher-kinded abstraction for a ruthlessly pragmatic take on how to rapidly build robust, resilient, scalable cloud native applications.

Despite this success, however, the Scala landscape has changed since ZIO 1.0. Fewer companies are using Scala for new projects, and many are adopting alternative languages that have a better stability and tooling track record.

With this reduction in the size of the Scala market, many open source projects suffer from reduced manpower. Beyond reduced manpower, the smaller community is split into tinier slivers due to the number of library choices that Scala developers have available to them.

A world in which Scala is growing is very much different from one in which Scala is shrinking. Although eventually the decline will stabilize, for now, Scala open source contributors need to be thinking carefully about how to weather the storm in a way that doesn’t compromise support.

Upcoming Changes

In order to focus resources on what matters, and ensure that ZIO continues to be the “enterprise effect system”, we will be making the following changes:

  • Integrating Essential Projects
  • Deprecating Inactive Projects
  • Investing in Mature Projects
  • Endorsing Third-Party Projects
  • Stabilizing ZIO Development

In the sections that follow, I will discuss these changes in more detail.

Integrating Essential Projects

Some projects in the ZIO ecosystem are so essential to the full ZIO experience that we will be promoting them to ZIO core. While mostly, this means relocating the code into core, in some cases, there will be additional opportunities for tighter integration, which will improve the developer experience for ZIO users who use these projects.

The goals of this promotion are as follows:

  • Ensure the projects remain up-to-date with ZIO Core
  • Provide a better out-of-the-box experience through improved integration
  • Reduce the overhead of maintaining these essential projects
  • Ensure the essential projects benefit from the same guarantees as ZIO Core

Though the final list remains up for discussion, the following projects have a high likelihood of being integrated into ZIO Core:

  • zio-logging: ZIO Logging provides backends that plug into ZIO Core’s logging facade
  • zio-config: ZIO Config provides backends that plug into ZIO Core’s config facade
  • zio-metrics: ZIO Metrics provides backends that plug into ZIO Core’s metrics facade
  • zio-profiling: ZIO Profiling provides async profiling for performance optimization

Though integrated into core, these projects are likely to have separate artifacts and therefore, the cost of integrating them may fall only to the applications using them.

Deprecating Inactive Projects

The ZIO organization freely handed out top-level repositories to any interested contributors. This, combined with the shrinkage in the Scala market, has led to many half-finished ZIO projects that are not actively maintained.

At this point, we can safely say that most of these inactive projects will not be resumed, because there is simply not the interest and manpower from the community to make it happen.

In order to clean up the ZIO organization and ensure only active projects are represented, we will be archiving a number of ZIO projects that do not have an active lead.

As before, the final list is up for discussion, but most likely the following projects will be deprecated and removed from the ZIO organization:

  • Zio-delegate
  • Interop-future
  • Interop-java
  • Zio-macros
  • Zio-cron
  • Zio-concurrent
  • Zio-elastic
  • Zio-simple-seed
  • Zio-shield
  • Zio-spark
  • Zio-codec
  • Zio-uring
  • Zio-zmx
  • Gatsby-theme-zio
  • Zio-morphir
  • Zio-metrics-legacy
  • Zio-direct-intellij
  • Zio-docs
  • Zio-quickstart-hello-world
  • Zio-renovate-config
  • Zio-quickstart-graphql-webservice
  • Create-app
  • Generate-github-app-token
  • Zio-insight-server
  • Zio-wasm
  • Zio-analytics
  • Zio-columnar
  • Zio-webhooks
  • Zio-deriving
  • Caliban-deriving
  • Interop-monix
  • Zio-memberlist
  • Zio-connect
  • Create-zio-website
  • Zio-terminal
  • Interop-guava
  • Interop-scalaz
  • Zio-insight
  • Interop-reactive-streams
  • Zio-insight-ui
  • Zio-http.g8
  • Zio-meta
  • Zio-project-seed.g8
  • Zio-metrics-connectors
  • Zio-test-intellij
  • Zio-gcp
  • Zio-jdbc
  • Zio-openai
  • Interop-twitter
  • Zio-mock
  • Zio-constraintless
  • Zio-optics
  • Zio-flow
  • Zio-nio
  • Zio-sql
  • Zio-keeper
  • Zio-crypto

Some other projects, which have modest activity, may also be targeted for this list.

Investing in Mature Projects

Some projects, while not yet candidates for integration into core, are nonetheless indispensable to the ZIO ecosystem, and will require ongoing investment.

Among the projects that make this list:

  • ZIO HTTP
  • ZIO Schema
  • ZIO JSON
  • ZIO Prelude
  • ZIO Quill / ZIO Protoquill
  • Izumi Reflect

It’s conceivable that at some point, one or more of these libraries could be integrated into Core.

Endorsing Third-Party Projects

Those of you who carefully read the list of inactive projects may notice that, with zio-sql and zio-jdbc being deprecated, the only maintained RDMBS library in the ZIO ecosystem is Quill.

In this case, and several others, we are accepting that ZIO will not have its own library in some major category.

In the case of database access, in particular, it is not clear that having a ZIO-native library adds much value, since any sort of result or stream can be easily adapted for use in ZIO.

So rather than take on the burden of developing and maintaining a full library for what is marginal benefit, we will take an alternative approach: identify and invest into promising ecosystem-neutral libraries that are able to host nice (but lightweight) ZIO integrations.

For relational database access, the Magnum library looks promising, but our official endorsement and investment into the ecosystem will require review and testing.

Stabilizing ZIO Development

Although I have ideas for ZIO 3 – and they are unlike anything currently being explored in the ecosystem – for now, the focus must be on stabilizing core ZIO libraries, to provide a robust foundation into the future.

My goal is that companies building on ZIO 2.1 now can expect a very long life out of the 2.x line, in which backward compatibility and binary compatibility are prioritized over the latest fads.

This means that ZIO will continue supporting Scala 2.13 and Scala 3.x, and that, by incorporating some projects into Core, we will only increase the amount of code we safeguard with these same strong guarantees.

Nonetheless, in 2025, it will be time to begin exploring the next major iteration of ZIO HTTP, and I have some ideas of how to improve usability and performance of this library even further, without significant breaking changes.

It’s possible that we might see one or two libraries around current pain points (such as gRPC), and quite likely that a Golem library will emerge, for building applications on Golem.

Ziverge Focus

As we head into 2025, it’s worth discussing how Ziverge is itself evolving.

Although we still primarily do Scala team extension, training, and custom software development, we are doing an increasing amount of Rust, Java, and Typescript.

Ziverge was founded with ZIO, and ZIO is extremely critical to our business even now, as we provide custom software development services with ZIO and other effect systems. We will continue to invest in open source bounties and educational resources for the ZIO ecosystem, to ensure the effect system remains the top choice for large companies.

We are also sponsoring development of “backend WASM” for the Scala programming language itself, which is an exciting contribution that will be useful to Scala developers outside ZIO.

As the number of languages and technologies we support increase across our client base, you can expect to see additional investments into ecosystems beyond Scala and ZIO – including my new passion project that I have begun talking about, Golem.

Though we have changed a lot in the past couple of years, Ziverge is still a big supporter of Scala, and will continue investing heavily into the Scala ecosystem, even as we expand from doing only Scala development into other languages and technologies.

Summary

This year has been a landmark year for ZIO, marked by significant achievements including the release of ZIO HTTP, the completion of Zionomicon, and continued enterprise adoption. As we look ahead to 2025, we’re taking strategic steps to strengthen the ZIO ecosystem and ensure its continued success as the enterprise effect system of choice.

Our planned changes will streamline and fortify the ecosystem in several ways:

  • By integrating essential projects like logging, config, metrics, and profiling into ZIO Core, we’ll deliver a more cohesive, reliable experience right out of the box
  • Focusing our community’s energy on actively maintained projects will ensure better support and faster development of the tools developers use most
  • Investing in mature projects like ZIO HTTP, Schema, JSON, and Quill will make these crucial libraries even more robust
  • Partnering with and endorsing strong third-party libraries will give ZIO users access to best-in-class solutions without reinventing the wheel
  • Stabilizing ZIO development will provide the long-term reliability that enterprises need, while still leaving room for exciting innovations in areas like HTTP and gRPC

While the Scala landscape has evolved, ZIO’s pragmatic approach to building robust, scalable applications continues to resonate with enterprises. With Ziverge’s ongoing commitment to the ecosystem through bounties, educational resources, and exciting new initiatives like backend WASM support, ZIO is well-positioned for an even stronger future.

These changes will result in a more focused, maintainable, and powerful ZIO ecosystem that delivers exactly what enterprise developers need: a rock-solid foundation for building modern cloud-native applications.

Continue reading

Tech Trends
June 6, 2024

Climbing the Principal Engineer Ladder with Ziverge

read article
Tech Trends
March 4, 2024

The Programmer's Pathway

read article
Tech Trends
February 4, 2024

An Introduction to ZIO Kafka

read article

Subscribe to our newsletter

Stay ahead with the latest insights and breakthroughs from the world of technology. Our newsletter delivers curated news, expert analysis, and exclusive updates right to your inbox. Join our community today and never miss out on what's next in tech.