open source by the numbers

18
Open Source By The Numbers Rich Sands Director of Developer Communities Black Duck Software, Inc.

Upload: black-duck-software

Post on 24-May-2015

9.178 views

Category:

Technology


1 download

DESCRIPTION

Rich Sands, Director of Developer Communities at Black Duck, presented these interesting statistics on open source projects from Ohloh.net at the 2012 Linux Foundation Collaboration Summit.

TRANSCRIPT

Page 1: Open Source By The Numbers

Open Source By The Numbers

Rich SandsDirector of Developer Communities

Black Duck Software, Inc.

Page 2: Open Source By The Numbers

How Big is FOSS?

• GitHub: 4,751,000 repositories• SourceForge: 324,000 projects• Ohloh: 550,000 projects

BIG

Page 3: Open Source By The Numbers

No, REALLY, How Big is FOSS?

• It depends on how you count.• Lots of projects, but– How many are active, how many

abandoned?– How many have a team?

A better question to ask:How much FOSS is actually being

worked on now?

Page 4: Open Source By The Numbers

How Many Projects are Active?

• 550,000+ projects on Ohloh.• 271,372 with a code analysis.• 96,824 with a commit in the past 2 years.• 46,883 with a commit in the past year.• 29,303 with a commit in the past 6 months.• 21,251 with a commit in the past 3 months.• 12,870 with a commit in the past month.• 5,629 with a commit in the past week.• 1,224 with a commit in the past day (3/30-

3/31, a weekend)

Page 5: Open Source By The Numbers

How Many Projects Are Active?D

ays

Sin

ce L

ast

Com

mit

1000

2000

3000

4000

5000

6000

100 90 80 70 60 50 40 30 20 10

% of Analyzed Projects With a Commitin the last Y Days

1 Yr

17.3%

Page 6: Open Source By The Numbers

But Do All These Projects Have a Team?

100 90 80 70 60 50 40 30 20 10

% of Active Projects WithAt Least Y Committers

Nu

mb

er

of

Com

mit

ters

10

20

30

40

50

2827

2

2 or more49.3% 8.5% of all analyzed projects

Page 7: Open Source By The Numbers

What is a “Live” Project, Anyway?

• Lets invent a new metric – “Liveness”:– At least one commit in the last year, and at least

2 committers for liveness to be non-zero.– Time-weighted roll-up of activity, where older

activity counts less than more recent activity.– For this presentation, activity is committer count.– Exponential time-weighting decay such that the

most recent month’s activity counts fully, and 11 months back activity counts nearly zero.

– Normalized; liveness of the Linux Kernel = 1000.

Page 8: Open Source By The Numbers

Sniff Test – What Are theTop 50 Live Projects?

1000.00 Linux Kernel711.40 Chromium (Google Chrome)516.68 KDE491.68 Mozilla Firefox491.37 Mozilla Core473.17 Boot To Gecko396.51 GNOME322.54 Homebrew319.47 Gentoo Linux300.32 WebKit273.38 Qt 5226.36 FreeBSD Ports194.87 OpenStack163.50 docrails163.19 Ruby on Rails159.54 Android155.82 LibreOffice154.54 MediaWiki146.83 FreeBSD145.55 GNU Compiler Collection129.94 FFmpeg124.62 OpenERP123.33 SBo-git123.33 SlackBuilds.org118.32 OpenStack Nova

118.32 openstack's nova117.52 The LLVM Compiler Infrastructure115.64 llvm-mirror115.20 NetBeans IDE114.01 JBoss Application Server113.96 NetBSD112.73 JBossAS7112.73 JBoss Application Server 7109.69 Jenkins109.26 U-Boot108.83 Go programming language107.60 tav's go105.34 QEMU103.62 pkgsrc: The NetBSD Packages Collection101.50 platform_frameworks_base101.39 Trinity Core100.86 LLVM C/Objective-C/C++ frontend (old)100.86 LLVM/Clang C family frontend100.16 Symfony95.76 WSO2 Business Process Server94.23 Intellij Community90.95 Wine89.46 Qt 489.01 XBMC Media Center88.39 Chromium Tools (Google Chrome)

Note – there are a few duplicates and mirrors in this list

Page 9: Open Source By The Numbers

How Big Are Live Projects?

0 1000500 750250

10M

20M

30M

40M

50M

60M

Lin

es

of

Cod

e

Liveness (0-1000 scale)

For most projects,bigger means

less activeLinux Kernel

Git

Chromium

KDE

FirefoxGNOME

Android

LibreOffice

AndroidPlatform Frameworks Base

Aptosid (Debian distro)No really big,really active

projects

“Famous”projects

“Distros”

FreeBSD

GCC

WebKitQt

Ruby on Rails

MySQL

Top 5000 live projects

Page 10: Open Source By The Numbers

How Does Size Relate to Committer Count?

10M

20M

30M

40M

50M

60M

Lin

es

of

Cod

e

1-Year Committer Count

0 300020001000

Linux Kernel

GNOMEChromium

KDE

Firefox

Ruby on Rails

Android

LibreOffice

QtGCC

Similar effect – largermeans fewer committers

Top 5000 live projects

Page 11: Open Source By The Numbers

Languages of Live Projects

Other

C

C#

C++

Java

JavaScript

Perl

Python

PHP

Ruby

Top 5000 live projects

Page 12: Open Source By The Numbers

Average Liveness By Language

C

C++

PHP

Ruby

Java

JavaScript

Perl

Python

C#

0 2 4 6 8 10 12 14 16 18

Top 5000 live projectsLiveness

Page 13: Open Source By The Numbers

Average Project Size By Language

C

C++

PHP

Ruby

Java

JavaScript

Perl

Python

C#

0 1 2 3 4 5 6 7 8

Millions of lines of codeTop 5000 live projects

Page 14: Open Source By The Numbers

Language vs. Number of Committers

C C++ PHP RubyJava JavaScript PerlPython C#1000

10000

100000

All-time Committers 1 Year Committers 30 Day Committers

Top 5000 live projects

Tota

l C

om

mit

ters

Page 15: Open Source By The Numbers

Languages of New Projects – Then and Now

CC++ PHP RubyJava JavaScript PerlPython C#Other0%

5%

10%

15%

20%

25%

30%

Started 5 Years Ago Started in the Past Year

% N

ew

Pro

ject

s Pri

mary

Langu

age

Page 16: Open Source By The Numbers

The 8 Most Live New Projectsin the Past Year

Project Description Why So Active?

oVirt-engine KVM Management System(Liveness: 50.5, 457K LOC, Java)

Open governance, backed by Cisco, Red Hat, IBM, Canonical, Intel, ... and aims at a burning problem.

WebRTC Implements W3C RFC for streaming media JavaScript API(Liveness: 47.3, 407K LOC, C++)

Supported by Google (Chrome), Mozilla, and Opera, a core HTML5 streaming media std.

Khan Academy Exercises

Crowdsourced exercises for a self-service educational platform.(Liveness: 44.3, 90K LOC, JavaScript)

Very easy to contribute, taps altruistic impulses of educators worldwide.

Twitter Bootstrap CSS, HTML, JavaScript toolkit for rapid webapp development.(Liveness: 40.0, 41K LOC, JavaScript)

Heavily promoted by Twitter, high-quality, aims at a burning problem.

Wikimedia Puppet Wikimedia’s Puppet configuration.(Liveness: 33.8, 37K LOC, Puppet)

Exemplary Puppet implementation by for a very heavily trafficked site.

Katello RHEL server system lifecycle mgmt.(Liveness: 31.6, 137K LOC, Ruby)

Announced at Red Hat 2011 Summit, follow-on to Satellite project.

Cloud Foundry VMWare’s PaaS platform.(Liveness: 30.7, 29K LOC, Ruby)

Substantial industry support, marketing. Aims at a burning problem.

Composer Package manager for PHP.(Liveness: 30.3, 14K LOC, PHP)

Aims at a burning problem for PHP.

Page 17: Open Source By The Numbers

Open Source by the Numbers

• Only a small fraction of all the projects ever started gain long-term traction.

• Less than 5% of all projects on Ohloh are “live”: a commit in the past year, and more than 1 committer, ever.

• The larger the code base, the less contributors and activity.

• “Famous” projects are mostly Java and C-family, and these older, established languages retain their dominant mindshare.

• New live projects trending towards Python, PHP, JavaScript and away from C-family languages.

• The “most likely to succeed” new projects:– Have big backers and marketing behind them.– Are still small enough for people joining them to have an impact.

Page 18: Open Source By The Numbers

Questions?

Ohloh.net Your guide to open source

Join the Ohloh community and gain critical insights into the world of open source projects