43
Live Blue - KDE hacking in the tropics 1 Live Blue (http://liveblue.wordpress.com) Apresentação da Disciplina MATA79 - Tópicos em Programação - 2010.1 Desenvolvimento de Software Livre Sandro Santos Andrade [email protected] http://liveblue.wordpress.com [email protected]

Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 1

Live Blue (http://liveblue.wordpress.com)

Apresentação da DisciplinaMATA79 ­ Tópicos em Programação ­ 2010.1

Desenvolvimento de Software LivreSandro Santos [email protected]

http://[email protected]

Page 2: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 2

Roteiro

● Apresentação da disciplina● Justificativa● Metodologia● Avaliações● Benefícios● O KDE no Brasil e no mundo● O Live Blue

Page 3: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 3

Apresentação da disciplina

● Desenvolvimento de Software Livre (MATA79)● Carga horária: 51h● 100% hands­on● Horário: segundas­feiras das 13h as 16h● Local: sala 151● Professor: Sandro Andrade

Page 4: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 4

Apresentação da disciplina

● Objetivos:● Facilitar a iniciação do aluno em projetos de software 

livre.● Disponibilizar um guia sobre como as comunidades se 

organizam e trabalham.● Capacitar tecnicamente o aluno para a participação 

em diversos projetos envolvendo software livre.● Fortalecer a base local de desenvolvedores.● Ampliar as oportunidades futuras de trabalho.

Page 5: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 5

Justificativa

● O Brasil e a China são os dois únicos paises fora da Europa a participar do Projeto Qualipso.

● O Brasil é o quinto pais em número de submissões e também o quinto em projetos aprovados no Google Summer of Code.

● Muitas oportunidades existem foram do nosso contexto local.

● Participar de projetos de software livre é essencial para o amadurecimento técnico e pessoal do aluno.

Page 6: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 6

Justificativa

● Oportunidades:● Google Summer of Code 2010.● Akademy 2010.● NOKIA Qt Development Framework ?● Akademy­br.● Google BH ? INdT – PE ?● Mais de 70 empresas na Europa e Estados Unidos.● FISL, Latinoware.

Page 7: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 7

Justificativa

● Oportunidades:● Live Blue.● CCSL (Centro de Competência em Software Livre).● Outros grupos de desenvolvedores ?● Empresas de consultoria em software livre ?● Projeto Final com software livre ?● …● Conhecer pessoas, trabalhos legais e 

recompensadores.

Page 8: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 8

Metodologia

● Aulas 100% práticas.● Fase inicial de capacitação em C++, Qt4, KDE, o 

que ocorrer …● Fase inicial para Community Bonding e 

conhecimento do eco­sistema.● Fase inicial para conhecimento dos possíveis 

pontos de contribuição.● Hacking, hacking ...

Page 9: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 9

Metodologia

● Pré­requisitos:● Orientação a objetos.● Boa experiência com alguma linguagem OO.● Inglês básico para comunicação escrita.

Page 10: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 10

Avaliações

● A nota do aluno será proporcional à importância da contribuição realizada:

● Foi enviado algum patch ?● Você conseguiu uma conta no svn ?● Foram postadas notícias no planetkde.org ?● Você criou um novo projeto no playground ?● Você fez commits em algum projeto existente ?● Você conseguiu um e­mail kde.org ?● Submeteu para o Summer of Code ?● Irá para o Akademy, na Finlândia ?● Seu código passou pelo kdereview ? Irá ser lançado no KDE 4.5 ?

Page 11: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 11

Benefícios

● Oportunidade para inserção em uma comunidade internacional.

● Melhoria das suas habilidades técnicas.● Melhoria das suas relações inter­pessoais.● Oportunidades de trabalhos futuros.● Você entenderá como e porquê o software livre 

funciona.● Você irá se divertir ...

Page 12: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 12

O KDE no Brasil e no Mundo

● Fundado em 1996 por Matthias Ettrich

Page 13: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 13

O Projeto KDE

● O KDE é uma comunidade internacional para desenvolvimento de software livre.

● Em 1997 o KDE passa a utilizar o toolkit Qt e o KDE e.v. é criado

● O Qt é lançado com a licença GPL em 2000

Page 14: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 14

O Projeto KDE

● O KDE foi totalmente reestruturado para o lançamento do KDE 4 em janeiro de 2008

● Números:● 4 milhões de linhas de código no SVN, mais de 1900 

contribuidores, 300 tradutores, 11000 commits por mês, mais de 20 mirrors do site e 130 de downloads

Page 15: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 15

Tecnologias ­ Qt

● Sobre o Qt:● É um toolkit para o desenvolvimento de aplicações 

GUI multi­plataforma, com recursos para IPC, networking, XML, SVG, banco de dados, scripting, OpenGL, multimídia e soluções embarcadas

● Disponível publicamente desde maio de 1995● Possui cerca de 500 classes e 9000 funções● Possui licença dual

Page 16: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 16

Tecnologias ­ Qt

Page 17: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 17

Tecnologias ­ Qt

● Widgets:

Page 18: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 18

Tecnologias ­ Qt

● Dialogs e Main Windows:

Page 19: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 19

Tecnologias ­ Qt

● Dialogs e Main Windows:

Page 20: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 20

Tecnologias ­ Qt

● Gráficos 2D:

Page 21: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 21

Tecnologias ­ Qt

● Gráficos 2D:

Page 22: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 22

Tecnologias ­ Qt

● Gráficos 2D:

Page 23: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 23

Tecnologias ­ Qt

● Gráficos 2D:

Page 24: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 24

Tecnologias ­ Qt

● OpenGL:

Page 25: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 25

Tecnologias ­ Qt

● Model­View:

Page 26: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 26

Tecnologias ­ Qt

● Banco de Dados:

Page 27: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 27

Tecnologias ­ Qt

● Networking:

Page 28: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 28

Tecnologias ­ Qt

● XML:

Page 29: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 29

Tecnologias ­ Qt

● Ferramentas (Qt Designer):

Page 30: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 30

Tecnologias ­ Qt

● Ferramentas (Qt Linguist):

Page 31: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 31

Tecnologias ­ Qt

● Ferramentas (Qt Assistant):

Page 32: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 32

Tecnologias ­ Qt

● Qtopia (Embedded Qt):

Page 33: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 33

Tecnologias ­ Qt

● E mais …– Extensões do Qt: signals/slots, meta­objetos, containers– Style Sheets e Scripting (QtScript)– Web Browser Engine (WebKit) e Plugins– Multimídia (Phonon) e Manipulação de SVG– Bindings para outras linguagens (Qt Jambi, PyQt, QtRuby, 

Perl, Qt#, Qymono)– Qt na web ? Wt !!!– Extensões do KDE e de terceiros (ex: qwt, qanava, quazip, 

QLALR ...)

Page 34: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 34

Tecnologias ­ Qt

● Porque o Qt ?● Multi­plataforma com código­fonte único● Riqueza de características e funcionalidades● Bom desempenho e ótima documentação● Disponibilidade de código­fonte● Disponibiliza soluções corretas sob o ponto de vista da 

engenharia de software● Write once, compile anywhere

Page 35: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 35

Tecnologias ­ KDE

● Amplia as funcionalidades do Qt através de suas bibliotecas:● kdeui: funcionalidades de interface de usuário● kio: acesso uniforme a arquivos locais e remotos● decibel / telepathy: Computer Telephone Integration, 

VoIP, etc● plasma: o desktop KDE

Page 36: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 36

Porque e como contribuir

● Porque contribuir ?● Você irá aprender com os mestres● Você irá vivenciar um projeto real de desenvolvimento 

de sistemas complexos● Você irá ampliar sua rede de contatos● Oportunidades podem surgir● Você poderá ser pago para trabalhar com software 

livre

Page 37: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 37

Porque e como contribuir

● Papéis desempenhados:● Desenvolvedor de código● Testador (usuário que reporta bugs)● Tradutor / Criador de novas documentações● Criador de pacotes e distribuições● Designer de arte● Promoter● Sociólogo, economista, educador, filósofo ...

Page 38: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 38

Porque e como contribuir

● Por onde começar (desenvolvedores):● Instalar o Linux :)● Conhecer o Linux e o KDE● Estudar C++/Java/Python/Ruby/..., Qt e KDE● Escolher um projeto:

– Se inscrever na lista de discussão– Participar dos canais de IRC– Compilar os fontes do SVN– Participar ...

Page 39: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 39

O Live Blue

● Grupo de promoção, manutenção, documentação, testes e desenvolvimento da plataforma KDE na Bahia

● Atualmente com 20 membros● Web site: http://liveblue.wordpress.com● Objetivo:

● Suportar as atividades técnicas e não­técnicas relacionadas ao projeto KDE na Bahia e no Brasil

Page 40: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 40

O Live Blue

● Projetos em andamento:– Rocs– Visualização de Software no Kdevelop– Gluon – Game Engine– Tutoriais para a Linux Magazine– Manutenção do site br.kde.org– Participação no FISL 10– Participação no Latinoware 2009– Encontro Brasileiro do Projeto KDE– Google Summer of Code 2009

Page 41: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 41

O Live Blue

● Rocs:● Software do pacote KDE­edu para criação e 

manipulação de grafos

Page 42: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 42

O Live Blue

● Visualização de Software no KDevelop:

Page 43: Live Blue () · Apresentação da disciplina Objetivos: Facilitar a iniciação do aluno em projetos de software livre. Disponibilizar um guia sobre como as comunidades se organizam

Live Blue ­ KDE hacking in the tropics 43

Live Blue (http://liveblue.wordpress.com)

Live BlueKDE hacking in the tropics

Sandro Santos AndradeTomaz Martins dos Santos Canabrava

{sandro.andrade, tomaz.canabrava}@gmail.com

http://liveblue.wordpress.comlive­[email protected]