## Purpose, Objectives, & Values The purpose of the HDF5 library is to ensure efficient and equitable access to science and engineering data stored in HDF5 across platforms and environments, now and forever. Toward that purpose, the two main objectives are: 1. Self-describing data 2. Portable encapsulation and access. Self-describing data captures all information about itself necessary to reproduce and interpret it as intended by its producer. A storage representation must preserve the self-describing nature when transferring such representations over a network or to different storage. At the same time, it should be accompanied by a portable library that allows applications to access the data without knowing anything about the details of the representation. The "marriage"[^1] of the HDF5 file format and library is a specific implementation of the primitives and operations defined by the HDF5 data model and adapted for several specific use cases. ![HDF5 models and implementations](https://docs.hdfgroup.org/hdf5/develop/Dmodel_fig1.gif) The following values[^2][^3] guide the implementation (in no particular order):
Extensibility
The degree to which behavior and appearance can be changed by users. Evolution of the file format
Compatibility, Longevity, & Stability
Things that worked before continue to work the same indefinitely
Efficiency
Effective operation as measured by a comparison of production with cost (as in time, storage, energy, etc.)
Maintainability
The degree to which it can be modified without introducing fault
Progressiveness
A measure of eagerness to make progress and leverage modern storage technology
Freedom
Specifically, free software means users have the four essential freedoms:
[^1]: Jeffrey A. Kuehn: [Faster Libraries for Creating Network-Portable Self-Describing Datasets](https://cug.org/5-publications/proceedings_attendee_lists/1997CD/S96PROC/289_293.PDF), CUG 1996 Spring Proceedings [^2]: Chris Hanson & Gerald Jay Sussman: [Software Design for Flexibility: How to Avoid Programming Yourself into a Corner](https://mitpress.mit.edu/9780262045490/software-design-for-flexibility/), MIT Press. [^3]: Free Software Foundation: [What is Free Software?](https://www.gnu.org/philosophy/free-sw.en.html)