# Firebird

    Para el navegador Mozilla Firebird, vea Mozilla Firefox
Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. La versión 2.5.6, la más reciente de la serie 2.5, fue liberada el 4 de julio de 2016. El 19 de abril de 2016 fue liberada la versión 3.0.

## FirebirdSQL Fundation

Los objetivos de la Fundación FirebirdSQL son:
   * Apoyar y lograr el avance del manejador de base de datos relacional Firebird
   * Proveer los mecanismos e infraestructura no comerciales para aceptar y administrar los fondos recaudados, e invertir tales fondos para promover el esfuerzo del desarrollo de esta base de datos
   * Fomentar la cooperación y la afiliación de individuos, organizaciones sin fines de lucro y compañías comerciales involucradas o que estén planeando estar involucradas en el desarrollo, apoyo y promoción de los proyectos de software de Firebird y sus productos y actividades asociadas.

## Historia

A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a otros desarrolladores independientes, crearon el fork ahora conocido como Firebird. Más tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public License).

## Características

* Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
* Ejecutable pequeño, con requerimientos de hardware bajos.
* Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
* Soporte de transacciones ACID y claves foráneas.
* Es medianamente escalable.
* Buena seguridad basada en usuarios/roles.
* Diferentes arquitecturas, entre ellas el Servidor Embebido (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.
* Bases de datos de solo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como CD-ROM.
* Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc.
* Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad.
* Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.
* Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL.
* Capacidad de almacenar elementos BLOB (Binary Large OBjects).
* Soporte de User-Defined Functions (UDFs).
* Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-ROM y para crear versiones de evaluación de algunas aplicaciones.

## Tipos de servidor

Existen dos tipos de servidor Firebird para ser instalados: Classic y Super Server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el Super Server maneja hilos de ejecución individuales para cada conexión.
En caso de arquitecturas SMP, se debe utilizar el servidor Classic, ya que Super Server no soporta este tipo de arquitectura.
Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:
   * En plataformas Windows seleccionar Super Server.
   * En Linux simplemente elegir cualquiera, según las conexiones estimadas. Para un número reducido de conexiones, se recomienda el modelo Classic, ya que consume una menor cantidad de recursos, aunque en la mayoría de las situaciones, las diferencias en la ejecución no serán notables.
Podría considerarse un tercer tipo, el Embedded. Este consiste en una única biblioteca de enlace dinámico DLL, de unos 2 MB de tamaño, que contiene todo el servidor. De esta forma se puede disponer de un DBMS completo disponible y distribuible junto con aplicaciones de usuario sin requerir que este se instale por separado.

## Choque de nombres con Mozilla Firefox

En abril de 2003, la Fundación Mozilla decidió renombrar su navegador web de Phoenix a Firebird. Esta decisión causó gran preocupación en lo que se refería al proyecto para bases de datos Firebird, debido a que se asumía que los usuarios se confundirían entre la base de datos y el navegador Web porque estos llevarían el mismo nombre. La disputa continuó hasta que los desarrolladores de Mozilla firmaron una constancia dejando en claro que el nombre Firebird era en realidad Mozilla Firebird. La constancia también dejaba en claro que el nombre Mozilla Firebird era el nombre código del proyecto. El 9 de febrero del 2004, Mozilla renombró a su navegador como Mozilla Firefox, para así evitar cualquier tipo de confusión.

## Metas

Debido a que el proyecto original no aprovecha adecuadamente las máquinas con varios procesadores o SMP, se espera que después de la estabilización de la versión 2 se integre con el proyecto Vulcan (una rama de desarrollo nacido de Firebird), añadiendo soporte para esta característica, lanzando así la versión de Firebird 3.0.