:orphan:

Release Statistics for U-Boot v2009.03
======================================

* Processed 489 csets from 90 developers

* 46 employers found

* A total of 55137 lines added, 8339 removed (delta 46798)

.. table:: Developers with the most changesets
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    92 (18.8%)
   Heiko Schocher                    31 (6.3%)
   Stefan Roese                      28 (5.7%)
   Kumar Gala                        23 (4.7%)
   Wolfgang Denk                     21 (4.3%)
   Dirk Behme                        20 (4.1%)
   Jean-Christophe PLAGNIOL-VILLARD  20 (4.1%)
   Andy Fleming                      14 (2.9%)
   Richard Retanubun                 12 (2.5%)
   Becky Bruce                       12 (2.5%)
   Peter Tyser                       12 (2.5%)
   Anton Vorontsov                   10 (2.0%)
   Graeme Russ                       10 (2.0%)
   Guennadi Liakhovetski             9 (1.8%)
   Wolfgang Grandegger               9 (1.8%)
   Dave Liu                          8 (1.6%)
   Michael Trimarchi                 8 (1.6%)
   Yoshihiro Shimoda                 7 (1.4%)
   Matthias Fuchs                    7 (1.4%)
   Abraham, Thomas                   7 (1.4%)
   Michal Simek                      6 (1.2%)
   Nobuhiro Iwamatsu                 5 (1.0%)
   TsiChung Liew                     5 (1.0%)
   Dirk Eibach                       5 (1.0%)
   Kim Phillips                      4 (0.8%)
   Valeriy Glushkov                  4 (0.8%)
   Alessandro Rubini                 4 (0.8%)
   Ron Madrid                        4 (0.8%)
   Ilya Yanok                        4 (0.8%)
   Rafal Jaworowski                  4 (0.8%)
   Shinya Kuribayashi                3 (0.6%)
   Tom Rix                           3 (0.6%)
   John Rigby                        3 (0.6%)
   Bryan Wu                          3 (0.6%)
   Remy Bohmer                       2 (0.4%)
   Jon Smirl                         2 (0.4%)
   Anatolij Gustschin                2 (0.4%)
   Ladislav Michl                    2 (0.4%)
   Scott Wood                        2 (0.4%)
   Jerry Van Baren                   2 (0.4%)
   ksi@koi8.net                      2 (0.4%)
   Ben Warren                        2 (0.4%)
   Jens Gehrlein                     2 (0.4%)
   Nishanth Menon                    2 (0.4%)
   Larry Johnson                     2 (0.4%)
   michael                           2 (0.4%)
   Gary Jennejohn                    2 (0.4%)
   Haiying Wang                      2 (0.4%)
   Kyungmin Park                     2 (0.4%)
   Ira Snyder                        2 (0.4%)
   Vivek Kutal                       1 (0.2%)
   Grzegorz Bernacki                 1 (0.2%)
   arun c                            1 (0.2%)
   Mikhail Zolotaryov                1 (0.2%)
   Norbert van Bolhuis               1 (0.2%)
   Yusuke.Goda                       1 (0.2%)
   Paul Gortmaker                    1 (0.2%)
   Ed Swarthout                      1 (0.2%)
   Mark Jackson                      1 (0.2%)
   Pieter Henning                    1 (0.2%)
   Hugo Villeneuve                   1 (0.2%)
   Derek Ou                          1 (0.2%)
   Peter Griffin                     1 (0.2%)
   Minkyu Kang                       1 (0.2%)
   Micha Kalfon                      1 (0.2%)
   Petri Lehtinen                    1 (0.2%)
   Poonam_Aggrwal-b10812             1 (0.2%)
   Srikanth Srinivasan               1 (0.2%)
   Atin Malaviya                     1 (0.2%)
   Carolyn Smith                     1 (0.2%)
   Adam Graham                       1 (0.2%)
   Sonic Zhang                       1 (0.2%)
   Simon Munton                      1 (0.2%)
   derek@siconix.com                 1 (0.2%)
   Ralph Kondziella                  1 (0.2%)
   Martha Marx                       1 (0.2%)
   Cliff Cai                         1 (0.2%)
   Gunnar Rangoy                     1 (0.2%)
   Olav Morken                       1 (0.2%)
   Tomasz Figa                       1 (0.2%)
   Andrew Dyer                       1 (0.2%)
   Stefan Althoefer                  1 (0.2%)
   Maxim Artamonov                   1 (0.2%)
   Brad Bozarth                      1 (0.2%)
   Yuri Tikhonov                     1 (0.2%)
   Peter Korsgaard                   1 (0.2%)
   Niklaus Giger                     1 (0.2%)
   Sergei Poselenov                  1 (0.2%)
   Schlaegl Manfred jun              1 (0.2%)
   Haavard Skinnemoen                1 (0.2%)
   ================================  =====


.. table:: Developers with the most changed lines
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Dirk Behme                        11275 (19.9%)
   Wolfgang Denk                     8001 (14.1%)
   Stefan Roese                      5794 (10.2%)
   Mike Frysinger                    4516 (8.0%)
   Heiko Schocher                    3620 (6.4%)
   Andy Fleming                      2180 (3.9%)
   Sonic Zhang                       1595 (2.8%)
   Abraham, Thomas                   1545 (2.7%)
   Michael Trimarchi                 1538 (2.7%)
   Alessandro Rubini                 1304 (2.3%)
   Ilya Yanok                        1304 (2.3%)
   Guennadi Liakhovetski             1303 (2.3%)
   Peter Tyser                       1280 (2.3%)
   Ron Madrid                        1243 (2.2%)
   Dirk Eibach                       927 (1.6%)
   Graeme Russ                       902 (1.6%)
   Kumar Gala                        876 (1.5%)
   Anton Vorontsov                   791 (1.4%)
   Cliff Cai                         729 (1.3%)
   Jean-Christophe PLAGNIOL-VILLARD  560 (1.0%)
   Yoshihiro Shimoda                 481 (0.8%)
   Martha Marx                       449 (0.8%)
   Kyungmin Park                     439 (0.8%)
   Becky Bruce                       369 (0.7%)
   michael                           368 (0.7%)
   Nobuhiro Iwamatsu                 358 (0.6%)
   Matthias Fuchs                    342 (0.6%)
   Wolfgang Grandegger               268 (0.5%)
   Haiying Wang                      196 (0.3%)
   Ralph Kondziella                  189 (0.3%)
   Richard Retanubun                 176 (0.3%)
   Michal Simek                      134 (0.2%)
   Remy Bohmer                       108 (0.2%)
   Hugo Villeneuve                   105 (0.2%)
   Dave Liu                          103 (0.2%)
   Rafal Jaworowski                  96 (0.2%)
   Nishanth Menon                    93 (0.2%)
   Tomasz Figa                       92 (0.2%)
   Larry Johnson                     86 (0.2%)
   Gary Jennejohn                    78 (0.1%)
   Tom Rix                           67 (0.1%)
   Ben Warren                        53 (0.1%)
   Adam Graham                       47 (0.1%)
   John Rigby                        43 (0.1%)
   Mark Jackson                      41 (0.1%)
   Micha Kalfon                      33 (0.1%)
   Valeriy Glushkov                  32 (0.1%)
   Srikanth Srinivasan               32 (0.1%)
   Gunnar Rangoy                     31 (0.1%)
   TsiChung Liew                     30 (0.1%)
   Pieter Henning                    30 (0.1%)
   Yuri Tikhonov                     30 (0.1%)
   Poonam_Aggrwal-b10812             25 (0.0%)
   Jon Smirl                         23 (0.0%)
   Jens Gehrlein                     23 (0.0%)
   Ladislav Michl                    22 (0.0%)
   Petri Lehtinen                    22 (0.0%)
   Andrew Dyer                       20 (0.0%)
   Bryan Wu                          16 (0.0%)
   Scott Wood                        16 (0.0%)
   Jerry Van Baren                   16 (0.0%)
   Peter Korsgaard                   14 (0.0%)
   Niklaus Giger                     14 (0.0%)
   Ira Snyder                        13 (0.0%)
   Kim Phillips                      11 (0.0%)
   Atin Malaviya                     11 (0.0%)
   Sergei Poselenov                  10 (0.0%)
   Anatolij Gustschin                8 (0.0%)
   Haavard Skinnemoen                7 (0.0%)
   Vivek Kutal                       6 (0.0%)
   Carolyn Smith                     5 (0.0%)
   Paul Gortmaker                    4 (0.0%)
   Minkyu Kang                       4 (0.0%)
   derek@siconix.com                 4 (0.0%)
   Brad Bozarth                      4 (0.0%)
   Schlaegl Manfred jun              4 (0.0%)
   arun c                            3 (0.0%)
   Shinya Kuribayashi                2 (0.0%)
   ksi@koi8.net                      2 (0.0%)
   Grzegorz Bernacki                 2 (0.0%)
   Ed Swarthout                      2 (0.0%)
   Mikhail Zolotaryov                1 (0.0%)
   Norbert van Bolhuis               1 (0.0%)
   Yusuke.Goda                       1 (0.0%)
   Derek Ou                          1 (0.0%)
   Peter Griffin                     1 (0.0%)
   Simon Munton                      1 (0.0%)
   Olav Morken                       1 (0.0%)
   Stefan Althoefer                  1 (0.0%)
   Maxim Artamonov                   1 (0.0%)
   ================================  =====


.. table:: Developers with the most lines removed
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Matthias Fuchs                    73 (0.9%)
   Tom Rix                           64 (0.8%)
   Ladislav Michl                    7 (0.1%)
   Haavard Skinnemoen                5 (0.1%)
   Becky Bruce                       4 (0.0%)
   Hugo Villeneuve                   4 (0.0%)
   Ben Warren                        4 (0.0%)
   Carolyn Smith                     3 (0.0%)
   Ira Snyder                        1 (0.0%)
   Paul Gortmaker                    1 (0.0%)
   Schlaegl Manfred jun              1 (0.0%)
   ================================  =====


.. table:: Developers with the most signoffs (total 207)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Kim Phillips                      32 (15.5%)
   Remy Bohmer                       29 (14.0%)
   Stefan Roese                      24 (11.6%)
   Ben Warren                        18 (8.7%)
   Scott Wood                        15 (7.2%)
   Nobuhiro Iwamatsu                 7 (3.4%)
   Mike Frysinger                    7 (3.4%)
   Jason Kridner                     5 (2.4%)
   Ravi Babu                         5 (2.4%)
   Swaminathan S                     5 (2.4%)
   Ajay Kumar Gupta                  5 (2.4%)
   Jean-Christophe PLAGNIOL-VILLARD  4 (1.9%)
   Wolfgang Denk                     4 (1.9%)
   Steve Sakoman                     3 (1.4%)
   Rafal Czubak                      3 (1.4%)
   Michael Trimarchi                 3 (1.4%)
   Derek Ou                          2 (1.0%)
   Gerald Van Baren                  2 (1.0%)
   Grazvydas Ignotas                 2 (1.0%)
   Paul Driveklepp                   2 (1.0%)
   Shinya Kuribayashi                2 (1.0%)
   Nishanth Menon                    2 (1.0%)
   Jens Gehrlein                     2 (1.0%)
   John Rigby                        2 (1.0%)
   Kumar Gala                        2 (1.0%)
   Matthias Fuchs                    1 (0.5%)
   Becky Bruce                       1 (0.5%)
   Olav Morken                       1 (0.5%)
   Arun C                            1 (0.5%)
   Poonam_Agarwal-b10812             1 (0.5%)
   Travis Wheatley                   1 (0.5%)
   Robin Getz                        1 (0.5%)
   Manikandan Pillai                 1 (0.5%)
   Stelian Pop                       1 (0.5%)
   Syed Mohammed Khasim              1 (0.5%)
   James Yang                        1 (0.5%)
   Tony Li                           1 (0.5%)
   Valeriy Glushkov                  1 (0.5%)
   Gunnar Rangoy                     1 (0.5%)
   Martha Marx                       1 (0.5%)
   Peter Tyser                       1 (0.5%)
   Dirk Eibach                       1 (0.5%)
   Guennadi Liakhovetski             1 (0.5%)
   Sonic Zhang                       1 (0.5%)
   Heiko Schocher                    1 (0.5%)
   ================================  =====


.. table:: Developers with the most reviews (total 0)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


.. table:: Developers with the most test credits (total 0)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


.. table:: Developers who gave the most tested-by credits (total 0)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


.. table:: Developers with the most report credits (total 3)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Joakim Tjernlund                  1 (33.3%)
   Huang Changming                   1 (33.3%)
   Suchit Lepcha                     1 (33.3%)
   ================================  =====


.. table:: Developers who gave the most report credits (total 3)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Scott Wood                        1 (33.3%)
   Dave Liu                          1 (33.3%)
   Anton Vorontsov                   1 (33.3%)
   ================================  =====


.. table:: Top changeset contributors by employer
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         102 (20.9%)
   Analog Devices                    97 (19.8%)
   Freescale                         76 (15.5%)
   (Unknown)                         31 (6.3%)
   jcrosoft                          20 (4.1%)
   Dirk Behme                        20 (4.1%)
   Renesas Electronics               13 (2.7%)
   RuggedCom                         12 (2.5%)
   Extreme Engineering Solutions     12 (2.5%)
   MontaVista                        10 (2.0%)
   Graeme Russ                       10 (2.0%)
   Texas Instruments                 9 (1.8%)
   ESD Electronics                   7 (1.4%)
   EmCraft Systems                   6 (1.2%)
   Xilinx                            6 (1.2%)
   Guntermann & Drunck               5 (1.0%)
   Semihalf Embedded Systems         5 (1.0%)
   Wind River                        4 (0.8%)
   Universita di Pavia               4 (0.8%)
   Sheldon Instruments               4 (0.8%)
   Samsung                           3 (0.6%)
   ACM                               2 (0.4%)
   Custom IDEAS                      2 (0.4%)
   OVRO                              2 (0.4%)
   Siconix Inc.                      2 (0.4%)
   TQ Systems                        2 (0.4%)
   Jon Smirl                         2 (0.4%)
   Sergey Kubushyn                   2 (0.4%)
   Oce Technologies                  2 (0.4%)
   AMCC                              1 (0.2%)
   Argos Meßtechnik GmbH             1 (0.2%)
   Atmel                             1 (0.2%)
   Azingo                            1 (0.2%)
   Inoi Oy                           1 (0.2%)
   Lyrtech                           1 (0.2%)
   Mercury IMC Ltd.                  1 (0.2%)
   MPC Data                          1 (0.2%)
   NEC                               1 (0.2%)
   Netstal-Maschinen                 1 (0.2%)
   RightHand Technologies            1 (0.2%)
   Silicon Turnkey Express           1 (0.2%)
   Tektronix                         1 (0.2%)
   VASTech SA                        1 (0.2%)
   Radiient Technologies             1 (0.2%)
   Barco                             1 (0.2%)
   Micha Kalfon                      1 (0.2%)
   ================================  =====


.. table:: Top lines changed by employer
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         19072 (33.7%)
   Dirk Behme                        11275 (19.9%)
   Analog Devices                    6856 (12.1%)
   Freescale                         3883 (6.9%)
   (Unknown)                         2161 (3.8%)
   Texas Instruments                 1638 (2.9%)
   EmCraft Systems                   1344 (2.4%)
   Universita di Pavia               1304 (2.3%)
   Extreme Engineering Solutions     1280 (2.3%)
   Sheldon Instruments               1243 (2.2%)
   Guntermann & Drunck               927 (1.6%)
   Graeme Russ                       902 (1.6%)
   Renesas Electronics               840 (1.5%)
   MontaVista                        791 (1.4%)
   jcrosoft                          560 (1.0%)
   Silicon Turnkey Express           449 (0.8%)
   Samsung                           443 (0.8%)
   ESD Electronics                   342 (0.6%)
   Argos Meßtechnik GmbH             189 (0.3%)
   RuggedCom                         176 (0.3%)
   Xilinx                            134 (0.2%)
   Oce Technologies                  108 (0.2%)
   Lyrtech                           105 (0.2%)
   Semihalf Embedded Systems         98 (0.2%)
   ACM                               86 (0.2%)
   Wind River                        71 (0.1%)
   AMCC                              47 (0.1%)
   Mercury IMC Ltd.                  41 (0.1%)
   Micha Kalfon                      33 (0.1%)
   VASTech SA                        30 (0.1%)
   TQ Systems                        23 (0.0%)
   Jon Smirl                         23 (0.0%)
   Inoi Oy                           22 (0.0%)
   RightHand Technologies            20 (0.0%)
   Custom IDEAS                      16 (0.0%)
   Netstal-Maschinen                 14 (0.0%)
   Barco                             14 (0.0%)
   OVRO                              13 (0.0%)
   Atmel                             7 (0.0%)
   Azingo                            6 (0.0%)
   Siconix Inc.                      5 (0.0%)
   Tektronix                         5 (0.0%)
   Radiient Technologies             4 (0.0%)
   Sergey Kubushyn                   2 (0.0%)
   MPC Data                          1 (0.0%)
   NEC                               1 (0.0%)
   ================================  =====


.. table:: Employers with the most signoffs (total 207)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         56 (27.1%)
   DENX Software Engineering         30 (14.5%)
   Oce Technologies                  29 (14.0%)
   (Unknown)                         28 (13.5%)
   Texas Instruments                 24 (11.6%)
   Analog Devices                    9 (4.3%)
   Nobuhiro Iwamatsu                 7 (3.4%)
   jcrosoft                          4 (1.9%)
   Semihalf Embedded Systems         3 (1.4%)
   Sakoman Inc.                      3 (1.4%)
   TQ Systems                        2 (1.0%)
   Custom IDEAS                      2 (1.0%)
   Siconix Inc.                      2 (1.0%)
   Grazvydas Ignotas                 2 (1.0%)
   Extreme Engineering Solutions     1 (0.5%)
   Guntermann & Drunck               1 (0.5%)
   Silicon Turnkey Express           1 (0.5%)
   ESD Electronics                   1 (0.5%)
   Mistral                           1 (0.5%)
   Stelian Pop                       1 (0.5%)
   ================================  =====


.. table:: Employers with the most hackers (total 91)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         17 (18.7%)
   Freescale                         12 (13.2%)
   DENX Software Engineering         7 (7.7%)
   Analog Devices                    4 (4.4%)
   EmCraft Systems                   3 (3.3%)
   Renesas Electronics               3 (3.3%)
   Texas Instruments                 2 (2.2%)
   Semihalf Embedded Systems         2 (2.2%)
   Siconix Inc.                      2 (2.2%)
   Samsung                           2 (2.2%)
   Wind River                        2 (2.2%)
   Oce Technologies                  1 (1.1%)
   jcrosoft                          1 (1.1%)
   TQ Systems                        1 (1.1%)
   Custom IDEAS                      1 (1.1%)
   Extreme Engineering Solutions     1 (1.1%)
   Guntermann & Drunck               1 (1.1%)
   Silicon Turnkey Express           1 (1.1%)
   ESD Electronics                   1 (1.1%)
   Dirk Behme                        1 (1.1%)
   Universita di Pavia               1 (1.1%)
   Sheldon Instruments               1 (1.1%)
   Graeme Russ                       1 (1.1%)
   MontaVista                        1 (1.1%)
   Argos Meßtechnik GmbH             1 (1.1%)
   RuggedCom                         1 (1.1%)
   Xilinx                            1 (1.1%)
   Lyrtech                           1 (1.1%)
   ACM                               1 (1.1%)
   AMCC                              1 (1.1%)
   Mercury IMC Ltd.                  1 (1.1%)
   Micha Kalfon                      1 (1.1%)
   VASTech SA                        1 (1.1%)
   Jon Smirl                         1 (1.1%)
   Inoi Oy                           1 (1.1%)
   RightHand Technologies            1 (1.1%)
   Netstal-Maschinen                 1 (1.1%)
   Barco                             1 (1.1%)
   OVRO                              1 (1.1%)
   Atmel                             1 (1.1%)
   Azingo                            1 (1.1%)
   Tektronix                         1 (1.1%)
   Radiient Technologies             1 (1.1%)
   Sergey Kubushyn                   1 (1.1%)
   MPC Data                          1 (1.1%)
   NEC                               1 (1.1%)
   ================================  =====
