Código: | LIB10154 | Sigla: | ACA | |
Área Científica: | Informática |
Área de Ensino: | Informática |
Sigla | Nº de Estudantes | Plano de Estudos | Ano Curricular | Créditos | Horas Contacto | Horas Totais |
---|---|---|---|---|---|---|
LIB1 | 39 | Despacho n.º 9236/2020, de 28 de setembro | 3º | 5 | 0 | 0 |
Teórico-Práticas: | 56,00 |
Docência - Horas Semanais
|
Docência - Responsabilidades
|
Objetivos de Aprendizagem (conhecimento, aptidões e competências a desenvolver pelos estudantes)
Uma vez obtida aprovação na disciplina, o aluno deverá
- Entender os conceitos de "free software", "open source" e "código aberto";
- Conhecer o fundamental dos instrumentos disponíveis para proteção de propriedade intelectual, com ênfase em copyright, e alternativas relacionadas, para criações de software;
- Conhecer e saber utilizar algumas ferramentas notáveis para a criação aberta e colaborativa de software, com ênfase em sistemas para controlo de versões;
- Ter capacidade para o desenvolvimento de soluções concretas, de locais a distribuídas na Internet, aplicando ferramentas e práticas adequadas à criação colaborativa e aberta.
Conteúdos programáticos
Introdução a código e propriedade intelectual
- Filosofia e Economia subjacentes
- Instrumentos de proteção
Copyright e software
- "Free sofware", "open source", "código aberto"
- Conceitos, fundamentos, implicações
- Licenças
- Licenças Proprietárias (e.g. MS EULA, Apple EULA)
- Licenças "Free" (e.g. BSD, GPL, MIT)
Aplicações, repositórios e difusão
- Serviços de alojamento e difusão
- Exemplos de aplicações "open source" notáveis
- Linguagens e tecnologias comuns
Criação (colaborativa) em open source
- Opção por linguagens e tecnologias
- Exemplos de editores e IDEs
- Controlo de versões e criação colaborativa/distribuída
- Uso de um sistema para controlo de versões (e.g. Git)
- Programação
- Monetização, quando e se aplicável
Desenvolvimento na prática
- Contextos
- Apps Consola, cliente-servidor local/internet
- Aspetos de segurança e boas práticas com dados, código fonte, e comunicações
Os tópicos permitem ao estudante fazer um caminho que começa por contextualizar a produção de código na chamada "economia do conhecimento", com a atitude de criação colaborativa, apresentando instrumentos para proteção da produção intelectual, com foco em soluções para "free software", em que consoante a licença se conferem diferentes graus de liberdade aos utilizadores para utilização, modificação, cópia e distribuição da criação, em alternativa a simplesmente excluírem-se tais direitos, como no copyright clássico. Com isto pretende satisfazer-se os primeiros objetivos elencados.
Uma seleção de casos-de-estudo, exemplos e apresentações, incluindo a utilização de um sistema para controlo de versões, deverão satisfazer o terceiro objetivo.
A utilização concreta de tecnologias e ferramentas estabelecidas na comunidade de free & open source software, com noção do Direito de propriedade intelectual que se lhes aplica, deverá conferir a capacidade de criação informada nesse contexto.
Apresentações e casos de estudo.
Desenvolvimento prático de soluções open source.
Avaliação:
Trabalhos propostos pelo estudante e acordados com o docente (T)
Elemento de avaliação controlado pelo docente (E)
Nota final = 1/3 * T + 2/3 * E
As apresentações e casos de estudo introduzem e concretizam os conceitos, respetivamente, e deverão facilitar o seu entendimento.
O desenvolvimento na prática expõe os estudantes à realidade das soluções adotadas, devendo traduzir-se em aptidões para a criação de software open source.
Lindberg, V. (2008). Intellectual Property and Open Source: A Practical Guide to Protecting Code: O'Reilly Media.
Git Documentation. (2023). from http://git-scm.com/doc
Lockhart, J. (2015). Modern PHP: New Features and Good Practices: O'Reilly Media
Kavanagh, P. (2004). Open Source Software: Implementation and Management: DIGITAL PRESS.
Joseph Feller, B. F., Scott A Hissam (2007). Perspectives on Free and Open Source Software: MIT Press.
Krishnamurthy, S. (2003). E-Commerce Management : Text and Cases: Thomson / South-Western College Pub.
Utilização sistemática de soluções que permitem o acompanhamento à distância das sessões e dos alunos, como o software Zoom.