Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Matemática e Estatística
 
Ciência da Computação
 
Disciplina: MAC0470 - Desenvolvimento de Software Livre
Free and Open Source Software Development

Créditos Aula: 4
Créditos Trabalho: 2
Carga Horária Total: 120 h
Tipo: Semestral
Ativação: 01/01/2021 Desativação:

Objetivos
Familiarizar os alunos com o ecossistema do Software Livre incluindo os principais aspectos relacionados à produção de software seguindo o modelo aberto e colaborativo de produção e compartilhamento.
 
Familiarize students with the Free and Open Source Software ecosystem, including the main aspects related to software production following the open and collaborative production and sharing model.
 
 
Docente(s) Responsável(eis)
7410229 - Daniel Macedo Batista
84724 - Fabio Kon
 
Programa Resumido
O modelo de desenvolvimento colaborativo de software conhecido como Software Livre tem se mostrado capaz de produzir sistemas e aplicações de software de excelente qualidade. Na última década, as ferramentas e sistemas de software livre passaram a constituir uma plataforma robusta a partir da qual a indústria de TI pode construir e oferecer os seus serviços. Este modelo aberto e colaborativo de produção apresenta uma série de vantagens para uma grande gama de empreendimentos de desenvolvimento de software, tanto acadêmicos quanto comerciais. Esta disciplina irá expor os alunos à comunidade do software livre e suas ferramentas,  às vantagens e desvantagens desse modelo bem como aos desafios a serem enfrentados por aqueles que o adotam, além dos seus desdobramentos sociais e culturais. Dessa forma, os alunos estarão melhor preparados a participar de projetos de desenvolvimento de software livre.
 
The collaborative software development model known as Free and Open Source Software (FLOSS) has proven to be capable of producing excellent quality software systems and applications. In the last decade, free and open source tools and systems have become a robust platform on top of which the IT industry can build and offer its services. This open and collaborative production model has a number of advantages for a wide range of software development ventures, both academic and commercial. This course will expose students to the FLOSS community and its tools, the advantages and disadvantages of this model as well as the challenges to be faced by those who adopt it, in addition to its social and cultural consequences. In this way, students will be better prepared to participate in FLOSS development projects.
 
 
Programa
O modelo de desenvolvimento colaborativo de software conhecido como Software Livre tem se mostrado capaz de produzir sistemas e aplicações de software de excelente qualidade. Na última década, as ferramentas e sistemas de software livre passaram a constituir uma plataforma robusta a partir da qual a indústria de TI pode construir e oferecer os seus serviços. Este modelo aberto e colaborativo de produção apresenta uma série de vantagens para uma grande gama de empreendimentos de desenvolvimento de software, tanto acadêmicos quanto comerciais. Esta disciplina irá expor os alunos à comunidade do software livre e suas ferramentas, às vantagens e desvantagens desse modelo bem como aos desafios a serem enfrentados por aqueles que o adotam, além dos seus desdobramentos sociais e culturais. Dessa forma, os alunos estarão melhor preparados a participar de projetos de desenvolvimento de software livre.

Os tópicos abordados na disciplina são os seguintes:

História do Software Livre: o movimento pelo Software Livre (""Free Software"") e o movimento pelo Código Aberto (""Open Source""), a FSF e a OSI.
Aspectos jurídicos de software livre: a legislação brasileira de propriedade intelectual, copyright, licenças, compatibilidades e incompatibilidades.
Comunidades de software livre: formas de organização e participação, gerenciamento de contribuições, atratividade de projetos e forks.
Modelos de negócio e empreendedorismo com software livre.
Ferramentas de gestão e desenvolvimento colaborativo de projetos.
O paradigma de colaboração do git.
Ambiente de desenvolvimento: distros, pacotes, virtualização e devops.
Boas práticas de codificação, estilo e padronização de código.
Métodos Ágeis e Software Livre.
Testes e integração contínua (xUnit, Selenium, Cruise Control, etc.).
Documentação e usabilidade.
Desdobramentos sociais: Cultura Livre, Ciência Livre, Creative Commons e os impactos social e econômico do Software Livre.
Hardware Livre.
Avaliação de qualidade de projetos de software livre.
Desafios para o futuro do software livre: DRM, patentes, interoperabilidade, viés social e de gênero.

Os estudantes terão contato com este material através de aulas teóricas, debates sobre tópicos específicos e seminários. Em grupos de 2 a 5 alunos, será também desenvolvido um projeto de duração de 12 semanas onde espera-se uma real contribuição a um projeto existente de software livre; esta contribuição pode ser na forma de nova documentação, novas funcionalidades ou consertos de erros e melhorias.
 
The collaborative software development model known as Free and Open Source Software (FLOSS) has proven to be capable of producing excellent quality software systems and applications. In the last decade, free and open source tools and systems have become a robust platform on top of which the IT industry can build and offer its services. This open and collaborative production model has a number of advantages for a wide range of software development ventures, both academic and commercial. This course will expose students to the FLOSS community and its tools, the advantages and disadvantages of this model as well as the challenges to be faced by those who adopt it, in addition to its social and cultural consequences. In this way, students will be better prepared to participate in FLOSS development projects. The topics covered in the course are as follows: History of Free and Open Source Software (FLOSS): the Free Software movement and the Open Source movement, the FSF and OSI. Legal aspects of FLOSS: Brazilian legislation on intellectual property, copyright, licenses, compatibilities, and incompatibilities. FLOSS communities: forms of organization and participation, management of contributions, attractiveness of projects, and forks. Business models and entrepreneurship with FLOSS. Tools for collaborative development and project management. The collaboration paradigm of git. Development environment: distributions, packages, virtualization, and devops. Good coding style and code standardization practices. Agile Methods and Free Software. Tests and continuous integration (xUnit, Selenium, Cruise Control, etc.). Documentation and usability. Social developments: Free Culture, Free Science, Creative Commons, and the social and economic impacts of FLOSS. Open Hardware. Quality assessment of FLOSS projects. Challenges for the future of FLOSS: DRM, patents, interoperability, gender and social bias. Students will have contact with this material through theoretical classes, open discussions on specific topics, and seminars. In groups of 2 to 5 students, a 12-week project will also be developed where a real contribution to an existing FLOSS project is expected; this contribution can be in the form of new documentation, new functionality, or bug fixes and improvements.
 
 
Avaliação
     
Método
Participação em projeto de desenvolvimento de software livre, elaboração de seminário e contribuições à Wikipedia.
Critério
Média ponderada de notas dadas a exercícios, trabalhos práticos e apresentação de seminários.
Norma de Recuperação
Trabalho extra para alunos que ficarem de recuperação.
 
Bibliografia
     
Bibliografia Básica: 

Fogel, Karl. Producing Open Source Software. 2nd edition. Disponível em http://producingoss.com . 2017.

Laurent, Andrew M. St. Understanding Open Source & Free Software Licensing. Sebastopol: O’Reilly. Disponível em https://people.debian.org/~dktrkranz/legal/Understanding%20Open%20Source%20and%20Free%20Software%20Licensing.pdf . 2004.

Whitehurst, Jim. “Why Opening Up Your Organization Matters” & “Choosing Meritocracy, not Democracy”. Em: The Open Organization. Red Hat, Inc. Capítulos 1 e 4. 2015.

Ferguson, Kirby. Everything is a Remix (Documentário). Disponível (com legendas em português) em www.youtube.com/watch?v=nJPERZDfyWc . 2015.

Bibliografia Complementar:

Benkler, Yochai. “Some Basic Economics of Information Production and Innovation”; “Freedom to do more for oneself, by oneself, and with others”; & “Conclusion”. Em: The Wealth of Networks: How Social Production Transforms Markets and Freedom. New Haven: Yale University Press. Capítulos 2, 5 (primeira seção) e 12. Disponível em http://cyber.law.harvard.edu/wealth_of_networks . 2006.

Tapscott, Don; Williams, Anthony D. “Platforms for Participation”. Em: Wikinomics: how mass collaboration changes everything. 375 Hudson Street, New York, NY: The Penguin Group. Capítulo 7. 2006.

Sholler, Dan; Steinmacher, Igor; Ford, Denae; Averick, Mara; Hoye, Mike; Wilson, Greg. Ten simple rules for helping newcomers become contributors to open projects. PLoS Computational Biology 15.9. Disponível em https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007296 . 2019.

Feller, Joseph et al. Perspectives on Free and Open Source Software. MIT Press. 2005.

Lessig, L. Cultura Livre. Trad. por Fábio Emilio Costa. Disponível em: http://softwarelivre.org/articles/0018/5102/lawrence-lessig-cultura-livre.pdf . 2005.

Raymond, Eric S. The Cathedral and the Bazaar. Disponível em http://catb.org/esr/writings/cathedral-bazaar,1997-2009.

Raymond, Eric S. (editor) The Halloween Documents. Disponível em http://www.catb.org/~esr/halloween/ . 1998.

Stallman, Richard M. Free Software Free Society: selected essays of Richard M. Stallman. GNU Press. Disponível em http://shop.fsf.org/product/free-software-free-society, 2002.

Santos Jr., Carlos. Open Source Software Projects’ Attractiveness, Activeness, and Efficiency as a Path to Software Quality: An Empirical Evaluation of their Relationships and Causes. Tese de Doutorado — Department of Management Information Systems at SIUC, Carbondale, IL, 2009.

Rosen, Lawrence. Open Source Licensing: Software Freedom and Intellectual Property Law. New Jersey: Prentice Hall, 2005.

Fabio Kon, Nelson Lago, Paulo Meirelles e Vanessa Sabino. Software Livre e Propriedade Intelectual: Aspectos Jurídicos, Licenças e Modelos de Negócio. JAI/SBC. Disponível em http://ccsl.ime.usp.br/pt-br/publicacao/2011/software-livre-e-propriedade-intelectual-aspectos-juridicos-licencas-e-modelos . 2011.

Terrell J, Kofink A, Middleton J, Rainear C, Murphy-Hill E, Parnin C, Stallings J. Gender differences and bias in open source: pull request acceptance of women versus men. PeerJ Computer Science 3:e111. Disponível em https://doi.org/10.7717/peerj-cs.111 . 2017.
 

Clique para consultar os requisitos para MAC0470

Clique para consultar o oferecimento para MAC0470

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP