Importando o repositório.
Esse é o import inicial do repositório. Criei ele depois de ter terminado de fazer os slides, então não existe um histórico (por enquanto).
This commit is contained in:
commit
a4835bc341
9 changed files with 446 additions and 0 deletions
437
30-anos-gnu.tex
Normal file
437
30-anos-gnu.tex
Normal file
|
@ -0,0 +1,437 @@
|
|||
\documentclass{beamer}
|
||||
|
||||
\usepackage{ae,aecompl}
|
||||
\usepackage[brazil]{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
|
||||
\usepackage{url}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{xcolor}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{textcomp} % for right arrow
|
||||
|
||||
\usetheme{Darmstadt}
|
||||
|
||||
\title{30 anos depois, e o que é esse tal GNU?}
|
||||
\author{Sergio Durigan Junior \\ \url{sergiodj@sergiodj.net}}
|
||||
\date{\today}
|
||||
|
||||
\newcommand{\gnu}{\texttt{GNU}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\begin{center}
|
||||
\includegraphics[width=0.3\textwidth]{img/lp-br-sp-logo.png}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\section{Licença}
|
||||
\begin{frame}
|
||||
\frametitle{Licença desta Apresentação}
|
||||
\begin{itemize}
|
||||
\item{Licença: \textbf{Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)}}
|
||||
\item{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\section{Tópicos}
|
||||
\begin{frame}
|
||||
\frametitle{Tópicos}
|
||||
\begin{itemize}
|
||||
% Explicar o que é SL
|
||||
\item{Introdução, ou ``O que é Software Livre?''}
|
||||
|
||||
% História breve do UNIX, linguagem C
|
||||
\item{Multics, UNIX, e a revolução do S.O.}
|
||||
|
||||
% Carta do Bill Gates aos hobbyistas
|
||||
\item{De Bill Gates, para os hobbyistas, em 1976}
|
||||
|
||||
% Explicar como começou o projeto GNU. Filosofia
|
||||
% UNIX, liberdade, sistema operacional completo, etc.
|
||||
\item{O \texttt{G} do \gnu{}}
|
||||
|
||||
\item{O que é um S.O.?}
|
||||
|
||||
\item{O Kernel: várias dores, uma adoção}
|
||||
|
||||
\item{GLIBC: Início do território GNU}
|
||||
|
||||
\item{GCC: Compilando o mundo}
|
||||
|
||||
\item{GDB: O melhor amigo do desenvolvedor}
|
||||
|
||||
\item{Bash: O entendedor dos comandos}
|
||||
|
||||
\item{E não acabou! Tem GNU/mais!}
|
||||
|
||||
\item{O GNU/futuro...}
|
||||
|
||||
\item{... e os GNU/problemas}
|
||||
|
||||
\item{Conclusão}
|
||||
|
||||
\item{Agradecimentos}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\section{Introdução, ou O que é Software Livre?}
|
||||
\begin{frame}
|
||||
\frametitle{Introdução, ou ``O que é Software Livre?''}
|
||||
\centering
|
||||
\textbf{Software Livre} é qualquer software que garanta ao usuário
|
||||
a liberdade de usá-lo, distribuí-lo e modificá-lo, de forma a atender
|
||||
todas as suas necessidades.
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Introdução, ou ``O que é Software Livre?''$^2$}
|
||||
\centering
|
||||
A definição formal de \textbf{Software Livre} foi proposta por Richard
|
||||
M. Stallman e baseia-se em \textbf{4 liberdades}, consideradas
|
||||
fundamentais (\textit{GNU Manifesto}):
|
||||
\newline
|
||||
\begin{itemize}
|
||||
\item{\textbf{Liberdade 0}: A liberdade de executar o programa
|
||||
para qualquer propósito.}
|
||||
\item{\textbf{Liberdade 1}: A liberdade de estudar como o
|
||||
programa funciona e alterá-lo para fazê-lo funcionar
|
||||
como desejar.}
|
||||
\item{\textbf{Liberdade 2}: A liberdade de redistribuir cópias
|
||||
do programa.}
|
||||
\item{\textbf{Liberdade 3}: A liberdade de melhorar o programa
|
||||
e redistribuir a melhoria para toda a comunidade.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Introdução, ou ``O que é Software Livre?''$^3$}
|
||||
\begin{itemize}
|
||||
\item{\textbf{Não confunda Software Livre com Open Source}!!}
|
||||
\pause
|
||||
\item{\textbf{Software Livre} é um movimento técnico, social,
|
||||
filosófico e político. Incentiva uma cultura de
|
||||
\textbf{respeito} à liberdade de todos, e não aceita
|
||||
imposições e restrições ditadas por empresas,
|
||||
entidades ou pessoas com objetivos excusos.
|
||||
\textbf{Sua liberdade não lhe dá permissão para tirar a
|
||||
liberdade do outro}.}
|
||||
\pause
|
||||
\item{\textbf{Open Source} é uma metodologia de
|
||||
desenvolvimento de software. Incentiva a
|
||||
\textit{abertura do código-fonte} de programas,
|
||||
mas não toma partido em questões cruciais como
|
||||
privacidade, neutralidade na rede, ou abusos
|
||||
contra a liberdade de usuários de software cometidos
|
||||
por empresas em nome de uma suposta ``conveniência''.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Multics, UNIX, e a revolução do S.O.}
|
||||
\begin{frame}{Multics, UNIX, e a revolução do S.O.}
|
||||
\begin{itemize}
|
||||
\item{Ken Thompson, Dennis Ritchie, em 1969.}
|
||||
\item{K.I.S.S.}
|
||||
\item{Software gratuito, acadêmico, código-fonte
|
||||
disponível nos primórdios.}
|
||||
\item{\textit{To C, or not to C?}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{De Bill Gates, para os hobbyistas, em 1976}
|
||||
\begin{frame}{De Bill Gates, para os hobbyistas, em 1976}
|
||||
\begin{center}
|
||||
\includegraphics[width=0.55\textwidth]{img/Bill_Gates_Letter_to_Hobbyists.pdf}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{O G do GNU}
|
||||
\begin{frame}{O \texttt{G} do \gnu{}}
|
||||
\begin{itemize}
|
||||
\item{Projeto criado por Richard M. Stallman em 27 de
|
||||
Setembro de 1983.}
|
||||
\item{Objetivo: um Sistema Operacional completamente
|
||||
livre.}
|
||||
\item{Ainda estamos na luta :-).}
|
||||
\item{Compõe a maior parte do S.O. \textbf{GNU/Linux}.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{O que é um S.O.?}
|
||||
\begin{frame}{O que é um S.O.?}
|
||||
\begin{itemize}
|
||||
\item{Pense num Lego :-)}
|
||||
\item{\textbf{Kernel}: Comunica-se com os
|
||||
periféricos/\textit{hardwares}, provendo
|
||||
acesso a recursos a partir do \textit{espaço
|
||||
de usuário}.}
|
||||
\item{\textbf{Biblioteca C}: Abstrai o acesso ao
|
||||
\textbf{kernel}, oferecendo funções mais
|
||||
complexas para lidar com problemas.}
|
||||
\item{\textbf{Toolchain}: Conjunto formado por um
|
||||
\textbf{compilador}, \textbf{linker/loader},
|
||||
\textbf{montador}, \textbf{depurador}, e, por vezes,
|
||||
algumas outras ferramentas.}
|
||||
\item{\textbf{Interpretador de comandos}: É o programa
|
||||
que realiza a interface entre o usuário e o S.O.}
|
||||
\end{itemize}
|
||||
\begin{center}
|
||||
Em cima do S.O., temos os aplicativos que utilizamos para
|
||||
nossas tarefas, como um navegador, editor de textos,
|
||||
processador de textos, jogos, etc.
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{O Kernel: várias dores, uma adoção}
|
||||
\begin{frame}{O Kernel: várias dores, uma adoção}
|
||||
\includegraphics[width=0.2\textwidth]{img/hurd_sm_mf.jpg}
|
||||
\begin{itemize}
|
||||
\item{\textbf{GNU Hurd}: 1990, microkernel, poucos
|
||||
desenvolvedores, um tanto desacreditado.}
|
||||
\item{Sistema \textit{bootável}, suporta apenas
|
||||
\texttt{i386}.}
|
||||
\item{Desenvolvimento ainda ativo, apesar de lento.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{O Kernel: várias dores, uma adoção$^2$}
|
||||
\includegraphics[width=0.1\textwidth]{img/Tux.jpg}
|
||||
\begin{itemize}
|
||||
\item{\textbf{Linux}: 1991, kernel monolítico,
|
||||
pragmatismo e uma pitada de desrespeito.}
|
||||
\item{\emph{Sadly, a kernel by itself gets you
|
||||
nowhere. To get a working system you need a shell,
|
||||
compilers, a library etc. These are separate parts
|
||||
and may be under a stricter (or even looser)
|
||||
copyright. Most of the tools used with linux are
|
||||
GNU software and are under the GNU copyleft.}}
|
||||
\item{Situação atual: \textit{blobs} binários,
|
||||
desenvolvimento acelerado, \textit{open
|
||||
source}, péssimo exemplo de liberdade.}
|
||||
\item{\textbf{Linux-libre!!!!}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{GLIBC: Início do território GNU}
|
||||
\begin{frame}{GLIBC: Início do território GNU}
|
||||
\begin{itemize}
|
||||
\item{Roland McGrath, final da década de 1980,
|
||||
\texttt{GNU LGPL}.}
|
||||
\item{Ulrich Drepper mandava desde 2001. Vários
|
||||
\textit{forks}, xingamentos, também com uma pitada
|
||||
de desrespeito.}
|
||||
\item{Em março de 2012, o processo de desenvolvimento
|
||||
foi todo reformulado. Comunidade em primeiro
|
||||
lugar.}
|
||||
\item{Portabilidade extrema.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{GCC: Compilando o mundo}
|
||||
\begin{frame}{GCC: Compilando o mundo}
|
||||
\includegraphics[width=0.2\textwidth]{img/gccegg-65.png}
|
||||
\begin{itemize}
|
||||
\item{\textbf{G}NU \textbf{C}ompiler
|
||||
\textbf{C}ollection.}
|
||||
\item{Andrew S. Tanenbaum, Amsterdam Compiler Kit,
|
||||
não-livre. Richard Stallman, 1986-7.}
|
||||
\item{\textbf{EGCS} fork, várias otimizações, até que
|
||||
FSF decide usá-lo como o ``próximo'' GCC.}
|
||||
\item{Front-ends, plugins (em Python!), melhorias em
|
||||
informação de depuração (com otimização -- Alexandre
|
||||
Oliva), código legado, competição com LLVM...}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{GDB: O melhor amigo do desenvolvedor}
|
||||
\begin{frame}{GDB: O melhor amigo do desenvolvedor}
|
||||
\includegraphics[width=0.3\textwidth]{img/archer.jpg}
|
||||
\begin{itemize}
|
||||
\item{Richard Stallman, em 1986. ``Pra começar a
|
||||
escrever o sistema, preciso de um depurador e de um
|
||||
editor de texto.''}
|
||||
\item{\textit{Steering Committee}, mantenedores,
|
||||
comunidade pequena, código legado...}
|
||||
\item{Suporte a várias linguagens além de C/C++.
|
||||
Pouca competição com LLDB. Extensões em Python.
|
||||
Grandes refatorações de código!}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Bash: O entendedor dos comandos}
|
||||
\begin{frame}{Bash: O entendedor dos comandos}
|
||||
\includegraphics[width=0.3\textwidth]{img/bash-org.jpg}
|
||||
\begin{itemize}
|
||||
\item{Brian Fox, em 1988. Brian foi contratado pela
|
||||
FSF para o trabalho, tamanha a importância de um
|
||||
shell livre!}
|
||||
\item{Grande maioria dos usuários de linha de comando
|
||||
utilizam o Bash.}
|
||||
\item{Scriptagem no seu mais alto nível. Muitas vezes
|
||||
seu programa GUI está usando Bash por baixo :-).}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{E não acabou! Tem GNU/mais!}
|
||||
\begin{frame}{E não acabou! Tem GNU/mais!}
|
||||
\begin{itemize}
|
||||
\item{Montador (\textit{assembler}), \textit{linker},
|
||||
\textit{loader}... Tudo isso é GNU.}
|
||||
\pause
|
||||
\item{Quer ambiente gráfico? Tem o \textbf{GNOME}.}
|
||||
\pause
|
||||
\item{Quer editor de texto? Tem o \textbf{GNU
|
||||
Emacs}.}
|
||||
\pause
|
||||
\item{Quer editor de imagem? Tem o \textbf{GIMP}.}
|
||||
\pause
|
||||
\item{Biblioteca de interação com o usuário pra linha
|
||||
de comando? Sem problema! Tem a
|
||||
\textbf{GNU readline}.}
|
||||
\pause
|
||||
\item{Alternativa pro Android? \textbf{GNU
|
||||
Replicant}.}
|
||||
\pause
|
||||
\item{Alternativa pro Flash? \textbf{Gnash}.}
|
||||
\pause
|
||||
\item{Quer se libertar do Matlab? \textbf{GNU
|
||||
Octave}.}
|
||||
\pause
|
||||
\item{Sua BIOS não é livre, sabia??? Mas o
|
||||
\textbf{GNU coreboot} é!}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{E não acabou! Tem GNU/mais!$^2$}
|
||||
\begin{itemize}
|
||||
\item{Curte Lisp? Common Lisp? \textbf{GNU clisp}!}
|
||||
\pause
|
||||
\item{Curte linha de comando? Já usou \texttt{ls},
|
||||
\texttt{cd}, \texttt{cat}, \texttt{sort},
|
||||
\texttt{dd}, \texttt{df}... ? Todos parte do
|
||||
\textbf{GNU coreutils}!}
|
||||
\pause
|
||||
\item{Dual boot? \textbf{GNU GRUB}.}
|
||||
\pause
|
||||
\item{É desenvolvedor? Aplica \textit{patches}?
|
||||
\textbf{GNU patch}.}
|
||||
\pause
|
||||
\item{Vai descompactar um arquivo? \textbf{GNU tar}.}
|
||||
\pause
|
||||
\item{Procurar uma palavra em algum texto?
|
||||
\textbf{GNU grep}.}
|
||||
\pause
|
||||
\item{... ou talvez \textbf{GNU sed}.}
|
||||
\pause
|
||||
\item{Seu programa está traduzido? Provavelmente
|
||||
culpa do \textbf{GNU gettext}.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{E não acabou! Tem GNU/mais!$^3$}
|
||||
\begin{itemize}
|
||||
\item{Alternativa pro YouTube? \textbf{GNU
|
||||
Mediagoblin}.}
|
||||
\pause
|
||||
\item{E pro Twitter? \textbf{GNU Social}.}
|
||||
\pause
|
||||
\item{Computação estatística? \textbf{GNU R}.}
|
||||
\pause
|
||||
\item{Programação Linear? \textbf{GNU GLPK}.}
|
||||
\pause
|
||||
\item{Criptografia? \textbf{GnuPG}.}
|
||||
\item{...}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{O GNU/futuro...}
|
||||
\begin{frame}{O GNU/futuro}
|
||||
\begin{itemize}
|
||||
\item{Opinião pessoal :-).}
|
||||
\item{Foco em celulares e dispositivos móveis.
|
||||
\textbf{GNU Replicant}. \textbf{F-Droid} e
|
||||
alternativas. Quem sabe um GNU para o celular?
|
||||
:-)}
|
||||
\item{Mais foco em ``sociais'': \textbf{GNU Social}.
|
||||
Federação, descentralização. \textbf{Gnunet}.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{... e os GNU/problemas}
|
||||
\begin{frame}{... e os GNU/problemas}
|
||||
\begin{itemize}
|
||||
\item{Stallman insiste em ser o ``Chief GNUisance''
|
||||
(título apropriado). Decisões arbitrárias e
|
||||
polêmicas. Alguns projetos conseguiram se
|
||||
desvencilhar disso.}
|
||||
\begin{itemize}
|
||||
\item{Desistência de alguns desenvolvedores
|
||||
importantes.}
|
||||
\end{itemize}
|
||||
\item{Pouco reconhecimento por parte da comunidade
|
||||
\textrightarrow{} pouco conhecimento a respeito da
|
||||
liberdade.}
|
||||
\item{O projeto GNU e a FSF fecham os olhos pra
|
||||
questões importantíssimas, como hardware livre e, em
|
||||
certo grau, questões de privacidade e neutralidade
|
||||
de rede.}
|
||||
\item{Excesso de ``orgulho'' por seus próprios
|
||||
softwares (até que ponto é um problema?).}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{Conclusão}
|
||||
\begin{frame}{Conclusão}
|
||||
\begin{itemize}
|
||||
\item{Você usa \textbf{GNU/Linux}. Ou deveria usar :-).}
|
||||
\item{O projeto GNU é muito maior do que a maioria das
|
||||
pessoas pensa.}
|
||||
\item{Existem problemas no projeto, mas também existem
|
||||
soluções, e a GNU/esperança ainda vive.}
|
||||
\item{A liberdade é algo pelo qual vale a pena lutar
|
||||
:-). (desculpem a pieguice!)}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\section{Agradecimentos}
|
||||
\begin{frame}{Agradecimentos}
|
||||
\begin{itemize}
|
||||
\item{Ao pessoal da \textbf{SECCOMP}, especialmente ao
|
||||
Marcel!}
|
||||
\item{Ao pessoal do \textbf{LibrePlanet São Paulo},
|
||||
por manter vivo um ideal.}
|
||||
\item{A vocês, pela audiência e paciência.}
|
||||
\item{E ao \textbf{projeto GNU}, pelos 30 anos de luta!}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Dúvidas?}
|
||||
\begin{center}\textbf{Dúvidas?}\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Momento denúncia}
|
||||
\begin{center}\alert{\textbf{A FSF USA TWITTER!}}\end{center}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
9
Makefile
Normal file
9
Makefile
Normal file
|
@ -0,0 +1,9 @@
|
|||
.PHONY : all
|
||||
|
||||
all: 30-anos-gnu.pdf
|
||||
|
||||
%.pdf: %.tex
|
||||
pdflatex $< ; pdflatex $<
|
||||
|
||||
clean:
|
||||
rm -f *.{aux,log,nav,out,pdf,snm,toc}
|
BIN
img/Bill_Gates_Letter_to_Hobbyists.pdf
Normal file
BIN
img/Bill_Gates_Letter_to_Hobbyists.pdf
Normal file
Binary file not shown.
BIN
img/Tux.jpg
Normal file
BIN
img/Tux.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 80 KiB |
BIN
img/archer.jpg
Normal file
BIN
img/archer.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
BIN
img/bash-org.jpg
Normal file
BIN
img/bash-org.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
BIN
img/gccegg-65.png
Normal file
BIN
img/gccegg-65.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
img/hurd_sm_mf.jpg
Normal file
BIN
img/hurd_sm_mf.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 9 KiB |
BIN
img/lp-br-sp-logo.png
Normal file
BIN
img/lp-br-sp-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
Loading…
Reference in a new issue