warning: Creating default object from empty value in /var/www/drupal/modules/taxonomy/taxonomy.pages.inc on line 33.

Examples

Queries and visualizations to help people use data

Freecode Project Registrations (1998-2014) with language tags

This chart shows the new project registrations for each year 1998-2014, and what programming language those projects were tagged with.

For example, 2003 was the highest year for new "C" projects to be registered with Freecode (then called Freshmeat).

(Couple of caveats about the data here: (1) A project could be tagged with one language when it's created, and then the tag could change later. For example a project may have been created as "C" and then later switched its tags to "Java". This chart will show whatever the most current language tag is for that project. I have not calculated the number of times this happens or if it is likely, but I suspect that it is not too common. (2) The languages in the legend are in order of the total number of times they exist as tags for any project. (3) Not every project has a language tag for itself.)

Here is the SQL code used to generate the data sets for this graph:

SELECT YEAR(p.date_added ) , COUNT( DISTINCT p.project_id )
FROM fm_projects p
INNER JOIN fm_project_tags t
ON t.project_id = p.project_id
WHERE p.datasource_id = 316
AND t.datasource_id=316
AND t.tag_name="C"
GROUP BY 1
ORDER BY 1;

Substitute your current datasource_id and any valid programming language tag. I used the following:

C
Java
C++
PHP
Perl
Python
JavaScript

These are in order of total number of times they appeared in the sitewide tag list over time.

Other top languages, in order of frequency the tag is used:

Unix Shell
XML
SQL
HTML
Ruby
Tcl

Rubyforge Project Registrations, 2003-2014

Rubyforge is a software development "code forge" associated with projects written in the Ruby programming language. This chart shows the growth of new projects registered on this forge from July 2003 - December 2013. We used datasource_id=317 in this example.

The SQL to generate the data used to populate this graph is as follows (fill in the datasource_id accordingly):

SELECT CONCAT(MONTH( date_registered ) , '-', YEAR( date_registered )) , COUNT( DISTINCT proj_unixname )
FROM rf_projects
WHERE datasource_id = 12987
GROUP BY YEAR( date_registered ) , MONTH( date_registered )
ORDER BY YEAR( date_registered ) , MONTH( date_registered );

Savannah Project Registrations by month, 2000-2014

Savannah is a free software code forge.

The SQL used to generate the data that made this chart is as follows:

SELECT CONCAT( MONTH( registration_date ) , '-', YEAR( registration_date ) ) , COUNT( DISTINCT project_name )
FROM sv_projects
WHERE datasource_id =8082
GROUP BY YEAR( registration_date ) , MONTH( registration_date )
ORDER BY YEAR( registration_date ) , MONTH( registration_date )

Alioth Project Registrations by month, 2003-2014

Alioth is a Debian-centric code forge. We collect the information about projects hosted on this forge. This chart shows the creation of new projects on this forge from 2003-2014. The datasource_id used is 8084.

The SQL code used to generate the data to build this chart from FLOSSmole database is as follows:

SELECT CONCAT(MONTH( registered ) , '-', YEAR( registered )) , COUNT( DISTINCT unixname )
FROM al_projects
WHERE datasource_id =8084
GROUP BY YEAR( registered ) , MONTH( registered )
ORDER BY YEAR( registered ) , MONTH( registered );

Updated Freecode Project Counts, 2005-2014

We have collected Freecode (formerly Freshmeat) data since 2005. This chart shows the number of projects listed in the Freecode directory between 2005 and 2014. Each line represents one collection. (Collections are referred to in our database by the term "datasource_id".)

Here is the code used in the FLOSSmole database to generate the data list to create this graph:

SELECT f.datasource_id, year(d.date_donated), count( f.project_id )
FROM fm_projects f
INNER JOIN datasources d
ON f.datasource_id=d.datasource_id
GROUP BY 1,2
ORDER BY 1,2

Freecode License Counts, June 2014

This chart shows the 20 most popular licenses chosen by the projects on Freecode.

The SQL to get the data from FLOSSmole to build this chart is as follows:

SELECT f.license, count( f.project_id )
FROM fm_projects f
WHERE datasource_id=[current datasource_id]
GROUP BY 1
ORDER BY 2 DESC
LIMIT 20;

Freecode Project Dependencies, June 2014

Freecode allows each project to declare which other projects it is dependent upon. Here is a chart showing the projects that were declared dependencies most frequently. PHP was the project selected most often by other projects as a dependency.

Here is the SQL code used to generate this data set from the FLOSSmole database:

SELECT dependency_project_title, count(*)
FROM fm_project_dependencies
WHERE datasource_id=[current datasource_id]
GROUP BY 1
ORDER BY 2 DESC
LIMIT 25

Tigris License Counts, June 2014

Tigris lists the open source license that each project is using. The following chart shows the licenses used by projects on Tigris, and how many projects use each. Note that UNLIKE some other forges, variations of the GPL (and other licenses with multiple versions) are not differentiated by version, rather they are all lumped together.

Here is the SQL needed to generate the data set from the FLOSSmole database:

SELECT license, count( * )
FROM tig_projects
WHERE datasource_id = [current datasource_id]
GROUP BY 1
ORDER BY 2 DESC

Objectweb Project Licenses, June 2014

Objectweb allows each project to state what license it uses. Here is a chart showing these licenses for all the projects on Objectweb, as of June 2014.

Here is the SQL code to generate the data set:

SELECT description, count( * )
FROM `ow_project_licenses`
WHERE datasource_id =8081
GROUP BY 1
ORDER BY 2 DESC;

Rubyforge License Counts, June 2014

Each project on Rubyforge can list what license it uses. The following chart was generated in June 2014 (datasource_id=12987) to show the most common licenses (all those with more than 10 projects using it) and how many projects.

Here is the SQL code used to generate the data for this chart:

SELECT description, count( * )
FROM rf_project_licenses
WHERE datasource_id =[current datasource_id]
GROUP BY 1
ORDER BY 2 DESC;

Syndicate content