Skip to main content.

U-Boot Authors

Notes

In some cases it may be interesting to have a list of all people who contributed to U-Boot. This page documents the process which was used to collect such a list, and the results.

This list is known to have deficiencies, and all help to improve it is more than welcome.

Notes on the process to collect the data:

Collection of this data was done in October 2018; the initial version covers the date from the begin of the project history (which was called PPCBoot at that time) until U-Boot release candidate v2018.11-rc2 .

Collection of data

  1. The CVS era ends around 2006-10-24 18:30 UTS; this corresponds to tag U-Boot-1_1_6 . Commit 0b666f81da is the very first commit in git repository. This is dated Sat Jun 17 20:10:14 2000 +0000 . One could reasonably argue that June 17, 2000 is the "official" birthday of U-Boot smile
  2. Attempt to filter out the needed information of the CVS era.
    Get patch information:
    $ git log 0b666f81da..U-Boot-1_1_6 | egrep -ai 'patch by |patch from ' >Authors/stage-0
    
    Filter out garbage:
    $ sed -e 's/.*[Pp]atch by //' \
          -e 's/.*[Pp]atch from //' \
          -e 's/[,:].*//' -e 's/ on / /' \
          -e 's/ [0-9][0-9][- ][A-z][A-z]*[- ]20[0-9][0-9]$//' \
          -e 's/ 11$//' \
          -e 's/ Aug 10 2005//' \
          -e 's/ 2005-02-08//' \
          -e 's/ and /^M/' \
          -e 's/[\. ]$//' \
          -e 's/^ *//' ../Authors/stage-0 | \
      tr '^M' '\012' >../Authors/stage-1.X
    
    Statistics:
    $ wc -l Authors/stage-1
    936 Authors/stage-1
    
  3. Calculate patch count (Note: This does not include myself!!)
    $ awk '{ cnt[$0]++ }
    END { for (name in cnt) { printf "%s\t%d\n", name, cnt[name] } }' Authors/stage-1 > Authors/stage-2
    
    $  wc -l Authors/stage-2
    258 Authors/stage-2
    
  4. Sort:
    $ sort -t '<TAB>' -r -n -k 2  Authors/stage-2 > Authors/stage-3
    $ head Authors/stage-3
    Stefan Roese    103
    Martin Krause   48
    Steven Scholz   32
    Yuli Barcohen   28
    Anders Larsen   20
    Kumar Gala      19
    Scott McNutt    17
    Pierre Aubert   17
    Pantelis Antoniou       15
    Jon Loeliger    15
    
  5. Process git era data: "git" is everything after '2006-10-24 18:30'; we use "gitdm" for the statistics in basically the same way we use it for all release statistics:
    $ ( cd /home/git/u-boot ; git log -p -M --since='2006-10-24 18:30' --until=v2018.11-rc2 ) | ./gitdm -u -s -a -o Authors/gitdm-results
    
    $ head Authors/gitdm-results 
    Processed 46658 csets from 1654 developers
    149 employers found
    A total of 4144305 lines added, 2895346 removed (delta 1248959)
    
    Developers with the most changesets
    Simon Glass               4171 (8.9%)
    Masahiro Yamada           1916 (4.1%)
    Marek Vasut               1517 (3.3%)
    Stefan Roese              1245 (2.7%)
    Wolfgang Denk             1107 (2.4%)
    $ wc -l Authors/gitdm-results
    6133 Authors/gitdm-results
    
    Select authors and bring into needed format
    $ sed -e '1,/Developers with the most changesets/d' \
          -e 's/ (.*//' \
          -e 's/\(   *\)\([1-9][0-0]*\)/\t\2/' \
          -e '/^$/,$d' Authors/gitdm-results > Authors/stage-4
    
  6. Combine CVS and git era data:
    awk ' BEGIN {
            FS = "\t"
    }
    {
            cnt[$1] += $2
    }
    END {
            for (name in cnt) {
                    printf "%s\t%d\n", name, cnt[name]
            }
    }' Authors/stage-3 Authors/stage-4 | \
    sort -t '<TAB>' -r -n -k 2 > Authors/stage-5
    
  7. Statistics:
    $ wc -l Authors/stage-5
    1852 Authors/stage-5
    $ head -20 Authors/stage-5
    Simon Glass     4171
    Masahiro Yamada 1916
    Marek Vasut     1517
    Stefan Roese    1348
    Wolfgang Denk   1107
    Tom Rini        981
    Michal Simek    915
    Bin Meng        899
    Fabio Estevam   814
    Mike Frysinger  809
    Stephen Warren  726
    Kumar Gala      650
    York Sun        567
    Heiko Schocher  558
    Hans de Goede   548
    Nobuhiro Iwamatsu       470
    Peng Fan        451
    Jagan Teki      384
    Stefano Babic   360
    Joe Hershberger 360
    

Scripts and Results:


Attachment sort Action Size Date Who Comment
awk-script-1.sh manage 0.2 K 26 Oct 2018 - 12:35 WolfgangDenk  
sed-script-1.sh manage 0.3 K 26 Oct 2018 - 12:35 WolfgangDenk  
sort-script-1.sh manage 0.1 K 26 Oct 2018 - 12:35 WolfgangDenk  
gitdm-results manage 227.7 K 26 Oct 2018 - 12:35 WolfgangDenk  
stage-0 manage 38.6 K 26 Oct 2018 - 12:36 WolfgangDenk  
stage-1 manage 12.7 K 26 Oct 2018 - 12:36 WolfgangDenk  
stage-2 manage 4.1 K 26 Oct 2018 - 12:36 WolfgangDenk  
stage-3 manage 4.1 K 26 Oct 2018 - 12:36 WolfgangDenk  
stage-4 manage 27.3 K 26 Oct 2018 - 12:37 WolfgangDenk  
stage-5 manage 30.5 K 26 Oct 2018 - 12:37 WolfgangDenk