ℹ️ 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:
- 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.
- 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.
- 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.
- 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.
- 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.
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://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/
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:
- Escolha um usuário random
- Escolha entre o followers e followees um usuario que não esteja na lista de candidatos
- 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.
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). |
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. |