Our open source project information is based on the Black Duck KnowledgeBase. Black Duck Software continuously spiders the Internet collecting information on open source code and binary files into a vast and growing KnowledgeBase. The Black Duck KnowledgeBase is the industry's most comprehensive database of open source software and associated license and other information. It covers over 200,000 projects collected from over 4,300 code forges and repositories. Since our founding in 2002, Black Duck has collected tens of billions of lines of code. We don't delete old files/versions and therefore have amassed a significant amount of information on code that is no longer available anywhere else.
This page offers public information about the language use of open source projects. Please keep checking back for regular updates. The data on this page is refreshed regularly.
Language Breakdown in Open Source
We’ve taken the KnowledgeBase of open source code and broken it down by language using source lines of code. The first table shows the breakdown by language for the last release of all open source projects in the Black Duck KnowledgeBase. This code spans many years including projects that were written in the early days of the Internet. Most releases are older than 12 months. The second table shows a breakdown by language for only those projects that produced a release in the most recent twelve month period. A comparison of these two tables indicates the trend and provides insight into how the most recent choices of developers compares with longer term history. The difference between these two tables, i.e. the gain/loss in share, is also shown. See below for more information about the methodology used to produce this data.
All open source project releases
Rank
Language
%
1
C
40.37
2
C++
14.40
3
Java
10.83
4
Shell
8.52
5
Javascript
5.73
6
PHP
4.86
7
Perl
3.08
8
Python
2.76
9
SQL
1.56
10
Assembler
1.27
11
C#
1.20
12
Pascal
0.85
13
Ruby
0.76
14
Ada
0.51
15
Objective C
0.41
Releases within the last 12 months
Rank
Language
%
1
C
38.53
2
C++
15.91
3
Java
9.66
4
Javascript
7.13
5
Shell
6.32
6
PHP
4.47
7
Python
2.69
8
SQL
2.48
9
Perl
2.46
10
Assembler
1.33
11
XML Schema
1.15
12
C#
1.08
13
Objective C
1.02
14
Ada
0.95
15
MetaFont
0.77
Methodology
To calculate the percent share represented by each language of open source, Black Duck analyzed the information on all the open source projects that we have collected in our KnowledgeBase. To avoid double counting, we only use information on the latest code release from each project. When our spidering process archives information from an open source project, we record the release date of that code. In this analysis, we used only the latest release from each open source project - to avoid double counting. We show two columns of data. One includes the latest releases of all projects. The second shows only those releases that have a date stamp within the last twelve months. About 16% of all projects have released code in the last 12 months. The release date of the code (not the date of collection) was used to determine whether a release took place within the last 12-months.
We run an analyzer that identifies the language of each project file and counts the number of lines in the file. White space and comments are removed from the line count. The lines-of-code counter does not attempt to compensate for the fact that some languages are more verbose than others. We did not include html, css, documentation and most other non-executing file types in the analysis. Binary files are also not included in this calculation. A previous analysis indicated that on average there are four binary files for every source file in open source projects. Projects with no source code, i.e. empty projects or binaries only, were not included in this analysis.
Encryption in Open Source
Our analysis of projects in the Black Duck KnowledgeBase indicates that over 14,000 open source projects contain encryption algorithms.
Top 10 Encryption Algorithms Used in Open Source Software
Algorithm
%
Type
Encryption Only
RSA
13%
Asymmetric
DSA
9%
Signature
*
DES
9%
Symmetric
MD5
8%
Hash
*
SHA
8%
Hash
*
Blowfish
6%
Symmetric
Diffie-Hellman
6%
Keyman
HMAC
5%
Mac
*
ElGamal
5%
Asymmetric
AES
5%
Symmetric
Sub Total
74%
Other
26%
Total
100%
Top Searches by Language from Black Duck Koders.com
Kodes.com is Black Duck's popular free code search website. We collect the top searches and language reports are generated each month from the previous month's search data. Three different categories of data are provided for each language.
Top Searches
Top Searches are the most popular search words and phrases for each programming language.
Top Solutions
The Solution Map is a heatmap that displays search terms directly linked to the most downloaded files associated with those terms. Darker boxes indicate a higher correlation of searches to particular files. In other words, when multiple developers, searching for the same thing, identify the same file as useful, that Solution Map entry's score goes up.
Top Projects
Projects are ranked by the number of code downloads developers have made from each project.
Choose a Language
Choose from the chart below to view the Black Duck Koders.com language report for a particular language.