Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open Source By The Numbers


Published on

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

Published in: Technology

Open Source By The Numbers

  1. 1. Open Source By The Numbers Rich Sands Director of Developer Communities Black Duck Software, Inc.
  2. 2. How Big is FOSS?• GitHub: 4,751,000 repositories• SourceForge: 324,000 projects• Ohloh: 550,000 projects BIG
  3. 3. 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?
  4. 4. 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)
  5. 5. How Many Projects Are Active? 6000Days Since Last Commit 5000 4000 3000 17.3% 2000 10001 Yr 100 90 80 70 60 50 40 30 20 10 % of Analyzed Projects With a Commit in the last Y Days
  6. 6. But Do All These Projects Have a Team? 2827Number of Committers 50 40 30 49.3% 2 or more 8.5% of all analyzed projects 20 10 2 100 90 80 70 60 50 40 30 20 10 % of Active Projects With At Least Y Committers
  7. 7. 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.
  8. 8. Sniff Test – What Are the Top 50 Live Projects?1000.00 Linux Kernel 118.32 openstacks nova711.40 Chromium (Google Chrome) 117.52 The LLVM Compiler Infrastructure516.68 KDE 115.64 llvm-mirror491.68 Mozilla Firefox 115.20 NetBeans IDE491.37 Mozilla Core 114.01 JBoss Application Server473.17 Boot To Gecko 113.96 NetBSD396.51 GNOME 112.73 JBossAS7322.54 Homebrew 112.73 JBoss Application Server 7319.47 Gentoo Linux 109.69 Jenkins300.32 WebKit 109.26 U-Boot273.38 Qt 5 108.83 Go programming language226.36 FreeBSD Ports 107.60 tavs go194.87 OpenStack 105.34 QEMU163.50 docrails 103.62 pkgsrc: The NetBSD Packages Collection163.19 Ruby on Rails 101.50 platform_frameworks_base159.54 Android 101.39 Trinity Core155.82 LibreOffice 100.86 LLVM C/Objective-C/C++ frontend (old)154.54 MediaWiki 100.86 LLVM/Clang C family frontend146.83 FreeBSD 100.16 Symfony145.55 GNU Compiler Collection 95.76 WSO2 Business Process Server129.94 FFmpeg 94.23 Intellij Community124.62 OpenERP 90.95 Wine123.33 SBo-git 89.46 Qt 4123.33 89.01 XBMC Media Center118.32 OpenStack Nova 88.39 Chromium Tools (Google Chrome) Note – there are a few duplicates and mirrors in this list
  9. 9. How Big Are Live Projects? 60M Aptosid (Debian distro) No really big, 50M “Distros” really active projects Lines of Code Android Platform Frameworks Base 40M For most projects, 30M bigger means less active Linux Kernel 20M Android “Famous” KDE LibreOffice projects 10M FreeBSD Firefox GCC GNOME Chromium MySQL WebKit Git Qt Ruby on Rails 0 250 500 750 1000Top 5000 live projects Liveness (0-1000 scale)
  10. 10. How Does Size Relate to Committer 60M Count? 50MLines of Code 40M Similar effect – larger 30M means fewer committers Linux Kernel 20M Android KDE LibreOffice 10M Firefox GNOME GCC Chromium Qt Ruby on Rails 0 1000 2000 3000 Top 5000 live projects 1-Year Committer Count
  11. 11. Languages of Live Projects Perl C# Ruby Java PHP JavaScript C PythonTop 5000 live projects C++ Other
  12. 12. Average Liveness By Language C#JavaScript Perl Python Java PHP Ruby C C++ 0 2 4 6 8 10 12 14 16 18 Top 5000 live projects Liveness
  13. 13. Average Project Size By Language Ruby Python Perl C#JavaScript PHP Java C C++ 0 1 2 3 4 5 6 7 8 Top 5000 live projects Millions of lines of code
  14. 14. Language vs. Number of Committers 100000Total Committers 10000 1000 Java C C++ Python JavaScript PHP Ruby C# Perl All-time Committers 1 Year Committers 30 Day Committers Top 5000 live projects
  15. 15. Languages of New Projects – Then and Now 30%% New Projects Primary Language 25% 20% 15% 10% 5% 0% Java Other C++ C Python PHP JavaScript C# Ruby Perl Started 5 Years Ago Started in the Past Year
  16. 16. The 8 Most Live New Projects in the Past YearProject Description Why So Active?oVirt-engine KVM Management System Open governance, backed by Cisco, (Liveness: 50.5, 457K LOC, Java) Red Hat, IBM, Canonical, Intel, ... and aims at a burning problem.WebRTC Implements W3C RFC for streaming Supported by Google (Chrome), media JavaScript API Mozilla, and Opera, a core HTML5 (Liveness: 47.3, 407K LOC, C++) streaming media std.Khan Academy Crowdsourced exercises for a self- Very easy to contribute, taps altruistic service educational platform. impulses of educators worldwide.Exercises (Liveness: 44.3, 90K LOC, JavaScript)Twitter Bootstrap CSS, HTML, JavaScript toolkit for Heavily promoted by Twitter, high- rapid webapp development. quality, aims at a burning problem. (Liveness: 40.0, 41K LOC, JavaScript)Wikimedia Puppet Wikimedia’s Puppet configuration. Exemplary Puppet implementation by (Liveness: 33.8, 37K LOC, Puppet) for a very heavily trafficked site.Katello RHEL server system lifecycle mgmt. Announced at Red Hat 2011 Summit, (Liveness: 31.6, 137K LOC, Ruby) follow-on to Satellite project.Cloud Foundry VMWare’s PaaS platform. Substantial industry support, (Liveness: 30.7, 29K LOC, Ruby) marketing. Aims at a burning problem.Composer Package manager for PHP. Aims at a burning problem for PHP. (Liveness: 30.3, 14K LOC, PHP)
  17. 17. 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.
  18. 18. Questions? Your guide to open sourceJoin the Ohloh community and gain critical insights into the world of open source projects