Skip to content

lucianobajr/github-complex-networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Complex Networks

ℹ️ complex networks

Foi escolhido o GitHub como plataforma para a coleta de dados . O GitHub é uma plataforma de desenvolvimento de software colaborativo que abriga milhões de repositórios públicos e privados, tornando-se um repositório valioso de informações relacionadas a projetos de código aberto, desenvolvedores de software e suas interações. Ao utilizar a API do GitHub, em conjunto com a biblioteca PyGithub, é possível acessar uma variedade de informações, desde dados sobre repositórios e suas atividades até informações de perfil de desenvolvedores individuais.

Beneficios do uso do GitHub e o uso da API do GitHub com a biblioteca PyGithub:

  1. Abundância de Dados Relevantes: O GitHub abriga uma enorme quantidade de dados de desenvolvimento de software, o que inclui repositórios de código-fonte, issues, solicitações de pull, comentários, colaboradores e muito mais. Esses dados são extremamente valiosos para a análise de redes complexas no contexto de desenvolvimento de software colaborativo.
  2. Comunidade Ativa de Desenvolvedores: O GitHub possui uma comunidade ativa de desenvolvedores que colaboram em projetos de código aberto. Isso resulta em redes complexas de colaboração, com desenvolvedores se seguindo, contribuindo para os mesmos projetos e interagindo por meio de issues e pull requests.
  3. Documentação Robusta da API: O GitHub fornece uma API bem documentada, o que facilita a coleta de dados. A biblioteca PyGithub simplifica ainda mais o processo, permitindo que os desenvolvedores acessem facilmente os recursos da API.
  4. Flexibilidade na Análise: A coleta de dados do GitHub por meio da biblioteca PyGithub oferece flexibilidade na análise de redes complexas. É possível investigar redes de desenvolvedores, colaborações em projetos específicos, comunidades de código aberto e muito mais.
  5. Amostra Representativa: O GitHub é usado por uma ampla variedade de desenvolvedores e organizações em todo o mundo. Isso pode resultar em uma amostra representativa que pode ser usada para análises mais amplas ou estudos de caso específicos.

No entanto, é importante observar que, como em qualquer pesquisa baseada em dados, existem limitações na coleta de dados do GitHub. Nem todos os desenvolvedores e projetos estão hospedados no GitHub, o que pode levar a limitações de representatividade. Além disso, é essencial reconhecer e documentar as limitações dos dados, o que pode incluir viés nos dados coletados e eventuais lacunas.

Em resumo, a escolha do GitHub e o uso da API do GitHub com a biblioteca PyGithub para a coleta de dados são justificados pela abundância de dados relevantes, a comunidade ativa de desenvolvedores, a documentação robusta da API, a flexibilidade na análise e a capacidade de obter uma amostra representativa para análises de redes complexas no contexto de desenvolvimento de software colaborativo. Por meio deste trabalho, será possível explorar e compreender as dinâmicas de colaboração e interação nesse ambiente único.

Github é uma rede social?

O GitHub é uma plataforma que combina elementos de rede social com desenvolvimento de software. Embora seu foco principal seja hospedar repositórios de código, ele também oferece perfis de usuário, interações sociais, seguidores e recursos que lembram uma rede social. Os usuários podem seguir outros e colaborar em projetos, tornando-o uma rede social especializada para desenvolvedores. Portanto, o GitHub se encaixa como uma rede social no contexto da comunidade de desenvolvimento de software.


https://olhardigital.com.br/2023/01/03/pro/conheca-os-25-brasileiros-mais-influentes-na-tecnologia/

https://forbes.com.br/forbes-tech/2023/01/7-influenciadores-de-tecnologia-e-inovacao-para-seguir-no-instagram/#foto1

https://committers.top/brazil.html

https://github.com/trending/developers

https://govisually.com/blog/trending-github-developers/https://www.masaischool.com/blog/12-github-profiles-every-developer-must-follow/#jayant-goelhttps://gist.github.com/paulmillr/2657075/a31455729440672467ada20ac10452d74a871e54https://www.reddit.com/r/github/comments/41ccio/list_of_celebrity_programmers_who_have_a_github/


Datasets criados

Para criar o primeiro dataset, iniciei minha pesquisa com o objetivo de identificar influenciadores brasileiros na área de tecnologia e desenvolvedores ativos no GitHub. A primeira fonte de informações que utilizei foi a Forbes, que publicou um artigo intitulado "7 influenciadores de tecnologia e inovação para seguir no Instagram" (https://forbes.com.br/forbes-tech/2023/01/7-influenciadores-de-tecnologia-e-inovacao-para-seguir-no-instagram/#foto1). Nesse artigo, foram listadas algumas personalidades brasileiras que se destacam na área de tecnologia e inovação.

A segunda fonte que explorei foi o Olhar Digital, que publicou um artigo intitulado "Conheça os 25 brasileiros mais influentes na tecnologia" (https://olhardigital.com.br/2023/01/03/pro/conheca-os-25-brasileiros-mais-influentes-na-tecnologia/). Nesse artigo, foram apresentados brasileiros que têm se destacado na área da tecnologia, incluindo influenciadores, empreendedores e profissionais de destaque.

Além disso, utilizei o site "committers.top" (https://committers.top/brazil.html), que lista os desenvolvedores mais ativos no GitHub no Brasil. Essa fonte me proporcionou insights valiosos sobre desenvolvedores que estão contribuindo ativamente para projetos de código aberto no GitHub.

Outra fonte que considerei foi o GitHub Trends (https://github.com/trending/developers), que destaca os desenvolvedores que estão construindo ferramentas populares atualmente no GitHub. Isso me permitiu identificar desenvolvedores em destaque na plataforma.

Também consultei artigos como "8 Trending GitHub Developers That You Must Follow Today" (https://govisually.com/blog/trending-github-developers/) e "12 GitHub Profiles Every Developer Must Follow" (https://www.masaischool.com/blog/12-github-profiles-every-developer-must-follow/#jayant-goel) para encontrar perfis de desenvolvedores influentes no GitHub.

Para complementar, explorei uma lista do Reddit que menciona celebridades da programação que possuem contas no GitHub (https://www.reddit.com/r/github/comments/41ccio/list_of_celebrity_programmers_who_have_a_github/). Embora algumas das personalidades listadas possam não ser brasileiras, isso enriqueceu a pesquisa com perfis globais que podem ter relevância para a comunidade de desenvolvedores.

Por fim, também me baseei na lista "Most active GitHub users" (https://gist.github.com/paulmillr/2657075/a31455729440672467ada20ac10452d74a871e54), que lista os usuários mais ativos no GitHub globalmente. Embora essa lista não seja específica para o Brasil, ela forneceu informações valiosas sobre desenvolvedores ativos na plataforma.

O motivo para criar esse primeiro dataset foi mapear perfis de influenciadores brasileiros na área de tecnologia, bem como identificar desenvolvedores ativos no GitHub que podem ser relevantes para análises futuras. Esses perfis podem ser úteis para diversas finalidades, como análises de redes sociais, estudos de tendências tecnológicas, e até mesmo para estabelecer conexões e colaborações na comunidade de desenvolvedores.

Posteriormente, o segundo dataset foi criado com usuários aleatórios a partir do primeiro dataset, seguindo os critérios:

  1. Escolha um usuário random
  2. Escolha entre o followers e followees um usuario que não esteja na lista de candidatos
  3. Use a API para recuperar os dados do usuário

Isso permitiu expandir a base de dados e incluir perfis que podem não ser tão amplamente reconhecidos, mas que contribuem ativamente para a comunidade de desenvolvedores.

Essa abordagem de criar um segundo dataset com base em usuários aleatórios é uma maneira eficaz de ampliar a amostra e diversificar as fontes de dados, o que pode enriquecer ainda mais suas análises e pesquisas na área de tecnologia e desenvolvimento. Além disso, garantir que esses novos usuários não estejam presentes no dataset primário ajuda a evitar duplicações e a manter a integridade dos dados coletados.

Dados Coletados dos Usuários

Campo Descrição
.login Nome de usuário no GitHub.
.id Identificação única do usuário no GitHub.
.avatar_url URL da imagem de avatar do usuário.
.gravatar_id ID do Gravatar do usuário.
.url URL principal do perfil do usuário.
.html_url URL HTML do perfil do usuário.
.followers_url URL para listar os seguidores do usuário.
.following_url URL para listar os usuários que o usuário segue.
.gists_url URL para listar os Gists criados pelo usuário.
.starred_url URL para listar os repositórios marcados como favoritos pelo usuário.
.subscriptions_url URL para listar as assinaturas do usuário.
.organizations_url URL para listar as organizações às quais o usuário pertence.
.repos_url URL para listar os repositórios do usuário.
.events_url URL para listar os eventos relacionados ao usuário.
.received_events_url URL para listar eventos recebidos pelo usuário.
.type Tipo de conta (por exemplo, "User" para usuários comuns).
.site_admin Indica se o usuário é um administrador do site.
.name Nome real do usuário.
.company Empresa associada ao usuário (se aplicável).
.blog Blog pessoal ou página da web do usuário (se aplicável).
.location Localização informada pelo usuário (se aplicável).
.email Endereço de e-mail do usuário (se aplicável).
.hireable Indica se o usuário está disponível para contratação.
.bio Biografia ou descrição do usuário.
.public_repos Número de repositórios públicos do usuário.
.public_gists Número de Gists públicos criados pelo usuário.
len(followers_users) Quantidade de seguidores que o usuário possui.
len(following_users) Quantidade de usuários que o usuário está seguindo.
.created_at Data e hora de criação da conta do usuário.
.updated_at Data e hora da última atualização do perfil do usuário.
", ".join(following_users) Lista de nomes de usuários seguidos pelo usuário.
", ".join(followers_users) Lista de nomes de usuários que seguem o usuário.