# Fedora Commons

FEDORA (o Flexible Extensible Digital Object Repository Architecture), también llamado Fedora Commons, es una arquitectura modular basada en el principio de que la interoperabilidad y extensibilidad se consiguen mejor mediante la integración de datos, interfaces, y mecanismos (p.e., ejecutables) como módulos definidos claramente. Fedora posee arquitectura de gestión de activos digitales (Digital Asset Management, DAM), sobre la cual se pueden construir muchos tipos de biblioteca digital, repositorios (archivos) institucionales, archivos digitales, y sistemas de bibliotecas digitales. Fedora es la arquitectura subyacente de un repositorio digital, y no es una aplicación completa para manejo, indexación, descubrimiento y distribución.
Fedora está disponible bajo términos de la licencia Apache (Apache License).

## Historia

Fedora fue desarrollado conjuntamente por el departamento de documentación de la Universidad Cornell y la biblioteca de la Universidad de Virginia. Fedora comenzó en 1997 como un proyecto de investigación de Carl Lagoze y Sandy Payette en el Grupo de Investigación de Bibliotecas Digitales (Digital Library Research Group) financiado por DARPA y la NSF en la Cornell University, donde se construyeron la primera implementación de referencia y otra técnica, basada en CORBA. Desde entonces, se han realizado varias modificaciones a la arquitectura, y a finales de 2005 se lanzó la versión 2.1. La versión actual es la 3.4.
El Proyecto Fedora (Fedora Project) recibe soporte actualmente a través de subvenciones de la Andrew W. Mellon Foundation y la Gordon and Betty Moore Foundation. Sus directores son Sandy Payette de la Universidad Cornell y Thornton Staples de la Universidad de Virginia.

### Disputa de la marca comercial

Cuando la distribución Fedora Core fue creada por Red Hat, adoptando el nombre fedora, Red Hat intentó afirmar su marca frente al software de Cornell. La Cornell University y la University of Virginia consideraron emprender acciones legales contra Red Hat.
Discusiones adicionales de esta disputa parecen darse o en silencio o en secreto; ambos proyectos continúan usando el mismo nombre y no ha habido novedades desde noviembre de 2003.

## Características

Fedora proporciona una capa de gestión de propósito general para objetos digitales. La gestión de objetos se basa en modelos de contenido que representan objetos de datos (unidades de contenido) o colecciones de objetos de datos. Los objetos contienen enlaces entre fuentes de información (datastreams, internamente gestionadas o archivos de contenido externo), metadatos (internos o externos), metadatos de sistema (incluyendo un PID (persistent identifier) que es único para el repositorio de software), y comportamientos que ellos mismos son objetos de código que proporcionan enlaces a diseminadores (procesos de software que pueden ser usados con las datastreams). Los modelos de contenido pueden ser considerados como contenedores que dan una forma útil a la información contenida en ellos; si la información cabe en el contenedor, puede ser usada inmediatamente de modo predefinido.
Fedora soporta dos tipos de servicios de acceso: un cliente de gestión para ingestión, mantenimiento, y exportación de objetos; o una vía API para servicios de acceso basados en web construidos mediante HTTP o bien SOAP. Un repositorio Fedora proporciona una capa de gestión general para objetos digitales, y contenedores que agregan fuentes de datos MIME-typed (p.e., imágenes digitales, archivos XML, metadatos). Fuera de caja, Fedora incluye las herramientas de software necesarias para introducir, gestionar y proveer distribución básica de objetos con pocos o ningún diseminador, o puede ser usado como backend de una GUI monolítica.
Fedora soporta importación y expotación de objetos digitales en variedad de formatos XML. Esto permite intercambios entre Fedora y otras aplicaciones basadas en XML y facilita las tareas de archivado.

## Digital Object Model

El FEDORA digital object model permite una gestión estrecha de metadatos y contenido, sin tener en cuenta el formato. El sistema es escalable y flexible permitiendo a FEDORA asociar proyectos con repositorios externos o distribuidos. Los objetos y su comportamiento están separados haciendo posible cambiar el comportamiento alterando los mecanismos sin cambiar los objetos en sí.

## Arquitectura

La arquitectura del servidor FEDORA se basa en 4 Application Programming Interfaces (APIs) principales: gestión, acceso, búsqueda y el Open Archival Initiative service (para obtención de metadatos).