Informação para
desenvolvedores

Endless OS é um sistema operacional desenhado para suprir demandas específicas dos usuários de países emergentes. Para muitos deles, o Endless será seu primeiro computador.
Durante o desenvolvimento do sistema operacional, as pesquisas de campo guiaram cada escolha sobre o design. Isso nos levou à conclusão de que a extrema simplicidade é a chave e esse mantra se tornou a base da nossa filosofia de design.

Desafios

A maioria dos nossos usuários vive em lugares onde o acesso à informação é restrito e computadores extremamente caros. A indústria de tecnologia raramente considera novas soluções direcionadas específicamente às necessidades deste mercado. Imagine criar um reprodutor de música para alguém que não sabe que um triângulo apontando para a direita significa Tocar, nem sabe o que é uma ‘lista de reprodução’. Talvez o único equipamento para tocar música que essa pessoa teve foi um rádio. Ou simplesmente nada.
Nosso objetivo é resolver estes desafios com o Endless OS.

Endless OS

Não é uma típica distribuição Linux. Não utilizamos rpm, apt ou qualquer outro sistema de empacotamento padrão. Utilizamos um sistema de arquivos raiz habilitado apenas para leitura, e gerenciado pelo OSTree. Juntamente com esse sistema base, provemos pacotes de aplicativos rodar com programas sobrepostos. Temos usuários diferentes. A maioria das distribuições de Linux para desktop são direcionados a usuários e desenvolvedores especialistas. A simplicidade é a chave então escolhemos com cuidado os melhores programas disponíveis para nossos usuários.
Várias tecnologias fazem parte da base do nosso OS, em particular Linux kernel, OSTree, systemd, GNU, X, GNOME, e Xapian.

Nossa filosofia de código aberto

Abraçamos os princípios do software livre e de código aberto e reconhecemos uma grande dívida com ele na criação do Endless OS. Sempre que podemos trabalhamos upstream e contribuímos para o código aberto. Ainda que nem tudo o que criamos seja de código aberto, nós liberamos a maioria dos componentes do nosso sistema sob licenças de software livre. Muitos integrantes da nossa equipe têm uma longa história com projetos de código aberto e seguem fazendo parte ativa dessas comunidades.

Você pode notar que mantemos forks de muitos pacotes upstream. Na maioria dos casos, isso acontece por que submetemos nossos patches upstream and backport para as versões estáveis que enviamos.

Nosso software

Endless OS incorpora uma grande quantidade de software. Temos criado uma série de projetos e os liberamos sob licenças livres e gratuitas. Também temos feito algumas mudanças nos projetos upstream.

Acesse nossa página no GitHub para a lista completa ›

Hardware

Metrics Kit

Instalando e atualizando

Infraestrutura Endless OS

Aplicativos

Sistema de Conteúdo Offline

  • Knowledge Library — Componentes para desenvolver aplicativos de conteúdo off-line.
  • Knowledge Services — Serviços de sistema usados por aplicativos de conteúdo off-line.
  • Xapian GLib – Vinculações GObject para a biblioteca de dados Xapian.
  • Xapian Bridge – Servidor HTTP leve para acessar bases de dado Xapian.
  • Endless NDN — Distribuição de dados baseada em NDN.
  • Shard — Formato de pacote de dados para conteúdo off-line.

Ferramentas de Desenvolvimento

  • GH Fetch — Baixador, arquivador e atualizador para seus GitHub repos. Como BackHub, porém grátis!
  • XDelta3 Dir Patcher — Ferramenta para gerar pacotes XDelta3 diff e aplicá-los.
  • XDelta3 para Ruby — Vinculações de Ruby para a ferramenta XDelta3.
  • Coding Shell Extensions — Várias extensões de GNOME Shell para desenvolvedores.
  • Difflint — Linter que vai examinar apenas novas oportunidades quando você commit them.

Core Endless OS

Para nossa experiência de usuário básica, utilizamos uma grande parte da tecnologia GNOME. Como nossos usuários são diferentes dos usuarios de GNOME, fizemos algumas mudanças fundamentais na experiência e mantivemos forks permanentes.

  • Área de Trabalho — Um versão muito personalizada da área de trabalho do GNOME (GNOME Shell) empodera a experiência da área de trabalho no Endless OS.
  • Central de Ajuda – Nossa documentação de usuário se baseia na documentação da área de trabalho GNOME e o visor de ajuda Yelp. Você pode encontrar o código desses quatro projetos no GitHub: yelp yelp-xsl gnome-user-docs gnome-getting-started-docs.
  • Tema da Área de Trabalho— O tema da área de trabalho é uma versão muito modificada de Adwaita, o tema da área de trabalho do GNOME.
  • Exploration Center Content — Conteúdo para o Exploration Center.
  • Speedwagon — Splash screen exibida ao iniciar os aplicativos.
  • Shell Content e GNOME Software Data — Contém dados sobre aplicativos na central Mais Programas e links na área Descubra
  • Meta — Controla quais pacotes fazem parte do Endless OS.
  • Social Bar — Facebook como uma barra lateral na área de trabalho.
  • Media — Mídia incluída no Endless OS.
  • Keyring — Chaves usadas para verificar atualizações de OSTree.

Antiga central de programas

Este software era utilizado na central de aplicativos do Endless OS 2.6 ou versões anteriores. Foi substituído pelo GNOME Software.

Outro software de código aberto

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 tão grandes quanto as já listadas aqui e a maioria delas já existe 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

Quase todos os demais pacotes e qualquer customização aplicada por nós podem ser baixados a partir de nosso repositório:


$ 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

A chave de identificação para o repositório indicado é DC063E08.

Todas as marcas registradas são de propriedade de seus respectivos donos.