GitLab - Como fazer parte do projeto GNOME - Parte 1
Hey! :simple_smile:
Então você quer ajudar o projeto GNOME?
Sabe programar? Não sabe? Não importa pois nesse projeto temos espaço para todos.
Por onde começar? Newcomers?
O conceito de newcomers foi criado para facilitar a vida de quem quer ajudar o projeto mas nunca teve contato com a comunidade.
Para criar esse conceito, os próprios desenvolvedores e outros voluntários, criaram documentos que ajudam a guiar os novatos. Nesses documentos com as etiquetas “newcomers” o novato no projeto ira encontrar as informações necessárias para se encontrar na estrutura da comunidade GNOME.
As informações com essa etiqueta revelam coisas como:
- Como navegar pela página do projeto
- Como encontrar projetos para ajudar
- Como o GNOME esta dividido e quais são seus módulos
- Como setar um ambiente de trabalho e “construir” um projeto
- Como encontrar um problema e como ajudar (código ou não)
- Como reportar problemas
- Como testar os problemas descritos para cada projeto
- Como entrar em contato com a comunidade
E com essa lista enorme de possibilidades você, sem conhecimento nenhum ou com algum/muito conhecimento sobre a comunidade pode começar a ajudar o projeto GNOME.
E para quem não sabe programar?
Existem muitas maneiras de ajudar o projeto GNOME se você não sabe programar. Vou listar somente algumas
- Testes: Você pode verificar se os problemas reportados ainda são válidos na última versão do aplicativo que você esta ajudando
- Mais testes: Você pode abrir novas requisições para que os desenvolvedores corrijam problemas que você encontrou nos testes que fez enquanto usava o aplicativo
- Criatividade: Você pode levantar ideias sobre novas funcionalidades para os aplicativos e cadastrá-las como novas “Features” para que os desenvolvedores e você possam discutir sobre elas.
- Ponto de vista do usuário: Você pode ajudar os desenvolvedores e outros usuários a garimpar melhor uma ideia ou um problema levantado participando das conversas.
- Documentação: Tem muita coisa para ser documentada.
- Tradução: Você pode ajudar a traduzir documentos ou os aplicativos.
Bom, a lista para quem não é desenvolvedor é gigante. Ser desenvolvedor só adicionaria a possibilidade de programar/debugar o aplicativo. Todo o resto pode ser feito por não desenvolvedores em conjunto com os desenvolvedores.
E como começar? Onde encontro as informações?
No site oficial do GNOME podemos encontrar o portal de entrada para os interessados em ajudar o projeto.
Nesse primeiro link você vai encontrar, entre alguns outros documentos, documentos que te ensinam a:
- Escolher um projeto
- Construir um projeto
- Resolver uma tarefa
- Enviar a resolução
- Lista com uma recomendação de leitura
E para que esse post então?
O projeto GNOME esta, agora, migrando sua plataforma para o Gitlab. Com esse post eu pretendo cobrir o básico, em português, para que você possa começar a ajudar o projeto já utilizando essa nova plataforma.
Ferramentas e plataformas
Para ajudar o projeto GNOME e muitos outros projetos Opensource é necessário que você seja introduzido, inicialmente, a algumas poucas ferramentas.
São elas:
- IRC
- Gitlab
IRC
O IRC (Internet Relay Chat) é uma rede baseada na arquitetura cliente/servidor que tem como objetivo facilitar e prover uma comunicação em modo texto para grupos ou indivíduos.
O IRC esta no mercado a anos e teve seu pico de uso a alguns anos atrás e mesmo com a queda de usuários ele continua a ser uma das principais ferramentas de comunicação entre desenvolvedores e usuários dos projetos opensource.
Para entrar na rede IRC você vai precisar de um cliente e existem diversos.
Se você é super do terminal como eu, indico o uso do weechat. Se você gosta de interfaces gráficas, indico o Polari por ser o cliente de IRC ofocial do projeto GNOME.
Depois de instalar um dos dois aplicativos ou qualquer outro cliente IRC que lhe agrade é necessário configurar o cliente.
Existem diversos servidores IRC e a comunidade GNOME possuí um próprio
Os detalhes para a configuração deixo em suas mãos :simple_smile: e coloco aqui só as informações necessárias para a conexão:
Servidor: irc.gnome.org
Depois de conectado você possuí um apedido (nick) e esta livre para entrar nos canais de conversa. Uma lista dos canais pode ser encontrada aqui:
Lista dos canais do Servidor IRC do Projeto GNOME
Comandos IRC (Para quem não usa o Polari)
Os comandos no IRC são dados pelo uso do ‘/’ seguido do comando desejado.
- Entrar no canal #gnome-br
/join #gnome-br
- Sair do canal #gnome-br
/close #gnome-br
- Enviar uma mensagem privada
/msg
mensagem
A lista de comandos no IRC é enorme e você pode passar um dia todo lendo sobre os comandos :simple_smile:
Comandos IRC (Para quem usa o Polari)
Para quem esta usando o Polari basta clicar no ‘+’ e escrever o nome da sala que quer participar.
Canal #gnome-br
O canal #gnome-br é o canal onde os Brasileiros que estão ajudando ou gostariam de ajudar a comunidade GNOME se encontram.
É importante lembrar que o canal é uma sala compartilhada entre os usuários. Tudo o que se escreve no canal é visto por todos os usuários que estão no canal naquele momento.
É também importante lembrar que no IRC o conceito de mensagem offilne que sera entregue ao usuário assim que ele conectar ao servidor não existe. O usuário tem acesso somente as mensagens que foram enviadas enquanto estava conectado a determinada sala.
Tendo isso em mente, la vamos nós :simple_smile:
Para quem não esta no Polari: /join #gnome-br
Para quem esta no Polari Clique no ‘+’ e digite #gnome-br
E uhu! Me procure por la. Meu apelido no IRC é thimendes. E se sinta livre para conversar com todos em português :simple_smile:
Gitlab
Agora que você tem uma ideia do que é o IRC e da sua importância para o projeto GNOME e outros projetos opensource vamos para a nova plataforma de desenvolvimento que o projeto GNOME adotou recentemente.
Gitlab é uma plataforma de desenvolvimento que procura facilitar a interação entre desenvolvedores/desenvolvedores, desenvolvedores/usuários e usuários/usuários. É uma plataforma gigante que acumula diversas funcionalidades.
Por hoje vamos ficar no básico do Gitlab e vamos cobrir o seguinte:
- Criar uma conta no GNOME Gitlab
- Encontrar um projeto
- Buscar por problemas com a estampa “newcomers” e ver o que podemos fazer com elas
- Aprender a criar novos relatos de problemas encontrados ou features desejadas.
Criar uma conta no GNOME Gitlab
Para acessar o GNOME Gitlab é necessário abrir o seu navegador web e entrar com o seguinte endereço: https://gitab.gnome.org
Esse endereço nos leva a uma instância do Gitlab reservada somente para projetos relacionados a comunidade GNOME
Agora você deve estar vendo uma tela parecida com essa:

Clique na aba “Register”, entre seus dados e prove que você não é um robô 👍

Vamos começar 👍
Após fazer o login no GNOME GitLab você vai dar de cara com uma tela parecida com essa:

Uma explicação rápida da tela principal:
- Your Projects: Uma lista dos seus projetos*
- Starred Projects: Projetos que você marcou como favorito
- Explore Projects: Para buscar por outros projetos
- New Project: Para criar um novo projeto
Agora no menu:
- Projects: Uma versão da tela principal no Menu
- Groups: Os grupos que você faz parte
- Activity: Listar a atividade dos seus projetos
- Sua foto: Acesso as configurações e ao seu perfíl
Existem outras funcionalidades na tela. De uma fuçada 😄
Buscando por um projeto
Vamos buscar por um projeto. Vamos começar com o GNOME-Calendar. No campo de busca de projetos digite gnome-calendar como mostrado na figura abaixo

E depois de clicarmos no projeto chegamos a uma tela como a mostrada abaixo

E agora?
Agora estamos na página do projeto e é ai que tudo acontece. Nessa página podemos:
- Reportar problemas
- Ver os problemas reportados
- Acompanhar o estado do desenvolvimento do programa
- Conversar com os desenvolvedores
- Temos acesso a todo o projeto
Agora podemos fazer algo.
Vamos encontrar uma issue (problema/requisição) a qual podemos ajudar?
No meu ao lado esquerdo é possível encontrar a palavra “Issues” e quando passamos o mouse sobre ela podemos encontrar a palavra “List” e basta clicar em “List” para termos uma tela parecida com esta abaixo:

Ok. Mas o que significa tudo isso?
Na foto da tela que postei aqui é possível ver que no momento que tirei a foto existiam 206 “issues” em aberto e 15 fechadas.
Isso significa que temos muito trabalho a frente :simple_smile:
Abaixo temos um campo de pesquisa do qual vamos falar daqui a pouco e uma lista de com alguns carimbos coloridos (tags)
Cada tag tem um significado para o projeto e são elas que nos guiam na busca por algo ao qual possamos trabalhar.
Algumas tags encontradas são:
- Feature: A issue em questão possuí algum pedido de funcionalidade nova
- Bug: A issue em questão contem uma descrição de uma falha no sistema que precisa ser testada e quando possível, arrumada
- Needs Design: A issue em questão precisa de uma nova funcionalidade gráfica
- Patch: A issue em questão já possuí um patch (uma correção) que precisa ser testada e depois aprovada ou reprovada.
E olha 😄. Uma das tags é para “newcomers”
E essas são as tags que vamos olhar enquanto estamos sendo iniciados no projeto. Nada lhe impede de olhar as outras. A diferença das issues que possuem a tag “newcomers” e as outras que não a possuem é que as que estão com a tag “newcomers” provavelmente não exigem que você conheça profundamente o código para trabalhar nelas.
Como listar as issues marcadas para os iniciantes (newcomers)
Lembra daquele campo de busca? Então! Vamos clicar nele e digitar
label: Newcomers
E enquanto você digita vai ver que a palavra “Newcomers” aparece próximo ao campo de pesquisa. Clique nela, pressione enter e pronto.
Caso ache melhor…é possível copiar o texto “label: Newcomers” e colar na barra de busca :simple_smile:
Agora a lista só carrega tarefas reservadas para iniciantes 😄

Agora é só ir uma a uma para ler e conhecer melhor os desafios que você possuí pela frente.
Entrei em uma Issue para Newcomers. E agora?
Assim que você abrir uma issue, seja ela para newcomers ou não, você vai se deparar com um texto (algumas vezes grande) que descreve o problema enfrentado pelo usuário. No caso de uma nova feature é provável que você vá encontrar um texto onde o usuário explica suas ideias e/ou necessidades.
Alem disso a um campo aberto para que você possa escrever um comentário. E talvez encontre também comentários de outras pessoas como você.
A ideia é utilizar esse campo para conversar com outros desenvolvedores do projeto e com o usuário que criou a issue.

E se eu encontro algum problema novo no projeto?
Usamos também o mesmo sistema no caso em que encontramos alguma funcionalidade que parece não fazer o que promete, ou se o programa anda fechando sozinho ou qualquer outra anomalia no uso.
A diferença é que para reportar algum comportamento não esperado ou requerer alguma funcionalidade vamos usar o botão “New Issue”

E nessa nova tela vamos tentar descrever o problema ou a funcionalidade de uma forma simples. É ideal que, no caso de um bug, possamos deixar claro para o desenvolvedor quais são os passos que ele deve seguir para reproduzir o problema. Também é importante atribuir as etiquetas (tags) a issue que você esta criando.
E depois de preencher tudo :simple_smile: é só clicar em “Subimit issue” para contribuir com o projeto :simple_smile:
Uhu!
Como falei antes….existem diversas maneiras de contribuir com o projeto.
- Reportar bugs
- Testar bugs e fazer comentários sobre eles na issue apropriada
- Traduzir
- Programar
O que esperar para a parte 2?
- Flatpak
Info
- Esse post pode conter erros de todos os tipos
- A ideia é melhorar o post com seus comentários e sua ajuda
Esse post foi inspirado nos dois dias de encontro que o Georges Neto organizou para ensinar Brasileiros como contribuir com o projeto GNOME-Calendar ao qual ele é o desenvolvedor principal.