:orphan:

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

* Processed 657 csets from 96 developers

* 35 employers found

* A total of 84239 lines added, 52495 removed (delta 31744)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     75 (11.4%)
   Peter Tyser                       69 (10.5%)
   Jean-Christophe PLAGNIOL-VILLARD  57 (8.7%)
   Mike Frysinger                    56 (8.5%)
   Stefan Roese                      40 (6.1%)
   Prafulla Wadaskar                 23 (3.5%)
   Tom Rix                           22 (3.3%)
   David Brownell                    17 (2.6%)
   Kumar Gala                        16 (2.4%)
   Matthias Fuchs                    16 (2.4%)
   Kim Phillips                      13 (2.0%)
   Heiko Schocher                    12 (1.8%)
   Simon Kagstrom                    10 (1.5%)
   Alessandro Rubini                 10 (1.5%)
   Haiying Wang                      10 (1.5%)
   TsiChung Liew                     9 (1.4%)
   Ilya Yanok                        8 (1.2%)
   Dirk Behme                        8 (1.2%)
   Vivek Mahajan                     8 (1.2%)
   Ben Warren                        7 (1.1%)
   Richard Retanubun                 7 (1.1%)
   Anatolij Gustschin                7 (1.1%)
   Mark Jackson                      6 (0.9%)
   Sandeep Paulraj                   6 (0.9%)
   Grzegorz Bernacki                 6 (0.9%)
   Anton Vorontsov                   6 (0.9%)
   Magnus Lilja                      5 (0.8%)
   Michal Simek                      4 (0.6%)
   Roy Zang                          4 (0.6%)
   Detlev Zundel                     4 (0.6%)
   Dirk Eibach                       4 (0.6%)
   Nobuhiro Iwamatsu                 4 (0.6%)
   Grazvydas Ignotas                 4 (0.6%)
   Andre Schwarz                     3 (0.5%)
   Albin Tonnerre                    3 (0.5%)
   Paul Gortmaker                    3 (0.5%)
   Scott Wood                        3 (0.5%)
   Timur Tabi                        3 (0.5%)
   Giuseppe CONDORELLI               3 (0.5%)
   Po-Yu Chuang                      3 (0.5%)
   Jens Scharsig                     3 (0.5%)
   Robin Getz                        3 (0.5%)
   Poonam Aggrwal                    3 (0.5%)
   Valeriy Glushkov                  3 (0.5%)
   Sedji Gaouaou                     3 (0.5%)
   Harald Krapfenbauer               2 (0.3%)
   Andrzej Wolski                    2 (0.3%)
   Mingkai Hu                        2 (0.3%)
   Luigi 'Comio' Mantellini          2 (0.3%)
   Matthias Ludwig                   2 (0.3%)
   Reinhard Arlt                     2 (0.3%)
   Kyungmin Park                     2 (0.3%)
   Alessio Centazzo                  2 (0.3%)
   Minkyu Kang                       2 (0.3%)
   Shinya Kuribayashi                2 (0.3%)
   Daniel Mack                       2 (0.3%)
   Felix Radensky                    2 (0.3%)
   Guennadi Liakhovetski             2 (0.3%)
   Stefano Babic                     2 (0.3%)
   Daniel Gorsulowski                2 (0.3%)
   Thomas Lange                      2 (0.3%)
   Vivi Li                           2 (0.3%)
   Feng Kan                          1 (0.2%)
   Giulio Benetti                    1 (0.2%)
   Ben Goska                         1 (0.2%)
   John Schmoller                    1 (0.2%)
   Josh Boyer                        1 (0.2%)
   Penda Naveen Kumar                1 (0.2%)
   Michael Evans                     1 (0.2%)
   David Hunter                      1 (0.2%)
   Eric Benard                       1 (0.2%)
   Weirich, Bernhard                 1 (0.2%)
   rhabarber1848@web.de              1 (0.2%)
   Niklaus Giger                     1 (0.2%)
   Remy Bohmer                       1 (0.2%)
   Michael Zaidman                   1 (0.2%)
   Andreas Pretzsch                  1 (0.2%)
   Dieter Kiermaier                  1 (0.2%)
   Piotr Ziecik                      1 (0.2%)
   galak                             1 (0.2%)
   Kazuaki Ichinohe                  1 (0.2%)
   Matthias Weisser                  1 (0.2%)
   Jerry Van Baren                   1 (0.2%)
   Jon Smirl                         1 (0.2%)
   Bryan Wu                          1 (0.2%)
   HeungJun Kim                      1 (0.2%)
   Kevin Morfitt                     1 (0.2%)
   Kim, Heung Jun                    1 (0.2%)
   Peter Meerwald                    1 (0.2%)
   Ilko Iliev                        1 (0.2%)
   Norbert van Bolhuis               1 (0.2%)
   Zach LeRoy                        1 (0.2%)
   Hoan Hoang                        1 (0.2%)
   Srikanth Srinivasan               1 (0.2%)
   Todor I Mollov                    1 (0.2%)
   Sanjeev Premi                     1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     16728 (14.5%)
   Jean-Christophe PLAGNIOL-VILLARD  14381 (12.5%)
   Matthias Fuchs                    9733 (8.4%)
   Mike Frysinger                    9358 (8.1%)
   Scott Wood                        5624 (4.9%)
   Prafulla Wadaskar                 5290 (4.6%)
   Giuseppe CONDORELLI               4937 (4.3%)
   Peter Tyser                       4350 (3.8%)
   Stefan Roese                      4340 (3.8%)
   Roy Zang                          3576 (3.1%)
   Ilya Yanok                        2851 (2.5%)
   Tom Rix                           2753 (2.4%)
   Kazuaki Ichinohe                  2602 (2.3%)
   TsiChung Liew                     2455 (2.1%)
   Luigi 'Comio' Mantellini          2019 (1.7%)
   Reinhard Arlt                     1933 (1.7%)
   Srikanth Srinivasan               1882 (1.6%)
   Dirk Eibach                       1761 (1.5%)
   Kim Phillips                      1344 (1.2%)
   Sedji Gaouaou                     1303 (1.1%)
   David Brownell                    1261 (1.1%)
   Ilko Iliev                        1087 (0.9%)
   Michal Simek                      1060 (0.9%)
   Magnus Lilja                      1040 (0.9%)
   Jon Smirl                         855 (0.7%)
   Jens Scharsig                     839 (0.7%)
   Heiko Schocher                    772 (0.7%)
   Haiying Wang                      619 (0.5%)
   Nobuhiro Iwamatsu                 609 (0.5%)
   Grzegorz Bernacki                 606 (0.5%)
   Robin Getz                        582 (0.5%)
   Ben Warren                        555 (0.5%)
   Daniel Gorsulowski                518 (0.4%)
   Po-Yu Chuang                      443 (0.4%)
   Alessandro Rubini                 408 (0.4%)
   Hoan Hoang                        408 (0.4%)
   Andre Schwarz                     393 (0.3%)
   Dirk Behme                        386 (0.3%)
   Anton Vorontsov                   378 (0.3%)
   Kumar Gala                        377 (0.3%)
   Anatolij Gustschin                278 (0.2%)
   Sandeep Paulraj                   208 (0.2%)
   Dieter Kiermaier                  203 (0.2%)
   Mark Jackson                      182 (0.2%)
   Detlev Zundel                     173 (0.1%)
   Vivek Mahajan                     146 (0.1%)
   Simon Kagstrom                    139 (0.1%)
   Todor I Mollov                    139 (0.1%)
   Albin Tonnerre                    137 (0.1%)
   Kim, Heung Jun                    108 (0.1%)
   Matthias Ludwig                   94 (0.1%)
   Matthias Weisser                  92 (0.1%)
   Paul Gortmaker                    90 (0.1%)
   galak                             81 (0.1%)
   Minkyu Kang                       73 (0.1%)
   Poonam Aggrwal                    66 (0.1%)
   Remy Bohmer                       64 (0.1%)
   Timur Tabi                        63 (0.1%)
   Grazvydas Ignotas                 61 (0.1%)
   Josh Boyer                        61 (0.1%)
   Guennadi Liakhovetski             59 (0.1%)
   Richard Retanubun                 51 (0.0%)
   Stefano Babic                     50 (0.0%)
   Valeriy Glushkov                  46 (0.0%)
   Zach LeRoy                        43 (0.0%)
   Jerry Van Baren                   36 (0.0%)
   Bryan Wu                          35 (0.0%)
   Weirich, Bernhard                 32 (0.0%)
   Felix Radensky                    31 (0.0%)
   rhabarber1848@web.de              30 (0.0%)
   Kyungmin Park                     19 (0.0%)
   Thomas Lange                      13 (0.0%)
   Harald Krapfenbauer               7 (0.0%)
   Daniel Mack                       7 (0.0%)
   Mingkai Hu                        5 (0.0%)
   Shinya Kuribayashi                5 (0.0%)
   Vivi Li                           5 (0.0%)
   Andrzej Wolski                    4 (0.0%)
   Giulio Benetti                    4 (0.0%)
   Penda Naveen Kumar                4 (0.0%)
   Alessio Centazzo                  3 (0.0%)
   Michael Zaidman                   3 (0.0%)
   Feng Kan                          2 (0.0%)
   Ben Goska                         2 (0.0%)
   Andreas Pretzsch                  2 (0.0%)
   Piotr Ziecik                      2 (0.0%)
   Peter Meerwald                    2 (0.0%)
   Norbert van Bolhuis               2 (0.0%)
   Sanjeev Premi                     2 (0.0%)
   John Schmoller                    1 (0.0%)
   Michael Evans                     1 (0.0%)
   David Hunter                      1 (0.0%)
   Eric Benard                       1 (0.0%)
   Niklaus Giger                     1 (0.0%)
   HeungJun Kim                      1 (0.0%)
   Kevin Morfitt                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Matthias Fuchs                    6924 (13.2%)
   Scott Wood                        5607 (10.7%)
   Jean-Christophe PLAGNIOL-VILLARD  3555 (6.8%)
   Michal Simek                      1024 (2.0%)
   Kim Phillips                      927 (1.8%)
   Sandeep Paulraj                   70 (0.1%)
   galak                             62 (0.1%)
   Timur Tabi                        51 (0.1%)
   Matthias Ludwig                   29 (0.1%)
   Grazvydas Ignotas                 16 (0.0%)
   Dirk Behme                        10 (0.0%)
   Shinya Kuribayashi                4 (0.0%)
   Thomas Lange                      2 (0.0%)
   Piotr Ziecik                      2 (0.0%)
   Alessio Centazzo                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      50 (20.5%)
   Kumar Gala                        44 (18.0%)
   Ben Warren                        37 (15.2%)
   Scott Wood                        21 (8.6%)
   Remy Bohmer                       14 (5.7%)
   Kim Phillips                      13 (5.3%)
   Mike Frysinger                    11 (4.5%)
   Wolfgang Denk                     9 (3.7%)
   Jean-Christophe PLAGNIOL-VILLARD  7 (2.9%)
   Nobuhiro Iwamatsu                 6 (2.5%)
   Anatolij Gustschin                5 (2.0%)
   Matthias Ludwig                   3 (1.2%)
   Dirk Behme                        2 (0.8%)
   Phong Vo                          2 (0.8%)
   Peter Pearse                      2 (0.8%)
   HeungJun, Kim                     2 (0.8%)
   Sandeep Paulraj                   1 (0.4%)
   unsik Kim                         1 (0.4%)
   Pieter Voorthuijsen               1 (0.4%)
   Nate Case                         1 (0.4%)
   Gerald Van Baren                  1 (0.4%)
   Piyush Shah                       1 (0.4%)
   Stelian Pop                       1 (0.4%)
   Ed Swarthout                      1 (0.4%)
   Maxim Artamonov                   1 (0.4%)
   Thomas Smits                      1 (0.4%)
   Travis Wheatley                   1 (0.4%)
   Jean Pihet                        1 (0.4%)
   Steve Sakoman                     1 (0.4%)
   Peter Tyser                       1 (0.4%)
   Ilko Iliev                        1 (0.4%)
   Dirk Eibach                       1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Ronen Shitrit                     3 (42.9%)
   Angelo Castello                   2 (28.6%)
   Ira W. Snyder                     1 (14.3%)
   Alessandro Rubini                 1 (14.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     2 (16.7%)
   Jean-Christophe PLAGNIOL-VILLARD  2 (16.7%)
   Ira W. Snyder                     1 (8.3%)
   Mike Frysinger                    1 (8.3%)
   Dirk Behme                        1 (8.3%)
   Andrzej Wolski                    1 (8.3%)
   Gaye Abdoulaye Walsimou           1 (8.3%)
   Heiko Schocher                    1 (8.3%)
   Magnus Lilja                      1 (8.3%)
   Tom Rix                           1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     6 (50.0%)
   Ben Warren                        1 (8.3%)
   Kim Phillips                      1 (8.3%)
   Peter Tyser                       1 (8.3%)
   Weirich, Bernhard                 1 (8.3%)
   Dieter Kiermaier                  1 (8.3%)
   David Brownell                    1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andrzej Wolski                    1 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    1 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         140 (21.3%)
   (Unknown)                         98 (14.9%)
   Extreme Engineering Solutions     70 (10.7%)
   Freescale                         63 (9.6%)
   Analog Devices                    62 (9.4%)
   jcrosoft                          57 (8.7%)
   Wind River                        25 (3.8%)
   Marvell                           23 (3.5%)
   ESD Electronics                   20 (3.0%)
   EmCraft Systems                   8 (1.2%)
   Texas Instruments                 8 (1.2%)
   Dirk Behme                        8 (1.2%)
   RuggedCom                         7 (1.1%)
   Semihalf Embedded Systems         7 (1.1%)
   Mercury IMC Ltd.                  6 (0.9%)
   MontaVista                        6 (0.9%)
   Universita di Pavia               6 (0.9%)
   Guntermann & Drunck               4 (0.6%)
   Samsung                           4 (0.6%)
   Xilinx                            4 (0.6%)
   Grazvydas Ignotas                 4 (0.6%)
   Atmel                             3 (0.5%)
   BuS Elektronik                    3 (0.5%)
   Free Electrons                    3 (0.5%)
   Matrix Vision                     3 (0.5%)
   ST Microelectronics               3 (0.5%)
   Industrie Dial Face               2 (0.3%)
   Renesas Electronics               2 (0.3%)
   Nobuhiro Iwamatsu                 2 (0.3%)
   AMCC                              1 (0.2%)
   Custom IDEAS                      1 (0.2%)
   IBM                               1 (0.2%)
   Ronetix                           1 (0.2%)
   Jon Smirl                         1 (0.2%)
   Oce Technologies                  1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         22352 (19.4%)
   jcrosoft                          14381 (12.5%)
   Freescale                         13702 (11.9%)
   ESD Electronics                   12184 (10.6%)
   Analog Devices                    9980 (8.6%)
   (Unknown)                         9938 (8.6%)
   Marvell                           5290 (4.6%)
   ST Microelectronics               4937 (4.3%)
   Extreme Engineering Solutions     4350 (3.8%)
   EmCraft Systems                   2851 (2.5%)
   Wind River                        2843 (2.5%)
   Industrie Dial Face               2019 (1.7%)
   Guntermann & Drunck               1761 (1.5%)
   Atmel                             1303 (1.1%)
   Ronetix                           1087 (0.9%)
   Xilinx                            1060 (0.9%)
   Jon Smirl                         855 (0.7%)
   BuS Elektronik                    839 (0.7%)
   Semihalf Embedded Systems         608 (0.5%)
   Renesas Electronics               576 (0.5%)
   Matrix Vision                     393 (0.3%)
   Dirk Behme                        386 (0.3%)
   Universita di Pavia               381 (0.3%)
   MontaVista                        378 (0.3%)
   Texas Instruments                 214 (0.2%)
   Mercury IMC Ltd.                  182 (0.2%)
   Free Electrons                    137 (0.1%)
   Samsung                           92 (0.1%)
   Oce Technologies                  64 (0.1%)
   Grazvydas Ignotas                 61 (0.1%)
   IBM                               61 (0.1%)
   RuggedCom                         51 (0.0%)
   Custom IDEAS                      36 (0.0%)
   Nobuhiro Iwamatsu                 33 (0.0%)
   AMCC                              2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         80 (32.8%)
   DENX Software Engineering         64 (26.2%)
   (Unknown)                         43 (17.6%)
   Oce Technologies                  14 (5.7%)
   Analog Devices                    11 (4.5%)
   jcrosoft                          7 (2.9%)
   Nobuhiro Iwamatsu                 6 (2.5%)
   Extreme Engineering Solutions     2 (0.8%)
   Dirk Behme                        2 (0.8%)
   Samsung                           2 (0.8%)
   AMCC                              2 (0.8%)
   ARM                               2 (0.8%)
   Marvell                           1 (0.4%)
   Guntermann & Drunck               1 (0.4%)
   Ronetix                           1 (0.4%)
   MontaVista                        1 (0.4%)
   Texas Instruments                 1 (0.4%)
   Custom IDEAS                      1 (0.4%)
   Prodrive                          1 (0.4%)
   Sakoman Inc.                      1 (0.4%)
   Stelian Pop                       1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         39 (39.0%)
   Freescale                         10 (10.0%)
   DENX Software Engineering         7 (7.0%)
   Analog Devices                    4 (4.0%)
   Extreme Engineering Solutions     3 (3.0%)
   Texas Instruments                 3 (3.0%)
   ESD Electronics                   3 (3.0%)
   Samsung                           2 (2.0%)
   Wind River                        2 (2.0%)
   Semihalf Embedded Systems         2 (2.0%)
   Oce Technologies                  1 (1.0%)
   jcrosoft                          1 (1.0%)
   Nobuhiro Iwamatsu                 1 (1.0%)
   Dirk Behme                        1 (1.0%)
   AMCC                              1 (1.0%)
   Marvell                           1 (1.0%)
   Guntermann & Drunck               1 (1.0%)
   Ronetix                           1 (1.0%)
   MontaVista                        1 (1.0%)
   Custom IDEAS                      1 (1.0%)
   ST Microelectronics               1 (1.0%)
   EmCraft Systems                   1 (1.0%)
   Industrie Dial Face               1 (1.0%)
   Atmel                             1 (1.0%)
   Xilinx                            1 (1.0%)
   Jon Smirl                         1 (1.0%)
   BuS Elektronik                    1 (1.0%)
   Renesas Electronics               1 (1.0%)
   Matrix Vision                     1 (1.0%)
   Universita di Pavia               1 (1.0%)
   Mercury IMC Ltd.                  1 (1.0%)
   Free Electrons                    1 (1.0%)
   Grazvydas Ignotas                 1 (1.0%)
   IBM                               1 (1.0%)
   RuggedCom                         1 (1.0%)
   ================================  =====
