Skip to content

mate28-ic-ufba/turma-20212

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baseado em [MATA26 - Tópicos em Sistemas Computacionais IV](https://disciplinas.dcc.ufba.br/MATA26.WebHome)

MATE28 - Tópicos em Engenharia de Software IV

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)

Descrição

Table of contents generated with markdown-toc

Objetivos

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.

Ementa

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.

Programa

  • 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.

Métodos

  • 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.

Atividades

  • 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

Avaliação

  • 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%)

Calendário da UFBA

  • Início das aulas: 09/08/2021
  • Último dia de aulas: 06/12/2021

Aulas às sextas-feiras, de 13:00 às 15:45h

Plano de Aulas (pode sofrer ajustes)

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

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

Leituras de primavera