#import "@preview/touying:0.7.4": *
#import themes.metropolis: *

#set text(lang: "pt")

#show link: underline
#show: metropolis-theme.with(
  aspect-ratio: "16-9",
  footer: [Guilherme Puida Moreira `<puida@debian.org>`],
  config-info(
    title: [Uma (breve) introdução ao Software Livre e Debian],
    author: [Guilherme Puida Moreira],
    contact: [`puida@debian.org`],
    date: datetime(year: 2026, month: 8, day: 20),
    logo: image("res/debian-logo.svg"),
  ),
)

#title-slide()

= Introdução

== Quem sou eu?

- Engenheiro de Software pela FCTE.
- Desenvolvedor Debian.
- Canonical, _Ubuntu Server_.

== Quem são vocês?

Levante a mão se você ...

#pause

- ... já ouviu falar de Sofware Livre.

#pause

- ... sabe o que é Software Livre.

#pause

- ... já contribuiu com Software Livre.

#focus-slide[
  Quem é o dono do software que você usa no seu dia-a-dia?
]

= Como viemos parar aqui?

== A criação do UNIX

#slide(
  align: center,
  figure(
    image("res/ken-dennis.png", height: 80%),
    caption: [Ken Thompson e Dennis Ritchie em um PDP-11 (1972, Bell Labs)],
  )
)

== O "fechamento" do código

- Código-fonte deixa de ser livremente compartilhado.
- Licenças restritivas se tornam mais comuns.

#focus-slide[
  E se você não pudesse consertar um _bug_ que encontrou em um software que você
  usa?
]

== Stallman e GNU

#slide[
  #figure(
    image("res/stallman.jpg", height: 80%),
    caption: [Richard Stallman],
  )
][
  #uncover("2-")[
    #figure(
      image("res/gnu.png", height: 80%),
      caption: [Projeto GNU (GNU's Not Unix)],
    )
  ]
]

== O kernel

#quote(block: true, attribution: [Linus Torvalds])[
  Hello everybody out there using minix - I'm doing a (free) operating system
  (just a hobby, won't be big and professional like gnu) [...]
]

= E o Debian?

== Quem são vocês (parte 2)?

Levante a mão se você ...

#pause

- ... já usou uma distribuição GNU/Linux.

#pause

- ... sabe o que é uma distribuição GNU/Linux.

#pause

- ... já contribuiu com uma distribuição GNU/Linux.

== O que é uma distribuição?

#slide[
  Um kernel sozinho *não* é suficiente.
][
  Você precisa de:

  #pause
  - Um compilador.
  #pause
  - Um _shell_.
  #pause
  - Bibliotecas.
  #pause
  - Drivers.
  #pause
  - Aplicações.
]

== Uma analogia

#slide(align: center + horizon)[
  Kernel = motor

  Distribuição = carro
]

== Por que tantas distribuições?

Escolhas diferentes de:

- Filosofia.
- Processo de release.
- Gerenciador de pacotes.
- Governança.

== Ian Murdock e o Manifesto Debian

#slide[
  #figure(
    image("res/murdock.jpg", height: 80%),
  )
][
  #quote(block: true, attribution: [Ian Murdock])[
    Debian Linux is a brand-new kind of Linux distribution. Rather than being
    developed by one isolated individual or group, as other distributions of
    Linux have been developed in the past, Debian is being developed openly in
    the spirit of Linux and GNU.
  ]
]

== Governança

- Voluntários ao redor do mundo.
- _Debian Project Leader_, eleito anualmente pelos desenvolvedores.
- Decisões são tomadas democraticamente.
- Transparência.

== O contrato social

1. Debian permanecerá 100% livre.
2. Nós vamos retribuir à comunidade de Software Livre.
3. Não escondemos problemas.
4. Nossas prioridadades são nossos usuários e o Software Livre.

== Diretrizes Debian de Software Livre (DFSG)

Define o que é "software livre" para o Debian.

#pause

Anos depois, se tornaram a base para a _Open Source Definition_.

= Como o Debian funciona?

== O que é um pacote

Uma "unidade" de Software.

- Arquivos (binários, bibliotecas, etc.).
- Metadados (nome, versão, dependências, descrição).
- _Scripts_ de instalação/remoção.
- Licença.

== apt: o gerenciador de pacotes

`apt install curl`

#pause
1. Busca o pacote `curl` em um repositório remoto.
#pause
2. Baixa `curl` e suas dependências automaticamente.
#pause
3. Instala tudo, na ordem correta, na sua máquina.

#pause

Sem o `apt`, você teria que fazer tudo isso manualmente
#pause
(e provavelmente teria que compilar tudo também).

== Mantenedores

#slide(
  align: center,
  figure(
    image("res/debian-upload.png"),
  )
)

== Como contribuir?

Se você quer ajudar:

#pause

- Relatar e investigar bugs.
#pause
- Traduzir.
#pause
- Manter um pacote.
#pause
- Escrever e melhorar a documentação.
#pause
- Organizar eventos.
#pause

Tudo é voluntário e aberto
#pause
e *sempre* existem coisas para fazer.

== Obrigado!

Perguntas? Dúvidas? Comentários?

https://people.debian.org/~puida/talks/2026-08-20
