Why there may never be a libjpeg-turbo 3.1

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • libjpeg-turbo

    Main libjpeg-turbo repository

  • While I think the move to safer code through Rust and other alternatives is a nice breath of fresh air, I doubt you can get these kinds of optimization without using unsafe code in Rust. These optimized implementations often require some kind of safety-bypassing memory modifications to work as efficiently ad they do.

    There's a reason https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim... is filled with assembly files with conditional loading.

  • mozjpeg

    Improved JPEG encoder.

  • FWIW, Mozilla has been maintaining their own fork for quite a while now[1]

    AFAIK most Linux Distros have been using libjpeg-turbo as a drop-in replacement for libjpeg, after some drama in ~2010 where libjpeg came under new management, decided to break ABI/API several times over and add incompatible, non-standard format extensions[2].

    [1] https://github.com/mozilla/mozjpeg

    [2] https://en.wikipedia.org/wiki/Libjpeg#History

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • core-js

    Standard Library

  • Open source developers are not being paid. They published under licenses that allow zero cost and businesses won't pay.

    If you want to write open source code for living, you have to find a business model that works. In this case, it is even under permissive license.

    * code freeze - code is under open source license only a certain time after commit/release. Maybe add "support", aka you get security fixes in timely manner.

    * open core - put some features behind commericial door.

    * go ImageSharp way of split license. That one is fun, because MS deprecated/killed (throws exceptions on attempt to use) official image/font library and that was was intended replacement. Rather blatant offloading of costs.

    This has been rehashed several time (core-js recently https://github.com/zloirock/core-js/blob/master/docs/2023-02...).

    The gist of it is: Companies are not going to pay if they don't have to. That is the reality and it's not going to change.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts