# Fedora Commons

Fedora (or Flexible Extensible Digital Object Repository Architecture) is a digital asset management (DAM) content repository architecture upon which institutional repositories, digital archives, and digital library systems might be built. Fedora is the underlying architecture for a digital repository, and is not a complete management, indexing, discovery, and delivery application. It is a modular architecture built on the principle that interoperability and extensibility are best achieved by the integration of data, interfaces, and mechanisms (i.e., executable programs) as clearly defined modules.

## History

The Fedora Repository open source software is a project originally supported by DuraSpace, a not-for-profit organization. The software has its origins in the Flexible Extensible Digital Object Repository Architecture (i.e., Fedora) which was originally designed and developed by researchers at Cornell University. Fedora is an architecture for storing, managing, and accessing digital content in the form of digital objects inspired by the Kahn and Wilensky Framework. Fedora began as a DARPA and National Science Foundation funded research project at Cornell University's Digital Library Research Group in 1997, where the first reference implementation was written in Java using a CORBA-based distributed object approach. The University of Virginia began experimenting with the Cornell software and later joined with Cornell to establish the Fedora Repository project that re-implemented Fedora as open source software. Fedora defines a set of abstractions for expressing digital objects, asserting relationships among digital objects, and linking "behaviours" (i.e., services) to digital objects.
In 2003 Red Hat, Inc. applied for trademark status for the name "Fedora" to be associated with their Linux operating system project. Cornell and UVA formally disputed the request and, as a final settlement, all parties settled on a co-existence agreement that stated that the Cornell-UVA project could use the name when clearly associated with open source software for digital object repository systems and that Red Hat could use the name when it was clearly associated with open source computer operating systems.

## Technology

Fedora provides a general-purpose management layer for digital objects. Object management is based on content models that represent data objects (units of content) or collections of data objects. The objects contain linkages between datastreams (internally managed or external content files), metadata (inline or external), system metadata (including a PID – persistent identifier – which is unique to the repository), and behaviors that are themselves code objects that provide bindings or links to disseminators (software processes that can be used with the datastreams). Content models can be thought of as containers that give a useful shape to information poured into them; if the information fits the container, it can immediately be used in predefined ways.
Fedora supports two types of access services: a management client for ingest, maintenance, and export of objects; or via API hooks for customized web-based access services built on either HTTP or SOAP. A Fedora Repository provides a general-purpose management layer for digital objects, and containers that aggregate mime-typed datastreams (e.g., digital images, XML files, metadata). Out-of-the-box Fedora includes the necessary software tools to ingest, manage, and provide basic delivery of objects with few or no custom disseminators, or can be used as a backend to a more monolithic user interface.
Fedora supports ingest and export of digital objects in a variety of XML formats. This enables interchange of objects between Fedora and other applications, as well as facilitating digital preservation and archiving.
* Digital Object Model The FEDORA digital object model allows aggregation of both metadata and digital content as "datastreams", regardless of format and physical location. FEDORA objects can include content from external or distributed repositories. Digital Objects can be modeled to represent many types of entities from digital texts, publications, photos, videos, and datasets. Digital objects can have associated "behaviors" that can provide different views of the object, or that can produce dynamic transformations of digital object content.
* Relationships The FEDORA digital object model supports the ability to assert semantic relationships using the Resource Description Framework (RDF). Relationships between objects and within objects can be indexed using a semantic triplestore that enables queries over the entire repository of digital objects.
* Repository Service is based upon four main Application Programming Interfaces (APIs): manage, access, search and metadata harvesting via OAI-PMH. The system is scalable and flexible and Fedora users have adopted the repository as a core component of many applications and platforms.
The Fedora program currently has an Organizational Home at Lyrasis.