# libmng

> reference implementation of the Multiple-image Network Graphics (MNG) format

**Wikidata**: [Q12745760](https://www.wikidata.org/wiki/Q12745760)  
**Source**: https://4ort.xyz/entity/libmng

## Summary
libmng is the reference implementation of the Multiple-image Network Graphics (MNG) format. It is a cross-platform software library written in ANSI C that allows developers to integrate MNG support into their applications. The library is free software distributed under the zlib License.

## Key Facts
- **Function:** Serves as the reference implementation of the Multiple-image Network Graphics (MNG) format.
- **Nature:** Classified as a software library and free software.
- **Programming Language:** Written in ANSI C.
- **License:** Distributed under the zlib License.
- **Latest Version:** Version 2.0.3 (released April 20, 2015).
- **Inception:** The project was initiated on March 14, 2000.
- **Operating System:** Cross-platform.
- **Dependencies:** Depends on the zlib software library.
- **Website:** https://libmng.com/

## FAQs
### Q: What is libmng used for?
A: libmng is used as a software library to support the Multiple-image Network Graphics (MNG) format. It provides the reference implementation, meaning it acts as the standard authority for decoding and encoding MNG files.

### Q: What programming language is libmng written in?
A: The library is written in ANSI C. This allows it to be highly portable and implemented across various computing platforms.

### Q: What are the licensing terms for libmng?
A: libmng is free software released under the zlib License. This permits users to freely run, study, change, and distribute the software and its modified versions.

## Why It Matters
libmng plays a critical role in the ecosystem of open-standard graphics formats. As the reference implementation of the MNG format, it serves as the definitive technical authority for how MNG files—which extend the capabilities of PNG to support multiple images and animation—are handled. By providing a standard codebase, libmng ensures consistency across different operating systems and applications, preventing fragmentation where different viewers might render animations differently.

Its significance is further underscored by its widespread availability across major open-source operating systems. It is included in the official repositories of Fedora, Arch Linux, Gentoo, FreeBSD, and OpenBSD, as well as macOS via MacPorts. This broad adoption highlights its status as the de facto standard backend for MNG support in the software world. Written in ANSI C and released under the permissive zlib License, it offers a lightweight and commercially friendly solution for developers needing to incorporate advanced graphics capabilities without restrictive licensing fees.

## Notable For
- Being the **reference implementation** of the MNG format, setting the standard for the specification.
- **Cross-platform compatibility**, operating on Linux, BSD, macOS, and other platforms.
- Implementation in **ANSI C**, ensuring high portability across different hardware and software environments.
- **Broad adoption** in major package repositories, including Fedora, Arch Linux, FreeBSD, and Gentoo.
- Distribution under the permissive **zlib License**, facilitating wide usage in both open-source and proprietary software.

## Body

### Technical Profile
libmng is a software library constructed using ANSI C. It is designed to be cross-platform, capable of operating on multiple computing platforms including Linux, Windows, and Unix-like systems. The library relies on `zlib` for compression/decompression support, which is a dependency required for its operation.

### Development History
The project was officially inceptioned on March 14, 2000. Development has been tracked through various versions over its lifespan:
- **Version 1.0.10:** Released on July 13, 2007.
- **Version 2.0.3:** Released on April 20, 2015, and identified as a preferred version.

The source code is maintained in a CVS repository located at `cvs://libmng.cvs.sourceforge.net:/cvsroot/libmng`.

### Distribution and Availability
libmng is widely available through various software distribution channels and package managers:
- **Arch Linux:** `libmng` and `lib32-libmng`
- **Fedora:** `libmng`
- **Gentoo:** `media-libs/libmng`
- **FreeBSD:** `graphics/libmng`
- **OpenBSD:** `graphics/libmng`
- **macOS (MacPorts):** `libmng`

The project is also listed on SourceForge as `libmng` and is tracked by Open Hub under the ID `libmng`.

### Licensing and Status
The library is classified as free software, specifically distributed under the terms of the zlib License. Despite being free to use and modify, the software maintains a copyrighted status. It functions strictly as a library (instance of "software library") rather than a standalone end-user application.

## References

1. [Source](https://www.openhub.net/p/libmng/analyses/latest/languages_summary)
2. [Source](https://web.archive.org/web/gjuyn.xs4all.nl/libmng/developers.html)
3. [2015](https://sourceforge.net/projects/libmng/files/libmng-devel/2.0.3/)
4. [Source](https://libmng.com/news.php?cat=18)
5. [Source](https://libmng.com/news.php?cat=13)