# Jerasure

> software library

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

## Summary
Jerasure is a free software library designed for forward error correction on erasure channels. Developed by American computer scientist James S. Plank, it runs on Unix-like operating systems and is widely distributed via standard Debian packages.

## Key Facts
- **Creator:** James S. Plank, an American computer scientist and university teacher born on August 6, 1966.
- **Primary Function:** Software library for forward error correction on erasure channels.
- **License:** Originally GNU Lesser General Public License (until 2011); switched to the 3-clause BSD License in 2011.
- **Operating System:** Unix-like operating systems.
- **Maintenance:** Maintained by James S. Plank until 2010.
- **Debian Packages:** Available as `libjerasure-dev` (development files) and `libjerasure2` in Debian stable repositories.
- **Classification:** Instance of a software library and free software.
- **Documentation:** Described in the paper "Jerasure 2.0," hosted by the University of Tennessee.

## FAQs
### Q: What specific problem does Jerasure solve?
A: Jerasure provides a software library for forward error correction on erasure channels. It allows developers to implement data redundancy and recovery mechanisms in storage or transmission systems.

### Q: Who created and maintains Jerasure?
A: Jerasure was created by James S. Plank, an American computer scientist. While he maintained the project until 2010, the software is currently copyrighted and distributed under open-source licenses.

### Q: Under what license is Jerasure released?
A: The library was initially released under the GNU Lesser General Public License (LGPL). In 2011, the licensing was changed to the 3-clause BSD License, which is currently preferred.

### Q: Is Jerasure available in standard Linux repositories?
A: Yes, Jerasure is available in the Debian stable distribution. The source package is named `jerasure`, providing the `libjerasure-dev` and `libjerasure2` binary packages.

## Why It Matters
Jerasure serves as a critical tool for developers building robust storage systems and reliable data transmission protocols. By providing a standardized implementation of erasure coding, it enables systems to recover lost or corrupted data segments without requiring a full backup or retransmission. This capability is essential for distributed storage systems, cloud computing infrastructure, and high-availability databases where data integrity is paramount.

The library's shift from the GNU LGPL to the 3-clause BSD License in 2011 significantly impacted its adoption, as the permissive BSD license allows the code to be integrated into a wider variety of proprietary and commercial products without the copyleft restrictions of the LGPL. Furthermore, its inclusion in the Debian stable repository (bookworm) and the Free Software Directory underscores its stability, reliability, and compliance with free software standards. Although maintenance by the original author concluded in 2010, its continued presence in active Linux distributions ensures it remains a relevant resource for modern computing infrastructure.

## Notable For
- **Specialized Functionality:** Specifically engineered for forward error correction in erasure channels, a fundamental requirement for modern distributed storage.
- **Licensing Transition:** Notable for switching from LGPL to the permissive 3-clause BSD License in 2011 to facilitate broader usage.
- **Academic Pedigree:** Developed by James S. Plank, a recognized computer scientist, with formal documentation available via academic archives.
- **Official Distribution:** Included as a standard package (`libjerasure2`) in Debian, one of the largest open-source operating system distributions.

## Body

### Development and Authorship
Jerasure was created by James S. Plank, an American computer scientist born on August 6, 1966. Plank, who also serves as a university teacher and researcher, developed the library to address specific needs in erasure coding. The project was actively maintained by Plank until 2010. The technical details and architecture of the library are documented in the paper "Jerasure 2.0," which is archived and available in PDF format.

### Licensing and Legal Status
The copyright status of Jerasure is classified as copyrighted, though it operates as free software. The licensing history includes two distinct phases:
- **Pre-2011:** The library was distributed under the GNU Lesser General Public License (LGPL).
- **2011-Present:** The license was updated to the 3-clause BSD License, which is currently listed as the preferred license. This change allowed for more flexible integration into various software environments.

### Technical Implementation and Distribution
Jerasure is implemented as a C library designed to run on Unix-like operating systems. It is classified strictly as a software library and an instance of free software, adhering to the definition that users are free to run, study, change, and distribute it.

In the context of software distribution, Jerasure is integrated into the Debian operating system ecosystem. The key packages include:
- **Source Package:** `jerasure` (tracking started around July 14, 2014).
- **Binary Packages:** `libjerasure-dev` (contains development files) and `libjerasure2` (contains the runtime library). These are categorized under "forward error correction erasure channel library."

The library is also listed in the Free Software Directory, confirming its status within the open-source community.

## References

1. [Source](https://web.eecs.utk.edu/~jplank/plank/www/software.html)
2. [Source](https://packages.debian.org/source/bookworm/jerasure)