The routines historically distributed as HDS and which are still used to access HDS version 4 files, derive from two original sources. The first is the initial implementation written by Dave Pearce and Anton Walter at RAL for the VAX/VMS operating system (initially using the BLISS language), which was subsequently converted into C by Mike Lawden (RAL) and William Lupton (RGO and AAO). The second source is a collection of higher-level routines mostly written at University College London in Fortran 77 by Sid Wright and Jack Giddings. William Lupton subsequently performed some of the initial work aimed at making HDS more portable.

HDS then underwent considerable internal change, including substantial re-coding to produce a fully portable system based on the POSIX operating system interface - work done by Rodney Warren-Smith at RAL.

More recently, Tim Jenness (Cornell University) has re-implemented the HDS API on top of the HDF5 library to create the current (version 6) library.