• Nenhum resultado encontrado

OSSNetwork: Um Ambiente para Estudo de Comunidades de Software Livre usando Redes Sociais

N/A
N/A
Protected

Academic year: 2021

Share "OSSNetwork: Um Ambiente para Estudo de Comunidades de Software Livre usando Redes Sociais"

Copied!
10
0
0

Texto

(1)

OSSNetwork: Um Ambiente para Estudo de Comunidades de

Software Livre usando Redes Sociais

Marco Antonio Balieiro, Samuel de Sousa Júnior, Leandro Pantoja Pereira, Cleidson R. B. de Souza

Faculdade de Computação – Universidade Federal do Pará 66075-110 – Belém – PA – Brazil

{ma.balieiro, sfelixjr, leandropantoja}@gmail.com, cdesouza@ufpa.br

Resumo. Projetos de software livre são importantes exemplos de projetos

distribuídos de desenvolvimento de software devido a auto-organização que ocorre nestes projetos. Eles têm fornecido e podem fornecer importantes lições para a Engenharia de Software sobre a forma de organizar, coordenar e avaliar projetos de desenvolvimento de software. Para estudar estes projetos, o ambiente OSSNetwork está sendo desenvolvido na Universidade Federal do Pará. Este ambiente permite a análise de projetos de software livre através da utilização da técnica de redes sociais fornecendo serviços que permitem a condução de estudos empíricos. Este artigo descreve o ambiente OSSNetwork, assim como conceitos básicos de redes sociais.

Abstract. Open source projects are typical examples of successful distributed

software development projects. Understanding how coordination in these projects take place can provide important lessons to Software Engineering researchers and practitioners. This paper describes an environment, called OSSNetwork, that allows the data collection of open source repositories, therefore facilitating new empirical studies of open source projects. The data collected by the OSSNetwork is aimed to support the construction of social networks.

1. Introdução e Justificativa

A cada dia cresce a utilização de software livres devido à redução dos gastos com compra de licenças, ao seu bom desempenho em operações críticas e manipulação de dados e principalmente, devido à segurança oferecida por tais sistemas (Hoepman e Jacobs 2007). Defensores de software livre argumentam que a disponibilidade do código influencia positivamente na sua qualidade, visto que qualquer desenvolvedor pode revisar o código e aperfeiçoá-lo (Raymond 1998).

Devido a estes fatores, pesquisadores de diversas áreas (engenharia de software, economia, sociologia, administração, etc.) têm buscado compreender este fenômeno sob diferentes aspectos, incluindo a motivação dos desenvolvedores para dispor seu tempo neste tipo de projeto (Rullani 2006), o processo de software adotado por essas comunidades (Jensen e Scacchi 2007), as práticas de qualidades adotadas nestes projetos (Halloran e Scherlis 2002), entre outros. Devido aos diferentes objetivos, diferentes métodos de pesquisa têm sido adotados desde etnografias (Ducheneaut 2002), estudos de caso (Jensen e Scacchi 2007) até métodos estatísticos (Mockus, Fielding e Herbsleb 2000).

(2)

Neste trabalho, o enfoque adotado se baseia na análise de redes sociais (Wasserman e Faust 1997). A análise de redes sociais (em inglês, social network

analysis) enfoca os relacionamentos que surgem entre os desenvolvedores destas

comunidades, ao invés de focar em atributos individuais dos desenvolvedores. Exemplos de estudos usando redes sociais incluem (Crowston e Howison 2003) que estudaram a rede de participantes que se envolvem nas atividades de correção de bugs; (Lopez-Fernandez, Robles e Gonzalez-Barahona 2004) que estudaram as redes de

commits (redes onde cada nodo corresponde a um desenvolvedor que fez um commit no

repositório de software livre e as arestas são criadas entre dois desenvolvedores se eles fizeram commits nos mesmos arquivos); e finalmente, (De Souza, Froehlich e Dourish 2005) que analisaram as redes sociais de desenvolvedores extraídas a partir das dependências que existem no código que cada desenvolvedor escreveu. Cada um destes estudos identificou importantes aspectos das comunidades de software livre. Entretanto, cada um deles conduziu suas análises de maneira isolada, construindo sua própria ferramenta para extração, tratamento e análise dos dados coletados. Visando minimizar este esforço, (Howison, Conklin e Crowston 2006) desenvolveram uma ferramenta, FLOSSmole, que permite a coleta, armazenamento e distribuição de dados e análises de projetos de software livre. Esta ferramenta coleta do repositório SourceForge informações gerais sobre os projetos como linguagem de programação, número de desenvolvedores, etc., mas não coleta os dados necessários a geração de redes sociais. O trabalho descrito neste artigo estende a ferramenta FLOSSmole ao descrever um ambiente, chamado OSSNetwork, que permite o estudo de comunidades de software livre através da utilização de redes sociais. Além das informações gerais, informações sobre as listas de discussão, fóruns e ferramentas de bug-tracking também são coletadas e armazenadas pelo ambiente aqui proposto. Estas informações são necessárias porque é a partir delas que as redes sociais são geradas.

Existem grandes dificuldades que os pesquisadores enfrentam no processo de coleta dos dados de projetos de software livre para a análise de redes sociais, tais como: obtenção e armazenamento de dados que se encontram em servidores que os pesquisadores não têm acesso direto, diferenças entre os modelos de dados de diferentes repositórios, manuseio de grandes quantidades de informações, tratamento de informações específicas que podem gerar ambigüidades (como por exemplo, o problema dos aliases de desenvolvedores (Gertz 2006)), aplicação de algoritmos sobre os dados coletados ou mesmo sobre os resultados das redes sociais geradas e a visualização e manipulação dessas redes. Todas estas características, que dificultam o processo de pesquisa empírica, tentam ser minimizados com a ferramenta proposta.

O restante deste artigo está organizado como segue. A próxima Seção apresenta as motivações do projeto, assim como as vantagens do ambiente. Em seguida, conceitos básicos de redes sociais são apresentados. Logo após, o ambiente objeto deste artigo é descrito, focando em suas funcionalidades principais: coleta, armazenamento e análise de dados. Finalmente, a Seção 5 descreve conclusões e trabalhos futuros.

2. Motivação e Vantagens do Ambiente

Uma das tarefas mais questionáveis e difíceis em estudos de projetos de software livre é a seleção dos projetos para analisar (Howison, Conklin e Crowston 2006). Neste sentido, dois mecanismos podem ser utilizados: o censo, onde todos os projetos existentes de um determinado fenômeno a ser analisado devem ser utilizados, o que é bastante difícil, pois não se sabe quantos projetos existem; e a amostragem, onde uma

(3)

pequena porção dos projetos que representam um determinado fenômeno deve ser selecionada aleatoriamente. Amostrar projetos possui as mesmas dificuldades que o censo, ou seja, a população total de projetos para analisar não está bem definida (ibid.). Mesmo selecionando-se aleatoriamente os projetos, ainda assim, em geral não se produz uma amostra representativa, pois os repositórios públicos contêm grandes quantidades de projetos inativos, realocados ou desativados. As dificuldades em amostrar os projetos também decorrem do fato de que os estudos tendem a limitar suas pesquisas em projetos de apenas um repositório, como por exemplo, o SourceForge.

Uma vez que todos estes problemas são resolvidos, pesquisadores têm que escolher entre duas opções para a tarefa de coleta de dados: obter os dumps dos bancos de dados dos repositórios ou realizar uma análise do conteúdo das páginas web dos sistemas de gerenciamento dos repositórios. Obter acesso aos bancos de dados é claramente preferível, porém nem todos os repositórios disponibilizam os dumps de seus bancos.

O ambiente OSSNetwork visa minimizar estes problemas pois implementa de maneira integrada mecanismos de extração de informações de diferentes repositórios de projetos de software livre e armazenamento dessas informações em um banco de dados local. Parsing das páginas web é utilizado para a extração dos dados dos repositórios Apache, SourceForge e RubyForge, visando minimizar alguns dos problemas mencionados anteriormente. O OSSNetwork tem como um de seus objetivos principais expandir a quantidade de repositórios suportados com o objetivo de minimizar o processo de seleção e localização dos projetos para análise. No momento, está sendo feita a integração do repositório CodePlex. Uma vez que estes dados estão disponíveis no banco de dados do ambiente, pesquisadores podem realizar consultas para identificar projetos que não deveriam participar de uma possível amostragem por estarem inativos ou desativados e assim por diante.

3. Conceitos Básicos de Redes Sociais

Uma rede social é definida como um conjunto de relacionamentos (Kadushin 2004), ela possui um conjunto de objetos (nós da rede em termos matemáticos) e uma descrição dos relacionamentos entre os objetos. Por exemplo, pode-se dizer que os nós são as pessoas de uma casa e a relação que interliga estas pessoas poderia ser “pessoas que utilizam o mesmo quarto”. A Figura 1 apresenta um exemplo de uma rede social de desenvolvedores de software onde os relacionamentos indicam relacionamentos de dependência de código, ou seja, uma aresta de um nodo A para o nodo B indica que o código do desenvolvedor A depende do código do desenvolvedor B.

(4)

3.1. Propriedades

Uma rede social pode ser caracterizada segundo algumas propriedades estruturais e topológicas (Hanneman e Riddle 2005) que são, em sua grande maioria, derivadas da teoria dos grafos. Algumas propriedades estruturais são: o grau de cada nó, definido como o número de nós a ele adjacentes e representa o número de arcos conectados a um determinado nó; o grau balanceado do nó, que é a soma dos pesos de todos os arcos conectados em um determinado nó; o grau de proximidade, que mede o quanto o nó que representa o ator está próximo de todos os demais nós da rede; e o grau de intermediação, que avalia o quanto um nó está no caminho geodésico entre outros nós.

As propriedades topológicas são: a densidade da rede, que é a proporção dos arcos que estão efetivamente presentes na rede dentre todos os arcos possíveis; o grau de distribuição, que representa a freqüência relativa de cada valor dos graus dos nós em uma dada rede; o diâmetro da rede, definido como o maior caminho dentro os caminhos mais curtos da rede; e por último, o cluster, que é um conjunto de nós similares de alguma forma. Em redes sociais, similaridade é baseada em propriedades topológicas, mas também podem ser baseadas em propriedades dos nós ou das arestas.

As redes sociais também podem ser classificadas quanto ao tipo da rede, que pode ser definido segundo o escopo ou segundo os dados. Isto será discutido na Seção a seguir.

3.2. Tipos de Redes

O tipo de rede social pode ser definido quanto ao escopo e quanto aos dados. Segundo o escopo, as redes podem ser: totais, também conhecidas como sócio-cêntricas, que são aquelas que possuem um conjunto total de relacionamentos em uma unidade de análise (projeto, família, departamento, etc.); egocêntricas, em que a maioria dos nós está conectada a nós simples ou individuais; e redes de sistemas abertos, que são redes em que as fronteiras não são necessariamente claras (Hanneman e Riddle 2005).

Quanto aos dados, as redes podem ser do tipo 1-mode, que representam o relacionamento entre entidades sociais do mesmo tipo, por exemplo, quem é amigo de quem, quem pede conselho para quem, quem depende de quem; e redes 2-mode que representam relacionamentos entre entidades sociais diferentes, por exemplo, as pessoas que foram a uma reunião, os desenvolvedores que corrigiram um determinando bug, pessoas que compõem organizações (Hanneman e Riddle 2005). É importante ressaltar que a partir de uma rede 2-mode pode-se obter as redes 1-mode associadas a esta através de operações matemáticas na rede (ver Seção 4.2).

4. O Ambiente OSSNetwork e suas Principais Funcionalidades

No momento, o ambiente OSSNetwork é um ambiente que permite (i) obter informações de repositórios de projetos de software livre, (ii) armazenar estas informações em um sistema de gerência de banco de dados, (iii) gerar redes sociais a partir destas informações, e finalmente (iv) exportar as redes sociais para a utilização em outras ferramentas. O ambiente utiliza matrizes para a geração das redes sociais a partir dos dados existentes nos projetos (Wasserman e Faust 1997). As funcionalidades de visualização, manipulação e análise encontram-se em fase de implementação. Ferramentas para transformação de grafos (zoom, deslocamento e rotação), para captura de elementos do grafo (movimento e seleção de vértices e arestas), para anotações no grafo (texto e figuras geométricas simples) e para edição do grafo (criação de novos

(5)

vértices e arestas dinamicamente) serão disponibilizadas. Além disso, algoritmos para disposição de vértices (layout), caminhamento e métricas de redes sociais estão previstos, assim como funcionalidades de importação de redes sociais de outras ferramentas como Pajek(http://vlado.fmf.uni-lj.si/pub/networks/pajek) e UCINet (www.analytictech.ucinet/ucinet.htm).

Como limitações do ambiente, o OSSNetwork não permite a atualização das bases de dados automaticamente, pois as informações dos repositórios mudam constantemente e torna-se bastante difícil manter um tracker das modificações nos dados. Desta forma, os dados coletados representam um snapshot das interações das comunidades de software livre.

4.1. Obtenção das Informações dos Repositórios e seu Armazenamento

O ambiente OSSNetwork tem como principal objetivo minimizar o esforço de pesquisadores interessados em analisar projetos de software livre usando redes sociais . Atualmente, os seguintes repositórios são suportados: SourceForge, RubyForge e Apache. A implementação de serviços de coleta de dados do repositório CodePlex encontra-se em andamento. O ambiente OSSNetwork utiliza o framework FLOSSMole (Howison, Conklin e Crowston 2006). O FLOSSMole é um projeto que visa fornecer uma arquitetura que possibilite o estudo de projetos de software livre, mas que concentra-se na análise do repositório de software livre SourceForge. A partir da extensão deste framework foram adicionadas as funcionalidades necessárias – coleta dos fóruns de bugs e discussão, coleta de listas de discussão, etc - para se obter os dados necessários para a construção das redes sociais.

Para obter as informações do projeto em análise, o framework recebe a URL de um projeto e, a partir dela, utiliza expressões regulares que fazem a leitura do código HTML de páginas web do projeto e retornam as informações requisitadas. Atualmente, são suportados os repositórios de listas de e-mail da Apache e bugs e fórum de discussão do SourceForge e RubyForge.

Cada projeto hospedado nos repositórios suportados pelo ambiente OSSNetwork possui páginas web individuais onde são apresentadas as informações referentes a eles. Duas áreas de interação entre usuários destes repositórios são focadas neste estudo: listas de discussão de bugs e fóruns públicos. Estas áreas concentram grande parte das interações entre os colaboradores do projeto. Nas listas de discussão de bugs são encontrados os erros reportados pelos usuários, ordenados de acordo com a data de postagem do mesmo. Para cada erro, freqüentemente existe uma pequena discussão associada que tem o objetivo de catalogar informações que podem ser úteis na resolução destes por parte dos desenvolvedores. Esta discussão é automaticamente armazenada no repositório e é aberta a todos que possuem cadastro no repositório, não importando o papel que o usuário desempenha no projeto.

Após obter os dados das páginas web dos repositórios, a ferramenta armazena-os em um banco de dados em um modelo específico para cada tipo de fonte de dados (fórum, bugs, chat, listas de e-mail, etc.), cujos modelos podem ser vistos na Figura 2. O sistema de gerência de banco de dados utilizado é o MySQL. Para auxiliar na persistência de dados, utilizou-se uma API de mapeamento objeto/relacional para Java, o JPA (Java Persistence API). A implementação utilizada foi o Hibernate.

Através do modelo descrito na Figura 2, os dados brutos das páginas são armazenados e podem ser usados em qualquer estudo empírico. Estes dados são então tratados através de um processo de transformação que converte os relacionamentos entre as entidades dos modelos específicos em entidades de um modelo genérico

(6)

conforme discutido na próxima Seção.

Figura 2 - Diagrama de classes do modelo específico.

4.2. Geração de Redes Sociais

As redes sociais são geradas a partir das informações das listas de discussão, dos fóruns e das listas de discussão associadas aos bugs, tendo como nós as pessoas que postaram mensagens nas listas e nos fóruns e as arestas correspondem ao fato de uma pessoa ter respondido a mensagem da outra.

O mecanismo para gerar estas redes sociais utiliza duas operações matriciais: multiplicação e transposição. Estas operações são necessárias para se obter uma rede do tipo 1-mode a partir de redes do tipo 2-mode (Wasserman e Faust 1997). Conforme mencionado anteriormente, uma rede 1-mode representa relacionamentos entre entidades sociais do mesmo tipo, por exemplo, relacionamento entre alunos de uma escola. Por outro lado, redes 2-mode representam relacionamentos entre entidades sociais diferentes, (pessoas e organizações). Por exemplo, pessoas que participaram de uma reunião, ou no caso de projetos de software livre, colaboradores que postaram mensagens referentes à discussão de um determinado bug.

Para mostrar claramente como as redes sociais são geradas, um exemplo de uma lista com oito pessoas que postam mensagens em seis listas de bugs de um projeto é representado pela Tabela 1.

Apenas como notação, foi definido que quando uma pessoa posta mensagens em uma determinada lista de discussão de um bug específico é atribuído o valor 1. Quando a pessoa não posta nenhuma mensagem, o valor zero é considerado. Desta forma, na

(7)

lista de discussão do bug1, os seguintes usuários postaram mensagens: 1, 3, 4, 5, 7 e 8. O número de mensagens postadas é desconsiderado neste processo (Wasserman e Faust 1997). Após a construção da matriz da Tabela 1 (que ilustra uma rede 2-mode), é necessário construir a sua matriz transposta. Para finalizar a construção da rede 1-mode, deve-se realizar a multiplicação de matrizes entre a matriz da Tabela 1 pela sua transposta. O resultado desta multiplicação é exibido na Tabela 2.

Tabela 1: Pessoas que postam mensagens em um projeto

Bug1 Bug2 Bug3 Bug4 Bug5 Bug6

Pessoa1 1 1 1 1 1 0 Pessoa2 0 1 1 1 0 1 Pessoa3 1 0 1 1 1 0 Pessoa4 1 1 1 1 1 1 Pessoa5 1 0 1 0 0 1 Pessoa6 0 1 0 1 0 1 Pessoa7 1 1 1 1 1 1 Pessoa8 1 1 0 0 1 1

Tabela 2: Resultado da multiplicação entre a matriz e sua transposta Pessoa1 Pessoa2 Pessoa3 Pessoa4 Pessoa5 Pessoa6 Pessoa7 Pessoa8

Pessoa1 5 3 4 5 2 2 5 3 Pessoa2 3 4 2 4 2 3 4 2 Pessoa3 4 2 4 4 2 1 4 2 Pessoa4 5 4 4 6 3 3 6 4 Pessoa5 2 2 2 3 3 1 3 2 Pessoa6 2 3 1 3 1 3 3 2 Pessoa7 5 4 4 6 3 3 6 4 Pessoa8 3 2 2 4 2 2 4 4

A matriz resultante mostra a presença ou ausência de relacionamentos entre as pessoas que postaram mensagens nas listas de discussão de cada bug. Como pode ser observado, linhas e colunas representam pessoas. Dessa forma cada elemento E (n, m) representa a relação entre as pessoas n e m.

Na construção dos gráficos de redes sociais neste trabalho, o valor de cada elemento da matriz, geralmente, não é importante: o importante é se o valor é igual ou diferente de zero. Caso este valor seja diferente de zero, houve comunicação entre o par de pessoas, ou seja, eles possuíram alguma relação nas listas de discussão de bugs. Caso seja igual a zero, o par de pessoas não possuiu relação. Desta forma, a Tabela 2 representa a rede social dos desenvolvedores que postaram mensagens nos bugs identificados.

Este mecanismo é aplicado de maneira análoga para a geração de redes sociais a partir das mensagens trocadas nos fóruns de discussão. Todos os dados referentes às redes sociais geradas são armazenados em um novo modelo genérico para redes sociais. Este modelo é visto na Figura 3 e é baseado no framework JUNG (http://jung.sourceforge.net) que possibilita, além da representação de grafos através de vértices e arestas, características das operações sobre o grafo, tais como transformações nos vértices ou arestas, aplicação de algoritmos de manipulação de dados do grafo (indexar, filtrar, etc.) e algoritmos de visualização (cluster, layout, entre outros). Este modelo genérico pode armazenar, além das informações referentes às redes sociais, propriedades diversas que podem ser mapeadas dos modelos específicos, tais como, informações dos colaboradores podem ser adicionadas aos vértices da rede, o corpo da

(8)

mensagem pode ser utilizado na rede e informações temporais para gerar uma rede social evolutiva para estudos do impacto de mudanças no processo adotado ou na comunidade em relação ao tempo.

Figura 3 - Diagrama de classes do modelo genérico de redes sociais.

4.3. Exportação de Redes Sociais

As redes sociais dos projetos de software livre podem sem exportadas em arquivos nos formatos XML, CSV e DL para poderem ser analisadas em ferramentas de análise de redes sociais como o UCINet (www.analytictech.ucinet/ucinet.htm). O processo de exportação de uma rede social utiliza apenas os dados do modelo genérico de redes sociais que foi previamente criado no processo de transformação. Portanto, estes dados já se encontram em um formato próprio para serem representados através de matrizes, formato este necessário para construir o arquivo a ser exportado, não necessitando mais de nenhum tipo de processamento. Isto reduz drasticamente o tempo de criação de um arquivo a ser exportado em comparação com outras ferramentas de análise de redes sociais.

4.4. Estudo de Caso: Apache Jackrabbit

Como exemplo de utilização da ferramenta, a Figura 4 ilustra a rede social gerada com o ambiente OSSNetwork a partir das mensagens trocadas na lista de e-mail do projeto Jackrabbit da Apache. Nesta figura, é possível visualizar algumas características que estão sendo implementadas, tais como: manipulação de vértices e arestas, utilização de formatos geométricos e tamanhos diferentes de acordo com alguma métrica (neste caso o grau de cada nó), anotações, realce de vértices vizinhos, etc.

(9)

Figura 4 – Estudo de Caso do Projeto Apache Jackrabbit

5. Conclusões e Trabalhos Futuros

A pesquisa empírica em projetos de software livre tem despertado cada vez mais interesse de pesquisadores. Apesar disso, ferramentas que auxiliam neste tipo de pesquisa ainda são escassas em vista das dificuldades inerentes do processo de pesquisa. O ambiente OSSNetwork descrito neste artigo ajuda a diminuir essas dificuldades fornecendo um ambiente para auxílio do processo de pesquisa e ferramentas para manipulação dos dados.

A partir da utilização do ambiente, espera-se que novos estudos sejam conduzidos, assim como novas abordagens sejam adotadas. Em particular, estamos interessados em análises multidimensionais de redes sociais, ou seja, análises que considerem ao mesmo tempo múltiplas redes sociais, criadas a partir de diferentes fontes de dados, tais como fórum de discussões, salas de bate-papo, sistemas de gerenciamento de bugs, listas de e-mail, etc. Uma análise multidimensional torna possível estudar relações entre as redes sociais geradas. Desta forma, acredita-se que isto permitiria identificar certos comportamentos dos desenvolvedores desses projetos: por exemplo, os diferentes papéis que um mesmo desenvolvedor pode possuir em diferentes aspectos (código, suporte a correção de bugs, suporte aos usuários) do projeto de software livre.

(10)

Agradecimentos

Este trabalho foi financiado pela Microsoft, pelo CNPq através do Edital Universal 20006 (projeto 479206/2006-6) e pela Universidade Federal do Pará através do programa PARD 2006.

6. Referências Bibliográficas

Conklin, M. (2004). Do the Rich Get Richer? The Impact of Power Laws on Open Source Development Projects. Open Source Conference (OSCON). Portland, OR. Crowston, K., & Howison, J. (2003). The Social Structure of Open Source Software

Development Teams. International Conference on Information Systems. Seattle, WA.

De Souza, C., Froehlich, J., & Dourish, P. (2005). Seeking the Source: Software Source Code as a Social and Technical Artifact. ACM Conference on Group Work. Sanibel Island, FL.

Ducheneaut, N. (2002). The Reproduction of Open Source Software Programming Communities. School of Information Management and Systems. Berkeley, CA: UC Berkeley.

Gertz, M. (2006). Mining Email Social Networks in Postgres. International Workshop

on Mining Software Repositories. Shanghai, China.

Halloran, T., & Scherlis, W. (2002). High Quality and Open Source Software Practices.

Workshop on Open Source Software Engineering. Orlando, FL.

Hanneman, R., & Riddle, M. (2005). Introduction to Social Network Methods. Riverside, CA: University of California, Riverside.

Hoepman, J., & Jacobs, B. (2007). Increased Security Through Open Source.

Communications of the ACM , pp. 79-83.

Howison, J., Conklin, M., & Crowston, K. (2006). FLOSSmole: A Collaborative Repository for FLOSS Research Data and Analyses. Journal of Information

Technology and Web Engineering .

Jensen, C., & Scacchi, W. (2007). A Reference Model for Discovering Open Source Software Processes. Third IFIP International Conference on Open Source Systems. Limerick, IR.

Kadushin, C. (2004). Introduction to Social Network.

Lopez-Fernandez, L., Robles, G., & Gonzalez-Barahona, J. (2004). Applying Social Network Analysis to the Information in CVS Repositories. Juan Carlos, Spain: Universidad Rey Juan Carlos.

Mockus, A., Fielding, R., & Herbsleb, J. (2000). A Case Study of Open Source Software Development: The Apache Server. International Conference on Software

Engineering. Limerick, Ireland.

Raymond, E. S. (1998). The Cathedral and the Bazaar. First Monday.

Rullani, F. (2006). Dragging Developers Towards The Core. How The Free/Libre/Open Source Software Community Enhances Developer’s Contribution. Laboratory of

Economics and Management``. Pisa, Italy: Sant'Anna School of Advanced Studies.

Wasserman, S., & Faust, K. (1997). Social Network Analysis: Methods and

Applications. Cambridge, UK and New York: Cambridge University Press.

Xu, J., Gao, Y., Christley, S., & Madey, G. (2005). A Topological Analysis Of The Open Source Software Development Community. HICSS 2005. Big Island, Hawaii: IEEE Computer Society.

Referências

Documentos relacionados

Por estas razões, tomou-se como amostra o grupo de médicos-residentes daquele hospital e, utilizando a técnica do survey (BABBIE, 1999) − através da aplicação de um

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

(a) uma das formas para compatibilizar direitos consagrados na Constituição Federal de 1988 diretamente relacionados com a dignidade da pessoa humana – como o respeito à vida privada

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

No 2T18, o segmento apresentou uma pequena redução da receita líquida (desconsiderando receita de longa distância) em relação ao 2T17 e um crescimento de 0,9% na comparação com

conscientemente um bem, numa data de referência, dentro das condições do mercado vigente, ou seja, o valor de mercado é único, muito embora existam outros

de 2 (duas), por acordo individual, convenção coletiva ou acordo coletivo de trabalho. Agora a CLT passa a contar com 3 espécies de compensação de horas; 1) Banco de horas