January 7, 2024
Open source software is a big deal in the tech world, where people work together to create and share free software.
This report, "The State of Open Source Contribution in Turkey," looks at data from GitHub and shows the stats related to GitHub usage in Turkey and the contributions from Turkey to open source.
We also talk about "focus projects", which are special projects we want more Turkish contributors to work on. These projects offer a great chance for Turkish developers to get involved and make a difference in the worldwide open source community.
We collected the data from GitHub API using a custom written software called OpenTR/CuttleCat . All the location related data is collected from the location field of the user profile. We went an extra mile to understand if the location is actually in Turkey.
Collected data can be found in OpenTRFoundation/state-of-oss-contribution repository.
GitHub Innovation Graph is a great resource for understanding country specific GitHub usage. Its data is aggregated from GitHub network activity and data.
GitHub is using some internal resources when building their Innovation Graph, which are not accessible to public. They don't need to use the location field user provided, as they have access to the IP address of the user and thus the location. GitHub uses the IP address to determine the country of the user as described in their datasheet.
We compared our data with the data from GitHub Innovation Graph, and we understand that GitHub Innovation Graph data is more accurate, but it is less detailed. As they only provide aggregated data, we can't see the distribution of the users in Turkey per province for example. Similarly, we cannot see the number of active users or their contribution to open source projects.
For example, GitHub Innovation Graph data shows 1,317,401 users in Turkey as of Q1 2023, while we found around 110,000 users with a location field somewhere in Turkey. This is because the location field is a plain-text and optional input.
This 1.3M vs 110K ratio can be used to have a feeling about the number of users from Turkey who don't have a location field in their profile with a value of somewhere in Turkey.
This section gives an overview of software industry in Turkey, with regard to GitHub usage.
These users have entered a location on GitHub that we matched with Turkey. As GitHub's location input is a plain-text input, we worked hard to understand if the location is actually in Turkey.
Istanbul has the most users by having ~40% of the all users. Ankara comes the second, followed up by Izmir.
These 3 big provinces have more than 50% of the users.
It is not possible to determine the provinces of ~30% of the users.
Coloring of the provinces are based on the number of users in that province per 1M people. This can be thought of a score of a province's software industry.
There has been a steady increase in the number of users signing up to GitHub with a location somewhere in Turkey until 2021. Please note that, this chart does not show the location specified by the users at the time they signed up, but the location they have in their profile at the time of data collection.
After 2021, the number of new users signing up has decreased. We believe that this is due to the fact that users update their location after some time they sign up. The numbers from 2023 gives that impression too.
Only ~20% of the users are active, according to the criteria below.
Ratios of the provinces are similar to the total user count.
OpenTR's mission is to increase the number of contributors from Turkey to open source projects. However, what are these projects? This section gives an overview of such projects.
Any public project on GitHub is open source by definition (as long as it has a OSS license). However, we want more contributors to work on some projects that we think have an impact.
We call these projects focus projects.
Criteria for focus projects can be seen in the next section.
We use the term project in an abstract way to refer to a project such as Linux, Kubernetes, or React. We cannot tie a project to a repository or a GitHub organization, as some projects may have multiple repositories. Some projects may even have repositories under different organizations.
For example Kubernetes has multiple repositories under the kubernetes
organization, but it also has repositories under other organizations such as kubernetes-sigs
. Conversely, the Linux project does not have an organization. Its main repository is the torvalds/linux
repository.
To make things simpler, we use the term focus organization to refer to an organization that has at least one repository that meets the criteria below. Similarly, we use the term focus repository to refer to a repository that meets another set of criteria below.
OpenTR's goal in this report is to find the number of contributors to open source projects. It is not finding the number of open source repositories or organizations in general. So, when we check users from Turkey, we only check the users who contributed to any repository in a focus organization or to a focus repository.
Contributions to any repositories under these organizations are counted as contributions to open source.
We only show the top 50 organizations the following word cloud.
Similarly, contributions to any of these repositories that are not under any organization are counted as contributions to open source.
We only show the top 50 repositories the following cloud.
We found 16401 organizations that have at least repository that meets the criteria below. These organizations have multiple repositories. However, number of repositories is not exactly relevant, as we're interested in finding people who contribute any repository under these organizations.
On top of the organizations, we found 190 repositories that meet the criteria below.
Focus organizations:
Focus repositories:
This section gives an overview of the contributors from Turkey to open source projects.
# | Username | Name | Company | Score | Most contributed organizations |
---|---|---|---|---|---|
1 | buger | Leonid Bugaev | Tyk.io | 4317 | TykTechnologies |
2 | cetincakiroglu | Çetin | Primetek Informatics | 2286 | primefaces |
3 | volkanceylan | Volkan Ceylan | Serenity.is | 2140 | serenity-is |
4 | mertmit | Mert E. | @nocodb | 2025 | nocodb, n8n-io |
5 | tugcekucukoglu | Tuğçe Küçükoğlu | PrimeTek | 1974 | primefaces, nuxt |
6 | arifBurakDemiray | Arif Burak Demiray | @Countly | 1954 | Countly |
7 | omerfirmak | Ömer Faruk Irmak | 1852 | NethermindEth, starknet-io | |
8 | cagataycivici | Cagatay Civici | PrimeTek | 1836 | primefaces |
9 | obulat | Olga Bulat | @Automattic | 1704 | WordPress, nuxt, nuxt-modules |
10 | gatici | Gulsum Atici | Canonical Ltd. | 1598 | canonical, omec-project |
11 | matifali | Muhammad Atif Ali | @coder | 1513 | coder, IBM, microsoft, remarkjs, canonical |
12 | turkenh | Hasan Turken | @upbound | 1480 | crossplane, upbound, crossplane-contrib |
13 | istarkov | Ivan Starkov | 1455 | webstudio-is | |
14 | alerque | Caleb Maclennan | 1359 | sile-typesetter, lunarmodules, preservim, AndBible, NixOS | |
15 | mustafaboleken | Mustafa BOLEKEN | @ant-media | 1318 | ant-media |
16 | alicanerdurmaz | Alican Erdurmaz | @refinedev | 1259 | refinedev, pankod |
17 | erdemyerebasmaz | Erdem Yerebasmaz | 1209 | breez | |
18 | aliemir | Ali Emir Şen | @refinedev | 1180 | refinedev, pankod |
19 | ceyonur | Ceyhun Onur | @ava-labs | 1164 | ava-labs |
20 | buraksekili | Burak Sekili | @TykTechnologies | 1133 | TykTechnologies, kubernetes-sigs, primefaces |
21 | saundefined | Sergey Panteleev | 1127 | php, sculpin, symfony | |
22 | Dentrax | Furkan Türkal | @Trendyol | 1099 | wolfi-dev, chainguard-images, tensorflow, badges, jupyter-widgets |
23 | canercidam | Caner Çıdam | OpenZeppelin | 1086 | forta-network |
24 | orhun | Orhun Parmaksız | @archlinux | 1003 | shuttle-hq, alpinelinux, grapheneX, rust-lang, fishfolk |
25 | onuralpszr | Onuralp SEZER | Fedora Project | 996 | roboflow, fedora-infra, Genivia, gradio-app |
26 | MightOfOaks | Serkan Reis | 995 | public-awesome, osmosis-labs | |
27 | mathbunnyru | Ayaz Salikhov | Jupyter | 978 | jupyter, jupyterhub, readthedocs, actions |
28 | ecmel | Ecmel Ercan | @KxSystems | 914 | KxSystems, microsoft |
29 | atakantepe | Atakan | PrimeTek | 904 | primefaces |
30 | EngincanV | Engincan VESKE | Volosoft | 891 | abpframework |
31 | bilgeyucel | Bilge Yücel | @deepset-ai | 879 | deepset-ai, Hipo, milvus-io |
32 | sezero | Ozkan Sezer | 844 | libsdl-org, libxmp, mingw-w64, open-watcom | |
33 | masumulu28 | Masum ULU | Volosoft | 800 | abpframework |
34 | Orkuncakilkaya | Orkun | Fingerprint | 799 | fingerprintjs |
35 | alytarik | Ali Tarık | 764 | JohnSnowLabs | |
36 | irfano | Irfan Ömür | @Automattic | 741 | wordpress-mobile, Automattic |
37 | ardaguclu | Arda Güçlü | Red Hat | 733 | openshift, kubernetes, sclorg |
38 | Serdaro | Serdar Ozmen | Hazelcast | 722 | hazelcast |
39 | salihozkara | SALİH ÖZKARA | 717 | abpframework | |
40 | BatuhanW | Batuhan Wilhelm | @refinedev | 708 | refinedev, pankod |
41 | isacikgoz | Ibrahim Serdar Acikgoz | @mattermost | 655 | mattermost |
42 | mertsincan | Mert Sincan | @primefaces | 649 | primefaces |
43 | sergenyalcin | Sergen Yalçın | Upbound | 624 | upbound, crossplane |
44 | furkansenharputlu | Furkan Senharputlu | @TykTechnologies | 622 | TykTechnologies |
45 | enisn | Enis Necipoglu | Volosoft | 615 | abpframework, shinyorg, dotnet |
46 | egegunes | Ege Güneş | Percona | 610 | percona |
47 | muratugureminoglu | Murat Ugur Eminoglu | 582 | ant-media | |
48 | semihbkgr | Semih Buyukgungor | @hazelcast | 570 | hazelcast, gruntwork-io |
49 | xmfcx | M. Fatih Cırıt | Autoware Foundation | 562 | autowarefoundation, tier4, ros2, PickNikRobotics |
50 | oguzhankoral | Oğuzhan Koral | Speckle | 554 | specklesystems |
51 | srknzl | Serkan Özel | Hazelcast | 543 | hazelcast |
52 | bbyalcinkaya | Burak Bilge Yalçınkaya | 541 | runtimeverification | |
53 | ismcagdas | İsmail ÇAĞDAŞ | Volosoft | 535 | aspnetboilerplate, aspnetzero, abpframework |
54 | def | Nikolay Sivko | coroot | 528 | coroot |
55 | mahmut-gundogdu | Mahmut Gundogdu | 509 | abpframework | |
56 | kdetry | Mustafa Tunçay | Ocean Protocol | 502 | oceanprotocol |
57 | afbora | Ahmet Bora | @getkirby @owebstudio @pixelturk | 497 | getkirby |
58 | aliok | Ali Ok | Red Hat | 495 | cncf, knative-extensions, knative, github |
59 | gokaysatir | Gökay ŞATIR | 494 | CollaboraOnline, LibreOffice | |
60 | gucal | Alirıza Gücal | @primefaces | 494 | primefaces |
61 | ozanoguz | Ozan Oguz | Fortinet | 486 | 40net-cloud |
62 | apetruhin | Anton Petruhin | Coroot | 478 | coroot |
63 | jonhealy1 | Jonathan Healy | Sparkgeo | 471 | stac-utils |
64 | Sinan997 | Sinan Öztürk | 463 | abpframework | |
65 | mohsen-ghafouri | Mohsen | 450 | status-im | |
66 | ahmaxed | Ahmad Abdolsaheb | @freeCodeCamp | 446 | freeCodeCamp |
67 | 0xtaf | Tayfun Sur | Nethermind | 407 | forta-network, NethermindEth |
68 | mertyildiran | M. Mert Yildiran | @kubeshark | 394 | kubeshark |
69 | kenanfarukcakir | Ddosify | 388 | ddosify | |
70 | ozkulbeng | Bengisu | @Huawei | 377 | HMS-Core |
71 | thecaliskan | Emre Çalışkan | Beyn | 367 | spatie, dompdf, composer, PHP-FFMpeg, laravel |
72 | erayarslan | Eray | @Trendyol | 364 | Trendyol, couchbase |
73 | a0m0rajab | Abdurrahman Rajab | 360 | open-sauced, unifyai, refined-github, mdn, EddieHubCommunity | |
74 | ozanarmagan | Ozan Armağan | Gebze Teknik Üniversitesi | 360 | typesense |
75 | Abdulsametileri | A.Samet İleri | @Trendyol | 358 | Trendyol |
76 | ogu83 | OGUZ | UserWare | 345 | OpenSilver |
77 | thegridman | Jonathan Knight | Oracle | 344 | oracle, helidon-io, grpc |
78 | yuce | Yüce Tekol | @Hazelcast | 340 | hazelcast |
79 | gurkanindibay | Gürkan İndibay | @citusdata | 340 | citusdata |
80 | buraksezer | Burak Sezer | 339 | TykTechnologies | |
81 | umut-sahin | Umut | 338 | zama-ai, bevyengine | |
82 | noyanc | R.Noyan Culum | Gamelab Istanbul | 337 | GlistEngine |
83 | efectn | M. Efe Çetin | 334 | gofiber, armbian, luraproject | |
84 | isidentical | Batuhan Taskaya | @fal-ai | 332 | fal-ai, hashicorp, python, Oneflow-Inc, parca-dev |
85 | 0o001 | Mustafa Ateş UZUN | @nullovy | 331 | Trendyol, dotnet, Azure, easysoft, StackExchange |
86 | kutluhanmetin | Kutluhan Metin | Hazelcast | 330 | hazelcast |
87 | damirka | Damir Shamanaev | @MystenLabs | 316 | MystenLabs, move-language, axelarnetwork |
88 | KhalilSelyan | Khalil Selyan | Leo Drive | 313 | autowarefoundation, tier4 |
89 | uyar | H. Turgut Uyar | 300 | cinemagoer | |
90 | ezgidemirel | Ezgi Demirel | @upbound | 291 | crossplane-contrib, crossplane, upbound |
91 | Sophietn | Sophie Trinder | @Green-Software-Foundation | 284 | Green-Software-Foundation |
92 | cgokmen | Cem Gökmen | Stanford University | 281 | StanfordVL |
93 | cuneytsenturk | Cüneyt Şentürk | @akaunting | 276 | akaunting |
94 | CihanSenturk | Cihan Şentürk | Akaunting | 272 | akaunting |
95 | ilgooz | İlker G. Öztürk | Director of DevX @tendermint | 269 | ignite, gnolang |
96 | yilmazdurmaz | Yılmaz Durmaz | 264 | hedyorg, GDQuest, WeblateOrg, godotengine, MicrosoftDocs | |
97 | hikalkan | Halil İbrahim Kalkan | Volosoft | 263 | abpframework |
98 | yigitfindikli | Yiğit FINDIKLI | @primefaces | 254 | primefaces |
99 | raicem | Cem Ünalan | 251 | woocommerce, Automattic | |
100 | Jaex | @ShareX | 249 | ShareX |
According to the criteria mentioned below, there are ~500 open source contributors from Turkey who made contributions in the last 90 days.
Three big provinces have the same pattern of distribution as the total user count.
It is not possible to determine the provinces of ~35% of the open source contributors.
Scoring calculation is not taking the project's popularity into account. For example, a pull request to Linux kernel is counted as 10 points, while a pull request to a small project is also counted as 10 points. This can be improved in the future.
This section gives an overview of the companies that contribute to open source from Turkey.
# | Company | OSS Contributor Count | Sum of scores | Most contributed organizations |
---|---|---|---|---|
1 | -Other- | 192 | 41129 | TykTechnologies, primefaces, nocodb, coder, canonical |
2 | -Unknown- | 236 | 29415 | abpframework, NethermindEth, webstudio-is, breez, php |
3 | primetek | 3 | 4714 | primefaces, nuxt |
4 | volosoft | 7 | 3441 | abpframework, aspnetboilerplate, aspnetzero, dotnet, shinyorg |
5 | refinedev | 3 | 3147 | refinedev, pankod |
6 | hazelcast | 10 | 3060 | hazelcast, gruntwork-io |
7 | trendyol | 21 | 2929 | Trendyol, wolfi-dev, chainguard-images, Homebrew, nodejs |
8 | upbound | 4 | 2630 | crossplane, upbound, crossplane-contrib, Azure |
9 | automattic | 2 | 2445 | WordPress, wordpress-mobile, Automattic, nuxt, nuxt-modules |
10 | countly | 4 | 2253 | Countly, ElemeFE |
11 | serenity.is | 2 | 2179 | serenity-is |
12 | tyktechnologies | 2 | 1755 | TykTechnologies, kubernetes-sigs, primefaces |
13 | primefaces | 3 | 1397 | primefaces |
14 | red hat | 2 | 1228 | openshift, cncf, knative-extensions, kubernetes, knative |
15 | coroot | 2 | 1006 | coroot |
16 | akaunting | 3 | 641 | akaunting |
17 | citusdata | 2 | 392 | citusdata, pgbouncer, libusual |
18 | microsoft | 2 | 293 | citusdata, microsoft |
19 | hipo | 2 | 164 | perawallet, Hipo |
20 | istanbul technical university | 3 | 164 | autowarefoundation, yazbel, python, typeorm, tidyverse |
21 | teknasyon | 2 | 141 | supabase-community, laurent22, gofiber, cerbos |
22 | middle east technical university | 2 | 117 | gizatechxyz, hazelcast, AleoHQ |
23 | toptal | 2 | 99 | toptal |
24 | freelancer | 2 | 86 | unjs, opnsense, nuxt, plausible, vuejs |
There are only a few companies that have more than 1 contributor to open source projects. Furthermore, out of those companies, there are only a handful of companies that contribute to organizations that they don't own.
Score calculation is not taking the project's popularity into account. It is simply the sum of the scores of the contributors of the company.
Change the "I open sourced my project" mindset to "I contribute to open source projects".
Be part of something big! Contribute to open source projects and gain valuable experience. Seek mentorship, read OpenTR's guides , and join OpenTR community for support and guidance. Encourage your company to contribute to these projects and make a positive impact.
Why you should do that?
Why your company should do that?
Make your presence known! Set your location on GitHub to Turkey or your province. Also make sure to update your company name on your GitHub profile.
Check out OpenTR's website to learn more about OpenTR, open source and how you can contribute to open source.