KDE
# KDE

KDE es una comunidad internacional que desarrolla software libre. Produce un entorno de escritorio, multitud de aplicaciones e infraestructura de desarrollo para diversos sistemas operativos como GNU/Linux, macOS, Windows, etc. Los principales componentes de software elaborados por KDE se agrupan en KDE Frameworks, KDE Plasma y KDE Applications.

Las aplicaciones KDE están traducidas a aproximadamente a 75 idiomas y están construidas con los principios de facilidad de uso y de accesibilidad moderna en mente. Las aplicaciones de KDE Applications funcionan de forma completamente nativa en GNU/Linux, BSD, Solaris y Mac OS X. La mascota de la comunidad es un pequeño dragón llamado Konqi.

## Pilares

### Filosofía y uso

El entorno KDE se basa en el principio de la personalización; todos los componentes de KDE pueden ser configurados en mayor o menor medida por el usuario. Las opciones más comunes son accesibles en su mayoría desde menús y diálogos de configuración. Los usuarios avanzados pueden optar por editar los archivos de configuración manualmente, obteniendo en algunos casos un mayor control sobre el comportamiento del sistema.

La apariencia y funcionalidad del software de KDE es configurable en varios niveles. Tanto el gestor de ventanas (llamado KWin) como los controles (botones, menús, etc.) utilizan «estilos» intercambiables, que definen cada aspecto de su apariencia. Es por este motivo que el entorno de KDE no mantiene una única apariencia entre versiones, sino que se opta por aquella más ampliamente aceptada en el momento de cada nuevo lanzamiento.

El entorno de escritorio de KDE no se comporta de un modo predefinido, sino que permite al usuario adecuar el sistema a su gusto y comodidad. Esto no impide que el mismo resulte fácil de usar para nuevos usuarios, detalle al que se le da mucha importancia.

## Historia

El proyecto KDE fue iniciado en octubre de 1996 por el programador alemán Matthias Ettrich, quien buscaba crear una interfaz gráfica unificada para sistemas Unix. El nombre surgió como un juego de palabras a partir de CDE (Common Desktop Environment), un entorno de escritorio utilizado por varios Unix.

Originariamente, la sigla «K» representaba la palabra «Kool», pero su significado fue abandonado más tarde. Las otras dos siglas, «DE», describen la utilidad de Plasma como entorno de escritorio.

### KDE 1

El 12 de julio del 1998 se publicó KDE 1.0. Esta versión contenía un panel (barra de tareas y lanzador de aplicaciones), un escritorio sobre el cual dejar iconos, un administrador de archivos (Kfm) y un gran número de utilidades. En noviembre de 1998, al conjunto de herramientas Qt se le licenció adicionalmente bajo la licencia libre de código abierto Q Public License (QPL). El mismo año, la fundación KDE Free Qt fue creada para garantizar que Qt entrarían en una variante de la licencia liberal BSD en caso de que Trolltech dejara de existir o no liberase ninguna versión libre o de código abierto de Qt durante 12 meses. El debate continuó sobre la compatibilidad con la GNU General Public License (GPL), por lo que en septiembre de 2000, Trolltech liberó la versión Unix de las bibliotecas Qt bajo la GPL, además de la QPL, que eliminó las preocupaciones de la Free Software Foundation.Trolltech siguió exigiendo licencias para el desarrollo de software propietario con Qt.

### KDE 2

KDE 2.0, lanzado el 23 de octubre del año 2000, fue reescrito casi por completo, introduciendo importantes mejoras tecnológicas. Entre ellos DCOP (Protocolo de Comunicación de Escritorio), KIO, una biblioteca de E/S, KParts, el cual es un componente de modelo de objetos, lo que permite una aplicación integrar a otra dentro de sí misma, y KHTML, un motor de renderizado de HTML usado por Konqueror, que además de ser un navegador web es un gestor de archivos. Además, en esta versión se mejoró parcialmente el aspecto visual del escritorio.

### KDE 3

KDE 3.0 fue publicado en noviembre del año 2002, y es la evolución de KDE 2. El desarrollo de esta serie fue mucho más largo que el de la anterior. Los cambios de API entre KDE 2 y KDE 3 son menores. El aspecto de la interfaz no varió hasta KDE 3.1, en el que consta una importante mejora referente al tema visual: Keramik fue incluido como nuevo tema por omisión junto con el conjunto de iconos Crystal GT y el antialisado de fuentes. En KDE 3.2 Crystal GT fue reemplazado por Crystal SVG. En KDE 3.4 Keramik fue reemplazado por Plastik.

Todas las versiones de KDE 3 se basan en Qt 3, que solo fue liberado bajo la GPL para GNU/Linux y sistemas operativos tipo Unix, incluyendo Mac OS X.

Salvo algunas aplicaciones de terceros, el desarrollo de KDE 3 ha cesado y sus desarrolladores ya no aplican ningún tipo de mantenimiento sobre este. Sin embargo existe una bifurcación, llevada adelante por otros desarrolladores, llamada Trinity.

### KDE 4

KDE 4.0, lanzado en enero del año 2008, fue reescrito por completo basándose en Qt 4.3. KDE 4 incluye muchas nuevas tecnologías y cambios técnicos. El elemento central es un nuevo diseño del escritorio y el panel, colectivamente llamado Plasma que sustituye a Kicker, KDesktop, SuperKaramba y mediante la integración de su funcionalidad en una sola pieza tecnológica, estando destinada a ser más configurable para aquellos que quieran actualizar la vieja metáfora de escritorio. Hay una serie de nuevos «frameworks», incluyendo Phonon, una nueva interfaz multimedia de KDE independiente de cualquier backend específico cualquiera que sea el SO; Solid, una API para redes y dispositivos portátiles; y Decibel, un nuevo framework de comunicación para integrar a todos los protocolos de comunicación en el escritorio. También se presentó un framework de búsqueda y metadatos, como la incorporación de Strigi, un servicio de indexación de archivos; y la integración de NEPOMUK con KDE.

### KDE Software compilation 4

A partir de la versión 4.4 se produjeron cambios en la nomenclatura para reflejar la nueva realidad del proyecto y de la comunidad. KDE pasó de hacer referencia al software (fundamentalmente el entorno de escritorio) a ser el nombre de la comunidad que lo desarrolla. El software se separó en tres proyectos diferentes:

* KDE Plasma Workspaces (la base del entorno de escritorio)
* KDE Applications (las aplicaciones)
* KDE Developers Plattaform (las bibliotecas y demás herramientas de desarrollo).

Los tres componentes se agruparon bajo el nombre KDE Software Compilation para cada gran lanzamiento.

### KDE Plasma 5

A partir de julio del 2014, el proyecto nuevamente cambió de estructura. Se separó KDE Software compilation de tal forma que KDE Plasma, KDE Applications y KDE Frameworks (sucesor de KDE developers plattaform) tuvieran un calendario de desarrollo independiente. El 15 de julio del 2014 fue lanzado Plasma 5. En esta versión se lanzó un nuevo tema por defecto llamado Brisa, sustituyendo al tema Oxígeno que venía predeterminado en KDE 4, sin embargo el tema Oxígeno todavía persiste, aunque de manera secundaria en Plasma 5. La interfaz gráfica de Plasma 5 ha sido totalmente migrada a QML, además de utilizar OpenGL para la aceleración de hardware, lo que se traduce en una mejor relación rendimiento respecto al consumo de energía. En esta oportunidad, los desarrolladores de KDE dejaron de colocar sus siglas en los lanzamientos. Por lo que el nuevo escritorio solo lleva el nombre Plasma junto con la versión, omitiendo el KDE al principio como sí lo tienen sus escritorios antecesores.

## Proiectos actuales

La comunidad de KDE mantiene múltiples proiectos de software libre. Actualmente lo que previamente se conocía como KDE (o KDE Software compilation) consiste en tres partes:

* KDE Plasma 5, una plataforma UI para diferentes entornos de trabajo tipo Plasma Desktop o Plasma Mobile
* KDE Frameworks, colección de más de 80 librerías construidas en QT (antiguamente conocido como kdelibs)
* KDE Applications, conjunto de aplicaciones desarrolladas para trabajar principalmente en entornos de trabajo tipo linux

Además, hay varias otras aplicaciones que se encuentran dentro de lo que se conoce como "Extragear".

### Otros proyectos

**KDE neon**

Corresponde a un conjunto de repositorios soportados por un sistema operativo base (Ubuntu en su edición LTS), que mantiene instaladas las últimas versiones de los grupos de software KDE y el framework QT.

## Organización del desarrollo

Colaboradores destacados :

| Función | Nombre | Origen |
| - | - | - |
| Diseñador gráfico | Everaldo Coelho | Brasil |
| Diseñador gráfico | Nuno Pinheiro | Portugal |
| Programador | Aaron Seigo y David Faure | Canadá |
| Programador | Duncan Mac-Vicar Prett | Chile |
| Programador | Dirk Mueller; Eva Brucherseifer | Alemania |
| Programador | George Staikos; Lars Knoll | Alemania |
| Programador | Matthias Ettrich | Alemania |
| Programador | Mosfet; Waldo Bastian | Alemania |

Como otros muchos proyectos libres, KDE se construye principalmente con el esfuerzo de voluntarios. Ya que varios cientos de individuos contribuyen a KDE de diversas maneras (programando, traduciendo, produciendo arte, etc.), la organización de la comunidad resulta compleja. La mayoría de los problemas se discuten en las diferentes listas de correo de la misma.

Contrariamente a lo que se podría pensar de una comunidad tan extensa, KDE no cuenta con un liderazgo centralizado; Matthias Ettrich, el fundador del proyecto KDE, no posee mayor peso sobre las decisiones y rumbo del proyecto KDE. Las decisiones importantes, tales como fechas de lanzamiento o inclusión de nuevas aplicaciones, se toman por los desarrolladores principales en una lista de correo restringida. Los desarrolladores principales son aquellos que han contribuido a KDE por un tiempo prolongado. Las decisiones no se toman en un proceso formal de votación, sino a través de discusiones en las listas de correo. Generalmente este método funciona muy bien.

Cualquier usuario es bienvenido a informar sobre errores que haya encontrado en el software («bug»). También es posible realizar peticiones acerca de nuevas funcionalidades («wish»). Basta con comunicarlo, en inglés, en el sitio web habilitado para ello: el KDE Bug Tracking System.

En asuntos legales y financieros KDE es representado por la KDE e.V., organización alemana sin ánimo de lucro.

## Arquitectura

### General

| Componente | Descripción |
| - | - |
| KDE Frameworks | |
| | KIO: KDE Input/Output |
| | KJS: Intérprete de JavaScript |
| | KParts: Arquitectura de componentes |
| KWin | Gestor de ventanas |
| KDE Plasma | Escritorio |
| Qt | Biblioteca para el desarrollo de GUIs |

El software de KDE está escrito principalmente en C++, un lenguaje derivado del lenguaje de programación C con muchas funcionalidades añadidas, entre ellas programación orientada a objetos.

A pesar de las críticas en contra de este (inicialmente menos maduro) lenguaje, su adopción por KDE ha resultado en un desarrollo más dinámico y ciclos de lanzamiento más breves a la vez que ha permitido producir programas eficientes en menor cantidad de líneas de código fuente que las requeridas para iguales tareas empleando lenguajes de programación estructurados (por ejemplo: C).

KDE está construido sobre la biblioteca Qt para programación de aplicaciones gráficas. Qt facilita la programación orientada a objetos y la creación de componentes, proporcionando sólidos cimientos para la construcción de cualquier tipo de aplicación gráfica.

Tras la incorporación en Qt de la tecnología Qt Quick, que facilita el desarrollo de interfaces de usuario flexibles y modernas, cada vez más componentes de KDE están empezando a usar el lenguaje que la misma provee, llamado QML (“Qt Markup Language”). QML, que es un superconjunto de ECMAScript (JavaScript), se usa para definir las interfaces, mientras que para la lógica de los programas suele mantenerse C++ (sin embargo, también es posible implementar parte de la lógica usando QML).

KDE cuenta además con su propio sistema de entrada/salida llamado KIO, el cual puede acceder a un archivo local, un recurso de red (a través de protocolos como HTTP, FTP, NFS, SMB, etc.), o protocolos virtuales (cámara de fotos, archivo comprimido, etc.) con absoluta transparencia, beneficiándose de ello toda aplicación de KDE. La arquitectura modular de KIO permite a los desarrolladores agregar nuevos protocolos sin requerir modificaciones en la base del sistema.

Por último, KParts permite incluir aplicaciones dentro de otras, evitando así la redundancia de código a lo largo del sistema. Adicionalmente posee su propio motor HTML llamado KHTML, el cual está siendo reutilizado y ampliado por Apple (para crear su navegador Safari), y por Nokia.

**KDE 3**

Usa la versión 3 de las bibliotecas gráficas Qt 3, y su sistema de sonido es una nueva versión del criticado aRts, ya presente en KDE 2.

El motor KHTML, utilizado por Konqueror, también proviene de KDE 2. Para intercomunicación de aplicaciones se diseñó el sistema DCOP, aunque posteriormente se fue sustituyendo por su evolución D-BUS.

**KDE SC 4**

Véase también KDE Software Compilation 4

KDE SC 4 está basado en la cuarta versión de Qt, que, en principio, incrementa el rendimiento respecto a la versión anterior. La renovación de las bibliotecas y las herramientas de compilación también facilitan la adaptación a plataformas no basadas en X11, incluyendo Microsoft Windows y Mac OS X, ya que uno de los objetivos de KDE SC 4 es que pueda ser adaptado más fácilmente a diferentes sistemas operativos.

### Aplicaciones

Véase también KDE Applications

Existe un gran número de aplicaciones que utilizan la biblioteca Qt y otras que además usan las bibliotecas de KDE. Dicha aplicaciones se manejan en el proyecto KDE Applications, rama que consta de un calendario de desarrollo independiente al del Frameworks y Plasma. Aunque funcionan bajo cualquier entorno de escritorio o gestor de ventanas, su ejecución bajo KDE Plasma Workspaces es más eficiente.

### Tecnologías

* KDE Frameworks - compilación de todas las Bibliotecas.
* KIO - Permite acceso a archivos, sitios web y a otras fuentes con un API simple y consistente.
* Kiosk - Permite desactivar las características de KDE para crear un entorno más controlado.
* KParts - Componente framework.
* KWin - Gestor de composición de ventanas.
* Akonadi - Framework de gestión de información personal.
* Plasma - Motor de renderizado del escritorio y panel (GUI).
* Phonon - Framework multimedia.
* Decibel - Framework de comunicaciones.
* Nepomuk - Escritorio semántico.
* Solid - Framework de integración de dispositivos.
* Sonnet - Corrector ortográfico.
* ThreadWeaver - Biblioteca para usar multiprocesadores de forma más eficiente.
* WebKit - Motor de renderizado HTML.

## Lanzamientos

### Información general

Como muestra el historial del proyecto (debajo), el equipo de KDE libera nuevas versiones en períodos breves. Son reconocidos por apegarse a los planes de lanzamiento, y es extraño que un lanzamiento se retrase más de dos semanas.

Una excepción fue KDE 3.1, el cual se demoró por más de un mes debido a un número de problemas relacionados con la seguridad en el código base. Mantener planes de lanzamiento estrictos en un proyecto voluntario de este tamaño es inusual.

### Lanzamientos mayores

Un lanzamiento mayor (en inglés, «major release») de KDE Plasma o Applications tiene dos números de versión (por ejemplo KDE Plasma 5.5).

Todos los lanzamientos con el mismo número de versión mayor (KDE 1, KDE 2, KDE 3, etc) son compatibles tanto en código binario como en código fuente. Esto significa, por ejemplo, que cualquier software desarrollado en KDE SC 4.2 funcionará con todos los lanzamientos de KDE SC 4.

Excepto durante cambios mayores de versión, nunca ocurren alteraciones con requisitos de recompilación o modificación de código fuente. Esto mantiene una API (Application Programming Interface o interfaz de programación de aplicaciones) estable para los desarrolladores de aplicaciones KDE. Los cambios entre KDE 1 y KDE 2 fueron grandes y numerosos, mientras que los cambios en la API entre KDE SC 4 y KDE Plasma y Applications 5 fueron comparativamente menores. Esto significa que las aplicaciones pueden ser fácilmente transformadas a la nueva arquitectura.

En cuanto un lanzamiento mayor se encuentra listo y es anunciado, se añade a la rama («branch») del repositorio Subversion, mientras que en la principal («trunk») comienza el trabajo sobre el siguiente lanzamiento mayor. Un lanzamiento mayor requiere varios meses para culminar, y muchos «bugs» encontrados durante esta etapa son eliminados también en la rama estable.

### Lanzamientos menores

Para lanzamientos menores se agendan fechas de lanzamiento menos separadas. Un lanzamiento menor de KDE tiene tres números de versión (por ejemplo KDE 1.1.1) y los desarrolladores se enfocan en reparar «bugs» y mejorar aspectos menores en los programas en vez de agregar funcionalidad.

## KDE y Wikipedia

El 23 de junio de 2005 se supo que el proyecto KDE y la Fundación Wikimedia se unían en un esfuerzo cooperativo. Se prevé, en particular, poner a disposición el contenido de los proyectos de Wikimedia por medio de una interfaz de servicios web para programas de KDE.

Desde KDE 3.5 ya se han comenzado a integrar funciones de apoyo de Wikipedia, como muestra de ello el editor Kate ya incluye la sintaxis wiki.

Amarok muestra información sobre los artistas de Wikipedia con la ayuda de un navegador web incorporado.

## Distribuciones

A continuación se muestra una lista (en forma de tabla) de distribuciones Linux y distribuciones BSD que incluyen el entorno de escritorio KDE Plasma por omisión.

| Nombre | Distribución base/Notas |
| - | - |
| ArtistX | Ubuntu |
| Aurox | Fedora |
| BackTrack | SLAX, usa KDE 3.5 |
| Chakra | Inicialmente Arch Linux, ahora no se basa en ninguna |
| Debian GNU/Linux | Debian GNU/Linux. Debian-KDE, desde la versión 4.0 |
| DesktopBSD | FreeBSD |
| Edubuntu KDE | Edubuntu |
| Fedora-KDE | Red Hat Linux |
| Freespire | Linspire |
| KaOS | Inicialmente Arch Linux, ahora no se basa en ninguna |
| Kanotix | Knoppix |
| KDE neon | Ubuntu |
| Kubuntu | Ubuntu |
| Kurumin | Knoppix |
| Linspire | Kubuntu |
| Linux Mint KDE | Kubuntu |
| Mandriva | Red Hat Linux |
| Manjaro | Arch Linux |
| MEPIS | Debian GNU/Linux |
| openSUSE | SUSE Linux |
| Pardus | Pardus |
| PC-BSD | FreeBSD |
| PCLinuxOS | Mandriva Linux |
| Q4OS | Debian |
| Sabayon Linux | Gentoo |
| Aptosid (antiguamente Sidux) | Debian GNU/Linux, rama unstable (sid) |
| SLAX | Slackware |
| SUSE Linux | Slackware |
| VectorLinux | Slackware |
| Xandros | Debian GNU/Linux |

## Críticas

* KDE fue criticado en sus inicios debido a que la biblioteca sobre la que se desarrolló (Qt), a pesar de seguir un desarrollo basado en el código abierto, no era libre. El 4 de septiembre de 2000, la biblioteca se comenzó a distribuir bajo la licencia GPL 2.1 y las críticas fueron cesando paulatinamente. Actualmente, y desde la versión 4.5, la biblioteca está disponible adicionalmente bajo LGPL 2.1.
* Algunas personas externas al proyecto critican la similitud de KDE con el entorno de escritorio de Windows. Esta observación, sin embargo, recae sobre la selección de parámetros predefinidos del entorno; a menudo orientado a facilitar su uso a nuevos usuarios, acostumbrados en su mayoría a trabajar con los sistemas operativos de Microsoft. No obstante, KDE tiene una alta capacidad de configuración y en su rama 4 dispone de efectos de escritorio integrados en Plasma y KWin, equiparables a los de Compiz.
