Skip to content
Daniel Berger edited this page Sep 28, 2021 · 4 revisions

Origins

This library was the result of a code bounty that I (Daniel Berger) funded.

Motivation

At the time this was created I was a regular MS Windows user. For those who wanted to build Ruby from source, building the zlib C library on MS Windows with Visual C++ was a pain. However, certain libraries depend on zlib, most notably rubygems. By providing a pure Ruby version we would eliminate any compiler or platform compatibility issues.

Even on some Unix distributions, such as Debian, the zlib library did not ship by default. By creating a pure Ruby version of the zlib library we eliminated the need to install a 3rd party C library, and removed a potential weak link in the dependency chain.

By creating pure Ruby versions of the library and the interface we are more likely to receive patches, feature requests, documentation updates, etc, from the Ruby community since not everyone who knows Ruby also knows C. Besides, the zlib interface that ships as part of the stdlib is a little on the clunky side in my opinion. By providing a pure Ruby version, authors can create their own interface as they see fit.

Profiling

Clone this wiki locally