\documentclass{beamer}

\usepackage{ae,aecompl}
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}

\usepackage{url}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % for right arrow

\usetheme{CambridgeUS}
\beamertemplatenavigationsymbolsempty

\title{Como virar um membro do projeto Debian}
\author{Sérgio de Almeida Cipriano Júnior \\ \url{cipriano@debian.org}}
\date{\today}

\newcommand{\gnu}{\texttt{GNU}}
\setbeamertemplate{footline}{}

\begin{document}

\section{Título}
\begin{frame}
	\titlepage
\end{frame}

\section{Quem sou eu?}
\begin{frame}{Quem sou eu?}
	\begin{itemize}
		\item Engenheiro de Software pela UnB;
		\item Membro da comunidade Debian Brasília desde 2020;
		\item Debian Developer;
		\item Engenheiro de Software Sênior na Magalu Cloud.
	\end{itemize}
\end{frame}

\section{O que eu sei sobre o processo}
\begin{frame}{O que eu sei sobre o processo}
	\begin{center}
		\includegraphics[width=1\textwidth]{img/personal_history.png}
	\end{center}
\end{frame}

\section{O mais importante}
\begin{frame}{O mais importante}
Você não precisa ser um(a) desenvolvedor(a) oficial do Debian para ajudar a
melhorar o Debian.
\end{frame}

\section{Qual o seu objetivo?}
\begin{frame}{Qual o seu objetivo?}
	\begin{itemize}
		\item Que tipo de contribuição você faz ou quer fazer no Debian?
    \pause
    \item Por que você precisa ter os privilégios de um membro do projeto?
	\end{itemize}
\end{frame}

\section{Status}
\begin{frame}{Status}
	\begin{itemize}
		\item Debian Contributor
		\item Debian Maintainer (DM)
		\item Debian Developer non-uploading (DD)
		\item Debian Developer uploading (DD)
	\end{itemize}
\end{frame}

\section{Permissões}

\begin{frame}{Debian Contributor}
  \begin{itemize}
    \item Manter pacotes com a ajuda de um sponsor;
    \pause
    \item Criar e/ou revisar traduções;
    \pause
    \item Criar ou melhorar documentação;
    \pause
    \item Manter o site debian.org;
    \pause
    \item Triagem de bugs;
    \pause
    \item Ajudar qualquer projeto que está no Salsa;
    \pause
    \item Organizar eventos;
    \pause
    \item Manter um subprojeto do Debian.

    \hspace{1.5em}
    \begin{minipage}{0.9\textwidth}
      \begin{columns}[T]
        \column{0.3\textwidth}
        \begin{itemize}
          \item Debian Installer
          \item Salsa CI
          \item DebCI
          \item Autopkgtest
        \end{itemize}

        \column{0.3\textwidth}
        \begin{itemize}
          \item DebHelpers
          \item Lintian
          \item Images
          \item Sbuild
        \end{itemize}

        \column{0.3\textwidth}
        \begin{itemize}
          \item APT
          \item DAK
          \item Wafer
          \item Tracker
        \end{itemize}
      \end{columns}
    \end{minipage}

  \end{itemize}
\end{frame}

\begin{frame}{Debian Maintainer}
  \begin{itemize}
    \item Tudo que um Debian Contributor pode fazer;
    \pause
    \item Permissão restrita de upload à alguns pacotes do Archive;
  \end{itemize}
\end{frame}

\begin{frame}{Debian Developer non-uploading}
  \begin{itemize}
    \item Tudo que um Debian Maintainer pode fazer;
    \pause
    \item É membro do projeto;
    \pause
    \item Pode votar em GRs e para DPL;
    \pause
    \item Pode se candidatar para DPL;
    \pause
    \item Tem acesso a lista da debian-private;
    \pause
    \item Pode fazer login na infraestrutura do Debian;
    \pause
    \item Pode pedir dinheiro para o Debian;
    \pause
    \item Pode ser advocate de pessoas que querem virar DM/DD.
    \pause
    \item Pode ser um delegado do DPL.
  \end{itemize}
\end{frame}

\begin{frame}{Debian Developer uploading}
  \begin{itemize}
    \item Tudo que um Debian Developer non-uploading pode fazer;
    \pause
    \item Permissão para fazer upload de TODOS os pacotes.
    \pause
    \begin{itemize}
      \item Acesso similar ao de um usuário root.
    \end{itemize}
  \end{itemize}
\end{frame}

\section{Advocate}

\begin{frame}{O que é necessário para virar um DM?}
  \begin{itemize}
    \pause
    \item Precisa ter pelo menos um advocate.
    \pause
    \item O DD precisa estar familiar com o trabalho do candidato;
    \pause
    \item O candidato precisa estar adequado tecnicamente e socialmente;
    \pause
    \item Considerações que um DD precisa fazer:
    \pause
    \begin{itemize}
      \item O candidato apresenta um trabalho bom com consistência?
      \pause
      \item O candidato preza por qualidade e atenção aos detalhes?
      \pause
      \item O que o candidato já fez para ganhar confiança?
      \pause
      \item O candidato consegue ter autonomia para manter um pacote?
      \pause
      \item O candidato consegue trabalhar com outras pessoas?
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{Processo de DM}
  \begin{itemize}
    \pause
    \item Pré-requisito: histórico de contribuições;
    \pause
    \item Passo 1: chave GPG assinada por pelo menos um DD;
    \pause
    \item Passo 2:
    \pause
    \begin{itemize}
      \item ler e aceitar o Contrato Social;
      \pause
      \item ler e aceitar a DFSG (Debian Free Software Guidelines);
      \pause
      \item ler e aceitar o DMUP (Debian Machine Usage Policies);
      \pause
      \item ser inscrito na lista debian-devel-announce;
      \pause
      \item ter uma conta no Salsa e no New Members (nm.debian.org);
      \pause
      \item se candidatar para status de Debian Maintainer.
    \end{itemize}
    \pause
    \item Passo 3: Pelo menos um advocate;
    \pause
    \item Passo 4: Não ter objeções de nenhum outro DD;
    \pause
    \item Passo 5: FD aprovar o processo;
    \pause
    \item Passo 6: Atualização do chaveiro do Debian;
    \pause
    \item Permanência: Pelo menos um upload por release.
  \end{itemize}
\end{frame}

\begin{frame}{Processo de DD non-uploading}
  \begin{itemize}
    \pause
    \item Pré-requisitos: histórico de contribuições;
    \pause
    \item Pré-requisitos: Saber utilizar o BTS;
    \pause
    \item Pré-requisitos: Entender o processo de lançamento do Debian;
    \pause
    \item Passo 1: chave GPG assinada por pelo menos dois DDs;
    \pause
    \item Passo 2:
    \begin{itemize}
      \item ler e aceitar o Contrato Social;
      \item ler e aceitar a DFSG (Debian Free Software Guidelines);
      \item ler e aceitar o DMUP (Debian Machine Usage Policies);
      \item ser inscrito na lista debian-devel-announce;
      \item ter uma conta no Salsa e no New Members (nm.debian.org);
      \item se candidatar para status de Debian Developer non-uploading.
    \end{itemize}
    \pause
    \item Passo 3: Pelo menos dois advocates;
    \pause
    \item Passo 4: Não ter objeções de nenhum outro DD;
    \pause
    \item Passo 5: Filosofia e Procedimentos avaliados por um AM;
    \pause
    \item Passo 6: FD verifica e aprova o processo;
    \pause
    \item Passo 7: DAM cria uma conta.
  \end{itemize}
\end{frame}

\begin{frame}{Processo de DD uploading}
  \begin{itemize}
    \item Mesmo processo de DD non-uploading;
    \item Avaliação do AM:
    \begin{itemize}
      \item Filosofia e Procedimentos;
      \item Tarefas e habilidades.
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{Extra: Como virar um AM?}
  \begin{itemize}
    \item Passo 1: Pedir para o time de FD;
    \pause
    \item Passo 2: FD aumenta permissões no nm.debian.org;
    \pause
    \item Passo 3: FD envia candidatos.
  \end{itemize}
\end{frame}

\begin{frame}{Critérios que eu utilizo para DM}
  \begin{itemize}
    \pause
    \item Ser gente fina;
    \pause
    \item Prezar pelos detalhes;
    \pause
    \item Saber se comunicar em inglês por texto;
    \pause
    \item Ser humilde e saber como, quando e onde pedir ajuda;
    \pause
    \item Conhecer o BTS (Bug Tracking System);
    \pause
    \item Saber o que é unstable, testing, stable e experimental;
    \pause
    \item Saber utilizar autopkgtest, git-buildpackage e sbuild;
    \pause
    \item Dominar git (principalmente o git rebase);
    \pause
    \item Saber escrever um bom d/changelog e boas mensagens de commit;
    \pause
    \item Saber gerenciar patches;
    \pause
    \item Eu preciso ter feito uploads de pacotes sem nenhum pedido no review;
    \pause
    \item Entender sobre licenças livres e estar alinhado com a DFSG.
  \end{itemize}
\end{frame}

\begin{frame}{Critérios que eu utilizo para DD non-uploading}
  \begin{itemize}
    \pause
    \item Ser gente fina;
    \item Prezar pelos detalhes;
    \item Saber se comunicar em inglês por texto;
    \item Ser humilde e saber como, quando e onde pedir ajuda;
    \pause
    \item Ter contribuições em pelo menos uma das seguintes áreas:

    \hspace{1.3em}
    \begin{minipage}{0.9\textwidth}
      \begin{columns}[T]
        \column{0.5\textwidth}
        \begin{itemize}
          \item Organização de eventos;
          \item Empacotamento no nível de um DM;
          \item Tradução;
        \end{itemize}

        \column{0.5\textwidth}
        \begin{itemize}
          \item Palestras e Workshops;
          \item Contribuições com código;
          \item Qualquer outra atividade que um Debian Contributor possa fazer.
        \end{itemize}
      \end{columns}
    \end{minipage}

    \hspace{1.3em}
    \pause
    \item Eu preciso confiar que a pessoa vai utilizar os privilégios com responsabilidade.

  \end{itemize}
\end{frame}

\begin{frame}{Critérios que eu utilizo para DD uploading}
  \begin{itemize}
    \pause
    \item Mesmo critérios de um DD non-uploading;
    \pause
    \item Empacotamento (precisa conhecer mas não necessariamente ter feito tudo):
    \begin{itemize}
      \item Transições;
      \item Proposed Updates;
      \item Backports;
      \item Symbols;
      \item NMU e binNMU;
      \item Feito um pacote do zero;
      \item Versionamento de pacotes;
      \item DEP (Debian Enhancement Proposals);
      \item Maintainer scripts;
      \item Upload e Sponsor;
      \item Remoção de pacote;
      \item Manpages;
      \item d/rules e d/copyright mais complexos.
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}{Meu critério absoluto}
	\begin{center}
  CONFIANÇA
  \end{center}
\end{frame}

\section{Isso é tudo :)}
\begin{frame}{Dúvidas?}
	\begin{center}
		\includegraphics[width=0.3\textwidth]{img/debian-logo.png}
	\end{center}
\end{frame}

\end{document}
