Baseado em [MATA26 - Tópicos em Sistemas Computacionais IV](https://disciplinas.dcc.ufba.br/MATA26.WebHome)
Tema: Práticas e Reflexões sobre Contribuição em Projetos de Software Livre
-
Sobre o curso: 3 créditos, 51 horas, às sexta-feiras, 13h (não-presencial)
-
Docentes
- Profa. Dra. Christina von Flach, Instituto de Computação Sala 212 (email:flach@ufba.br)
- Daniela Feitosa (estagiária)
- Ementa
- Programa
- Métodos
- Atividades e Avaliação
- Calendário da UFBA
- Plano de Aulas (pode sofrer ajustes)
- Leituras
Table of contents generated with markdown-toc
Ao final do curso, o estudante deve ser capaz de:
- Conhecer os conceitos fundamentais relacionados a software livre;
- Compreender o modelo de desenvolvimento de software livre e suas boas práticas (documentação, tradução, resolução de bugs);
- Caracterizar um projeto de software livre de pequeno porte de um domínio específico (livre escolha do estudante);
- Aplicar boas práticas em atividades relacionadas ao projeto escolhido;
- Desejável, mas não obrigatório: Engajar-se e contribuir em projeto de software livre escolhido pelo estudante.
Apresentação de práticas e reflexões em grupo sobre contribuição em projetos de Software Livre, incentivando a participação do aluno em projetos de Software Livre. Conceitos básicos de FLOSS, aspectos econômicos e legais, organização social e gestão em projetos de software livre, avaliação da saúde de projetos FLOSS, interações com a comunidade e garantia de qualidade.
- Conceitos básicos de FLOSS: projeto GNU, Free Software Foundation (FSF), Open Source Initiative (OSI), "The Cathedral and Bazaar".
- Aspectos legais de FLOSS: Por que compartilhar software? o conceito de "commons", benefícios em larga escala. Como compartilhar? legislação sobre copyright, copyleft, common, licenças recomendas (GPL, Apache, MIT, etc.)
- Organização social de FLOSS: Como desenvolvedores ganham acesso e reputação em projetos FLOSS. Conceitos de meritocracia e "do"-ocracia. Comunicação em projetos FLOSS (mailing list, IRC, web forums, blog aggregators etc).
- Gerência de projetos FLOSS: Sistemas de controle de versão (SVN, Git, Mercurial, Bazzar), sistemas de bug tracking (Bugzilla, Redmine, etc), práticas
- Contribuições para projetos FLOSS: Como interagir com a comunidade FLOSS; traduções, notificação de bugs, preparação e envio de "patches" (novas funcionalidades ou correções de bugs).
- Aspectos econômicos de FLOSS
- Garantia da qualidade em projetos FLOSS: Estilos de codificação, recebimento e revisão de "patches", testes automáticos, build/integração contínuos, triagem de bugs.
- Aulas síncronas, com (pré-) leitura e discussão durante os encontros semanais.
- Mini-palestras (30 a 45 minutos) com brasileiras/os da comunidade FLOSS, seguidas por perguntas e discussões.
- Caracterização (e eventual contribuição, com tutoria) de projeto FLOSS escolhido pelo estudante.
- Uso contínuo da plataforma GitHub para mediar atividades.
- Uso de Diários e apresentações stand-up.
- Participação nas aulas síncronas (sextas-feiras, 13h - 15:45h)
- Elaboração de perguntas sobre o tema das mini-palestras (pré)
- Participação nas mini-palestras (durante)
- Resenhas sobre as mini-palestras (pós)
- Atividades práticas no projeto FLOSS
- Diários
- Apresentação contínua e compartilhamento com a turma da experiência com o FLOSS escolhido com a turma
- Relatório/stand-up
- Exercícios (25%)
- Caracterização inicial do projeto escolhido (20%)
- Diários com relatos das atividades realizadas (35%)
- Apresentação final sobre a experiência com o projeto escolhido (20%)
- Início das aulas: 09/08/2021
- Último dia de aulas: 06/12/2021
Aulas às sextas-feiras, de 13:00 às 15:45h
Data | Semana | Tópico | Quem? |
---|---|---|---|
13/08/2021 | 1 | Apresentação da disciplina | -- |
20/08/2021 | 2 | O que é FL/OSS? | -- |
27/08/2021 | 3 | Desenvolvimento de projetos FLOSS | -- |
03/09/2021 | 4 | Seleção de projetos FLOSS | -- |
10/09/2021 | 5 | Familiarização com projetos FLOSS | -- |
17/09/2021 | 6 | Aspectos Legais de FLOSS | Nelson Lago |
24/09/2021 | 7 | Contribuição em FLOSS 1: Documentação | -- |
01/10/2021 | 8 | Acompanhamento das atividades / palestra CBSOFT | -- |
08/10/2021 | 9 | Apresentação dos projetos | -- |
15/10/2021 | 10 | Aspectos Sociais de FLOSS | Antonio Terceiro |
22/10/2021 | 11 | Acompanhamento das atividades e dúvidas | -- |
29/10/2021 | 12 | Gerência de projetos FLOSS: DevOps | Prof. Paulo Meirelles (UFABC/USP) e Leonardo Leite (USP) |
05/11/2021 | 13 | Contribuição em projetos FLOSS 4: Triagem de Bugs | -- |
12/11/2021 | 14 | Issues em Projetos FLOSS | Prof. Rodrigo Rocha Gomes e Souza (UFBA) |
19/11/2021 | 15 | Contribuição em projetos FLOSS 5: Resolução de Bugs | -- |
26/11/2021 | 16 | Ecossistemas de Software Livre: KDE (kde.org) | 13h-14:45h: Apresentação de trabalhos (I). 15h: Prof. Sandro Andrade (IFBA) |
03/12/2021 | 17 | Encerramento | Apresentação de trabalhos (II) e Confraternização. |
Leituras essenciais (reproduzido do texto original de https://opensource.com/resources/ebooks)
Crônica da história do movimento open source na visão de alguns 'atores' e autores prolíficos.
- The Cathedral and the Bazaar by Eric S. Raymond
- Free Software, Free Society by Richard M. Stallman
- Just for Fun by Linus Torvalds and David Diamond
- Rebel Code by Glyn Moody
- Producing Open Source Software by Karl Fogel e videos
- Free for All by Peter Wayner
- Free as in Freedom by Sam Williams
- Open Sources by Chris DiBona and Sam Ockman