The State of Egyptian Open Source - Analysis Notebook

Phase: Review

Registration Deadline: September 16, 2024

Submission Deadline: September 23, 2024

Prizes

3000 EGP

1 Place

1500 EGP

2 Place

1000 EGP

3 Place

Brief 

Awesome-egypt-opensource is an initiative containing a curated list of awesome opensource projects started and maintained by Egyptian developers

Their main goals are 

  • Encourage open source initiatives taken both by Egyptian companies and independent Egyptian engineers.

  • Help young developers, looking to contribute to their first open source project, find approachable projects, and easy access to mentorship and guidance in their own native language.

As Code Quest, we share the same goals and values regarding open source. Therefore, we have decided to support them in moving forward through a series of quests, and this is the first quest in that series

Objective

The objective of this quest is to maintain and analyze statistics related to contributors, categorized as follows:

  1. Question: Which Egyptian Cities or Areas have the most open source contribution
    Statistics: Count of Open Source Developers, Grouped by Egyptian Cities/Areas (if possible)
    Format: Table + Pie or Bar chart

  2. Question: Which are the top programming languages used in Egyptian Open Source projects?
    Statistics: Count of Open Source Repos, Grouped By Programming Language
    Format
    Format: Table + Pie or Bar chart

  3. Question: Which are the most popular and active open source projects from Egypt?
    Top 20 Projects: Ranked by contributors, commits, stars, and forks
    Format: Table with columns of count of commits, contributors, stars, forks sorted by top 20 by count of Stars.

  4. Questions: Which non-egyptian project (think Kubernetes or Firefox) that has the most Egyptian developers contributing?
    Statistics: same as above, sorted by top 20 by count of contributors.  

  5. Question: What are the top 20 industries or topics that egyptians build open source projects for?
    Format: Table + Bar Chart or Tag cloud, Aggregating the Industry or Tags of all the repos.

  6. Question: What are the Top Frameworks and top libraries used in Egyptiaon open source projects?
    Hints: Github dependency graph should provide this info or it can be Identified through package.json or similar tools.
    Format: Github

  7. Question: What are the Top Databases used by these projects?
    Hint: must include all database engines, even NoSQL. Group by Engine type from here: https://db-engines.com/en/ranking_categories
    Example
    answer: Redis the most popular caching db above Memcache, MySQL is the most Relational DB by 30% above Postgres. 

  8. Question: How many projects are well-documented?

 Hint: Check for key documentation elements such as README files, contribution guidelines, API docs, and setup instructions.

Format: Table + Bar chart

  1. Question: How many pull requests are open versus merged in the projects?

Format: Table + Bar chart

  1. Question: What is the distribution of open versus closed issues across projects?

  2. Question top 10 licenses used in the projects (MIT, BSD, Apache, GPL, etc)

  3. CI/CD Integration: Number of projects utilizing CI/CD, Pie chart.


Please Exclude projects that have:

  1. less than 2 contributes

  2. no active commits last year

  3. less than 3 stars

Sources and Inspiration:

https://github.com/github/innovationgraph

https://github.com/gayanvoice/top-github-users-action

https://committers.top/egypt 

https://github.com/edsu/xkcd2347

Current Progress

We have started a Python notebook in this repository. Your task is to continue this work by gathering all relevant statistics and creating visualizations.

Deliverables

Notebooks: A comprehensive notebook for each category of statistics.

Graphs: Visual representations for all collected statistics.

Evaluation Criteria

Please read the Scorecard to see how the winners will be selected, and how we evaluate the best designs.

  • Minimum acceptable score is 80 (80% of 100). First, Second, and Third place will be the highest score above 80.

  • If two submissions earn the same score, the first submission will get the highest place. 

Making the world a better place through competitive crowdsourcing programming.