Información para
desarrolladores

Endless OS es un sistema operativo diseñado para satisfacer las demandas de los usuarios marginados en el mundo en desarrollo. Para muchos de nuestros usuarios, Endless será su primera computadora.
Al desarrollar el sistema operativo, los resultados de la investigación de campo informaron cada decisión que hicimos en el diseño. Nuestra investigación nos trajo a la conclusión que la simplicidad extrema es clave, y ese mantra se ha convertido en la base de nuestra filosofía de diseño.

Desafíos

La mayoría de nuestros usuarios viven en un lugar donde el acceso a la información es restringido. La industria de la tecnología raramente considera nuevas soluciones para dirigirse a estas necesidades de nuestros usuarios. Imagina diseñar un reproductor de música para alguien que no sabe que un triángulo apuntando hacia la derecha significa Reproducir, ni sabe lo que es una 'lista de reproducción'. Tal vez el único aparato para escuchar música que esa persona ha tenido a su alcance fue un radio. O absolutamente nada. Nuestro objetivo es resolver estos desafíos a través de Endless OS.

Endless OS

No es tu típica distribución de Linux. No utilizamos rpm, apt o cualquier otro sistema de empaquetamiento. Utilizamos un sistema de archivos raíz de sólo lectura gestionado por OSTree con paquetes de programas superpuestos superiormente. Nuestro usuario es diferente. La mayoría de las distribuciones Linux de escritorio están orientados a usuarios y desarrolladores expertos en tecnología. La simplicidad es clave, por lo cual elegimos con cuidado y elegimos los mejores programas disponibles para nuestros usuarios.
Varias tecnologías básicas forman la base de nuestro sistema operativo, en particular, Linux kernel, OSTree, systemd, GNU, X, GNOME, y Xapian.

Nuestra filosofía de código abierto

Recibimos los principios del software gratis y de código abierto con brazos abiertos. Y reconocemos una gran deuda con él en la creación de Endless OS. Siempre que podemos, trabajamos upstream y contribuimos al código abierto. Aunque no todo lo que creamos puede ser de código abierto, nosotros liberamos la mayoría de los componentes de nuestro sistema bajo licencias de software libre. Muchos miembros de nuestro equipo central tienen una larga historia con proyectos de código abierto, y siguen siendo una parte activa de esas comunidades.

Quizás puedas notar que mantenemos forks de muchos paquetes upstream. En la mayoría de los casos, esto se debe a que subimos nuestros parches upstream y hacemos un backport a nuestra versión más estable.

Nuestro software

Endless OS incorporates a lot of software. We have created a number of projects and released them under free and open licenses. We have also made a number of changes to upstream projects.

Visita nuestra página de GitHub para una lista completa ›

Hardware

Kit de métricas

  • Métricas API — API ligera para la grabación de métricas de usuario de programas y servicios del sistema.
  • Event Recorder Daemon — Guarda métricas de usuario y las transmite en pequeñas cantidades cuando hay una conexión al internet.
  • Servicio de Métricas — Graba información sobre el sistema, como la información de rendimiento.
  • Phone Home — Medidor anónimo de usuario.

Instalando y actualizando

Infraestructura Endless OS

  • Servicio de licencia— Recopila y muestra la información de licencia de software de código abierto en nuestro sistema.
  • Boot Helper — Herramientas de arranque para el hardware Endless.
  • Instalador Node Module — Empaquetador para los módulos de la NPM utilizados en nuestro sistema.

Programas

Sistema de contenido fuera de línea

  • Knowledge Library — Componentes para desarrollar programas con contendio off-line.
  • Knowledge Services — Servicio de sistemas utilizados por programas de contenido off-line
  • Xapian GLib —Vinculaciones GObject para biblioteca de datos Xapian.
  • Xapian Bridge — Servidor HTTP para acceder a base de datos de Xapian.
  • Endless NDN — Distribución de datos basada en NDN.
  • Shard — Formato de datos empaquetados para contenidos sin conexión.

Herramientas de desarrollo

Core Endless OS

Para nuestra experiencia de usuario básica, utilizamos una gran cantidad de tecnologías de GNOME. Como nos dirigimos a un grupo diferente de usuarios que el proyecto upstream de GNOME, hemos hecho algunos cambios bastante fundamentales en la experiencia, por lo cual mantenemos forks permanentes de estos.

  • Escritorio— Una versión muy personalizada del escritorio GNOME (GNOME Shell) empodera la experiencia de escritorio Endless OS.
  • Centro de ayuda – Nuestra documentación de usuario se basa en la documentación del escritorio GNOME y el visor de ayuda Yelp. Puedes encontrar el código de estos cuatro proyectos de GitHub: yelp yelp-xsl gnome-user-docs gnome-getting-started-docs.
  • Tema de escritorio — El tema de escritorio es una versión muy modificada de Adwaita, el tema de escritorio GNOME.
  • Exploration Center Content — Contenido para el Centro de Programas.
  • Speedwagon — Se muestra Splash screen cuando se inician programas.
  • Shell Content y GNOME Software Data — Contiene datos sobre programas en la Central de Programas y links para el área “Descubre”.
  • Meta — Controla qué paquetes forman parte de Endless.
  • Social Bar — Facebook como una barra lateral en el escritorio.
  • Media —Ejemplos de medios incluidos en Endless OS:
  • Keyring — Llaves usadas para verificar actualizaciones de OSTree.

Antiguo Centro de Programas

Este software fue usado para el centro de programas de Endless OS 2.6 y anteriores. Ahora ha sido sustituido por GNOME Software.

Otro software de código abierto

 

Nós mantemos alguns repositórios com instruções para ajudar a transformar softwares populares de Linux em pacotes de Flatpak:

Aqui estão os links para todos os pacotes de código aberto que nós personalizamos, desde o Linux Kernel até os jogos. Essas personalizações não são de tão grandes quantos as já listadas aqui e a maioria delas ja existem upstream. Fizemos backport das versões estáveis que utilizamos e assim mantemos estas forks  personalizadas para mostrar exatamente o que se encontra dentro do sistema.

accountsservice arcanist base-files base-passwd chromium-browser debhelper dh-waf dpkg emeus flatpak flocker-openssl flocker-rest-client gdm gjs glib gnome-bluetooth gnome-builder gnome-control-center gnome-desktop gnome-initial-setup gnome-session gnome-settings-daemon gnome-software graphene grub gtk jruby-pgp libgsystem libphutil linux marathon-lb megaglest mesos-deb-packaging ModemManager mutter nautilus ndn-cxx NFD open-build-service ostree phabricator plymouth pulseaudio rufus shim snipe-it systemd system-config-printer totem u-boot WebKit xapian-core xdg-user-dirs xdg-user-dirs-gtk xf86-video-armsoc xf86-video-intel

Para casi todos los demás paquetes y cualquier personalización que hayamos aplicado a ellos, puedes descargar sus fuentes de nuestro repositorio:


$ wget http://sources.endlessm.com/debian/keys/endless-sources-key.pub.asc
$ sudo apt-key add endless-sources-key.pub.asc
$ echo "deb-src http://sources.endlessm.com/debian eos3 core endless" \
| sudo tee /etc/apt/sources.list.d/pub-sources.list
$ sudo apt-get update
$ sudo apt-get source

La clave de firma de identificación para el repositorio indicado anteriormente debe ser DC063E08.

Todas las marcas registradas son propiedad de sus respectivos dueños.