Open Source Project Data
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. It covers over 540,000 projects collected from over 5,100 sites.
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.
Cloud OSS Projects
Sample OSS Cloud Projects
|
Sample OSS Cloud Projects
|
Project Description
|
| abiquo | An open source cloud platform for creating a private cloud infrastructure inside an organization’s firewall. It supports different hypervisors and can deploy instances in public clouds. |
| CloudBase | A data warehouse system for Terabyte and Petabyte scale analytics, built on top of Map-Reduce architecture. The current code has been developed to Hadoop’s map-reduce implementation. |
| Cloud-R | Cloud-R is a web-based platform for running R using the latest cloud computing concept; Epigenomics Lab, National Central University, Taiwan |
| Deltacloud |
An API that abstracts the differences between clouds; protects your apps from cloud API changes and incompatibilities, so you can concentrate on managing cloud instances the way you want. |
|
A federal cloud infrastructure project in Germany addressing the country’s strong data security regulations. Server and data are located exclusively in Germany. Cloud data is protected from access by third parties, can be entirely extracted from or permanently deleted from the cloud, and the path of data with the cloud can always be traced. |
|
| Eucalyptus | An Infrastructure as a Service (IaaS) software framework for private cloud computing that provides users with the ability to run and control isolated collections of virtual machine instances. |
| eyeos | An open source web desktop following the cloud computing concept that leverages collaboration and communication among users. It is mainly written in PHP, XML, and JavaScript. It acts as a platform for web applications written using the eyeOS Toolkit. It includes a Desktop environment with 67 applications and system utilities. Accessible by portable devices via a mobile front end. |
| Funambol | An open source mobile cloud sync project that provides address book, calendar (PIM), email synchronization using the SyncML (OMA) protocol. It offers a sync server and clients for most mobile platforms. |
| grupal | Grupal is Drupal® seamlessly integrated with Google Apps. |
| Hadoop | A software framework that supports data-intensive distributed applications, enabling applications to work with thousands of nodes and petabytes of data. |
| Hyperic | Web application performance monitoring software for the datacenter and the cloud |
| jclouds | An open source framework that helps you get started in the cloud and reuse your java and clojure development skills. The API gives you the freedom to use portable abstractions or cloud-specific features. Supports many clouds including Amazon, VMWare, Azure, and Rackspace. |
| MongodDB | A NoSQL Database for Cloud and Desktop Computing; provides a rich document-oriented structure with dynamic queries. |
| nimbul | An open-source, enterprise-oriented cloud management tool developed at NYTimes.com. The Nimbul UI helps you manage and monitor cloud provider accounts, server clusters and instances, and user accounts. Nimbul also offers a publisher framework and command-line tools. |
| Opal Toolkit | A toolkit for wrapping scientific applications as Web services on Grid and cloud resources without writing a single line of code. Users can access scientific codes using simple Web service APIs from a multitude of languages and platforms. |
| OpenECP: Open Elastic Computing Platform | An open source fork of the Enomaly Elastic Computing Platform (ECP) following its commercialisation. It is a web-based management platform for hypervisors which can be used to create "public" and "private" cloud computing environments. |
| OpenI | OpenI is an open source Business Intelligence application for on-demand or SaaS deployments. Based on J2EE, OpenI is an out-of-box solution to easily visualize data from OLAP and relational databases. |
| OpenMobster | An open source mobile cloud platform for developing and integrating mobile apps with "Cloud" services. |
| OpenNebula | OpenNebula is a Virtual Infrastructure Manager that orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services (groups of interconnected virtual machines) on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies |
| OpenStack | The ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable. |
| scalr | A redundant, self-curing and auto-scaling hosting environment built on Amazon EC2. It allows you to create server farms through a web-based interface using prebuilt Amazon machine images (AMI) for load balancers (pound or nginx), app servers (Apache, others), databases (MySql master-slave, others), and a generic AMI to build on. |
| SnowFlock | Provides a way to rapidly clone virtual machines for users in cloud-computing environments. Based on Python scripts and a C library using an older version of Citrix's Xen hypervisor. |
Language Breakdown in Open Source
We’ve taken the KnowledgeBase 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 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 | 47.41 |
| 2 | C++ | 11.63 |
| 3 | Java | 8.91 |
| 4 | Javascript | 6.82 |
| 5 | PHP | 4.26 |
| 6 | Shell | 4.10 |
| 7 | Python | 2.22 |
| 8 | Perl | 1.87 |
| 9 | Assembler | 1.68 |
| 10 | Autoconf | 1.68 |
| 11 | Ruby | 1.34 |
| 12 | SQL | 1.16 |
| 13 | C# | 1.02 |
| 14 | XML Schema | 0.98 |
| 15 | Make | 0.57 |
Releases within the last 12 months
| Rank | Language | % |
| 1 | C | 42.39 |
| 2 | C++ | 11.75 |
| 3 | Javascript | 9.01 |
| 4 | Java | 8.75 |
| 5 | PHP | 4.73 |
| 6 | Autoconf | 4.40 |
| 7 | Python | 2.19 |
| 8 | Shell | 2.00 |
| 9 | Ruby | 1.70 |
| 10 | Perl | 1.54 |
| 11 | XML Schema | 1.50 |
| 12 | Assembler | 1.48 |
| 13 | Make | 1.40 |
| 14 | SQL | 1.29 |
| 15 | C# | 1.10 |
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. 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% |
