Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
U-Boot community analysis
1. Introduction Methodology Results Conclusions Thanks!
U-Boot community analysis
Xulio Coira S´nchez
a
M´ster Software Libre, 2009-2010. A Coru˜a Edition
a n
January 22, 2010
(cc) 2010 Xulio Coira
Some rights reserved. This work licensed under Creative Commons Attribution-ShareAlike License.
To view a copy of full license, see http://creativecommons.org/licenses/by-sa/3.0/ or write to Creative Commons,
559 Nathan Abbott Way, Stanford, California 94305, USA.
2. Introduction Methodology Results Conclusions Thanks!
Content
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
3. Introduction Methodology Results Conclusions Thanks!
What is U-Boot?
”Das U-Boot” (Universal Bootloader) is a bootloader for a number
of different computer architectures, including PPC, ARM, AVR32,
MIPS, x86, 68k, Nios, and MicroBlaze. Its name comes from the
abbreviated form of Das Unterseeboot, German for ”the
submarine.”
It is free software released under the terms of the GNU General
Public License. It can be built on an x86 PC for any supported
architecture using a cross development GNU toolchain.
4. Introduction Methodology Results Conclusions Thanks!
U-Boot design principles
The design principles of U-Boot are:
Easy to port to new architectures, new processors, and new
boards
Easy to debug: serial console output as soon as possible
Features and commands configurable
As small as possible
As reliable as possible
5. Introduction Methodology Results Conclusions Thanks!
History
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
6. Introduction Methodology Results Conclusions Thanks!
History
History
Originated in work done by Magnus Damm on a 8xx PowerPC
bootloader called 8xxROM.
When Wolfgang Denk moved the project to SourceForge.net,
the project was renamed PPCBoot, because SF.net did not
allow project names starting with digits.
In November 2002 the project was renamed again, when
support had been extended beyond booting on PowerPCs.
7. Introduction Methodology Results Conclusions Thanks!
History
Prehistoric milestones
1999 8xxrom (Magnus Damm - Raphael Bossek)
Jul 2000 PPCBoot (Wolfgang Denk)
Siemens PSE, Vienna: First commercial sponsor
Aug 2000 Only PPC (4 boards)
Oct 2000 Added network support
Support for IBM PPC (Stefan Roese)
End 2000 27 boards
End 2001 63 boards
Nov 2002 106 boards PPCBoot-2.0.0 (last release)
8. Introduction Methodology Results Conclusions Thanks!
History
Modern milestones
Nov 2002 Start U-Boot project
Nov 2002 x86 support
Mar 2003 MIPS32
Apr 2003 MIPS64
Oct 2003 Altera NIOS-32
Dec 2003 Coldfire
Apr 2004 Microblaze
> 216 boards
9. Introduction Methodology Results Conclusions Thanks!
Tools
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
10. Introduction Methodology Results Conclusions Thanks!
Tools
LibreSoft tools
cvsanaly http://tools.libresoft.es/
A tool that extracts information out of source code
repository logs and stores it into a database.
mlstats http://tools.libresoft.es/
A command line based tool used to analyze mboxes.
It downloads the mboxes in a directory where
database will be created. It stores all the information
which is contained in a e-mail.
guilty http://git.libresoft.es/guilty/
A tool to extract blame command information from
SCM repositories.
11. Introduction Methodology Results Conclusions Thanks!
Tools
Other tools
sloccount http://www.dwheeler.com/sloccount/
A set of tools for counting physical Source Lines of
Code (SLOC) in a large number of languages.
R http://www.r-project.org/
R is a free software environment for statistical
computing and graphics.
12. Introduction Methodology Results Conclusions Thanks!
Tools
Custom tools
Several scripts were written in order to automatize data gathering
and graphics generation. The main goal was to obtain the most
generic as possible tool, capable of analyse several community
aspects providing only the original information sources, and
reproducible in the future. The tool flow is:
1 Download code repository.
2 Download mailing list mailboxes.
3 Run cvsanaly and sanitize database based on duplicated
emails and names provided in config file.
4 Run guilty and sanitize based on duplicated names provided in
config file.
5 Run mlstats.
6 Run several R scripts for table and graphics generation.
7 A
Generate PDF report from LTEX sources.
14. Introduction Methodology Results Conclusions Thanks!
Data sources
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
15. Introduction Methodology Results Conclusions Thanks!
Data sources
Data Sources
The data sources used for analyzing the developer community were
three: the code repository, the mailing list and the project web
page.
U-Boot code repository
git://git.denx.de/u-boot.git
U-boot mailing list
http://lists.denx.de/mailman/listinfo/u-boot
U-Boot wiki
http://www.denx.de/wiki/U-Boot/WebHome
16. Introduction Methodology Results Conclusions Thanks!
Analysis
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
17. Introduction Methodology Results Conclusions Thanks!
Analysis
Analysis performed
Lines of code per language
Most active developers
Activity evolution
Maintainer evolution
Work distribution
Global ranking based on previous results
Relation between developers and companies
18. Introduction Methodology Results Conclusions Thanks!
Repository analysis
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
19. Introduction Methodology Results Conclusions Thanks!
Repository analysis
SLOCCOUNT results
Language Lines of Code
ansic 828008(94.78%)
asm 42417(4.86%)
sh 1618(0.19%) ansic (94.78%)
sh (0.19%)
php 1299(0.15%) asm (4.86%)
python 236(0.03%)
awk 40(0.00%)
sed 11(0.00%)
TOTAL 873629
95% C
5% assembler
20. Introduction Methodology Results Conclusions Thanks!
Repository analysis
TOP 20 coders
Name Lines Name Lines
1 Wolfgang Denk 916064 1 Wolfgang Denk 36551
2 Stefan Roese 143443 2 Stefan Roese 32095
3 Mike Frysinger 79912 3 Jean-Christophe PLAGNIOL-VILLARD 9447
4 Jean-Christophe PLAGNIOL-VILLARD 69761 4 Tom Rix 9196
5 TsiChung Liew 34323 5 Prafulla Wadaskar 7164
6 Kumar Gala 20596 6 Ilya Yanok 5569
7 Kyungmin Park 18099 7 Mike Frysinger 4761
8 William Juul 17107 8 Kumar Gala 4510
9 Marian Balakowicz 17024 9 Peter Tyser 4505
10 Jon Loeliger 16427 10 Roy Zang 3485
11 Heiko Schocher 16279 11 Dirk Behme 3416
12 Daniel Hellstrom 14371 12 Minkyu Kang 3246
13 Dave Liu 13457 13 Graeme Russ 2948
14 Jason Jin 12441 14 Kazuaki Ichinohe 2602
15 Matthias Fuchs 11645 15 Heiko Schocher 2567
16 Nobuhiro Iwamatsu 11577 16 Giuseppe CONDORELLI 2475
17 Tom Rix 9196 17 Luigi ’Comio’ Mantellini 2458
18 Dirk Behme 8461 18 Matthias Fuchs 2419
19 Guennadi Liakhovetski 8338 19 Ilko Iliev 2086
20 Peter Tyser 8286 20 TsiChung Liew 2081
2000-2009 2009
21. Introduction Methodology Results Conclusions Thanks!
Repository analysis
TOP 20 comitters
Commiter Commits Commiter Commits
1 Wolfgang Denk 4528 1 Wolfgang Denk 1068
2 Stefan Roese 1261 2 Jean-Christophe PLAGNIOL-VILLARD 221
3 Jean-Christophe PLAGNIOL-VILLARD 411 3 Kumar Gala 206
4 Jon Loeliger 349 4 Mike Frysinger 202
5 Kim Phillips 316 5 Stefan Roese 164
6 Kumar Gala 313 6 Ben Warren 109
7 Andy Fleming 288 7 Tom Rix 87
8 Mike Frysinger 259 8 Scott Wood 79
9 Ben Warren 239 9 Andy Fleming 64
10 Scott Wood 152 10 Kim Phillips 64
11 Nobuhiro Iwamatsu 126 11 Remy Bohmer 53
12 John Rigby 125 12 Anatolij Gustschin 29
13 Haavard Skinnemoen 113 13 Nobuhiro Iwamatsu 29
14 Marian Balakowicz 112 14 Heiko Schocher 28
15 Michal Simek 101 15 John Rigby 20
16 Gerald Van Baren 93 16 Michal Simek 16
17 Tom Rix 87 17 Haavard Skinnemoen 13
18 Markus Klotzbuecher 80 18 TsiChung Liew 11
19 Peter Pearse 71 19 Shinya Kuribayashi 7
20 Shinya Kuribayashi 65 20 Gerald Van Baren 6
2000-2009 2009
22. Introduction Methodology Results Conclusions Thanks!
Repository analysis
TOP 20 authors
Author Commits Author Commits
1 Wolfgang Denk 2752 1 Wolfgang Denk 375
2 Stefan Roese 955 2 Mike Frysinger 285
3 Mike Frysinger 374 3 Peter Tyser 164
4 Kumar Gala 367 4 Jean-Christophe PLAGNIOL-VILLARD 147
5 Jean-Christophe PLAGNIOL-VILLARD 358 5 Stefan Roese 133
6 Jon Loeliger 293 6 Kumar Gala 106
7 Peter Tyser 195 7 Heiko Schocher 54
8 TsiChung Liew 165 8 Sandeep Paulraj 49
9 Matthias Fuchs 145 9 Matthias Fuchs 45
10 Heiko Schocher 143 10 Tom Rix 45
11 Marian Balakowicz 132 11 Graeme Russ 40
12 Haavard Skinnemoen 126 12 Prafulla Wadaskar 37
13 Kim Phillips 115 13 Dirk Behme 34
14 Michal Simek 115 14 Anton Vorontsov 32
15 Nobuhiro Iwamatsu 109 15 Kim Phillips 28
16 Dave Liu 91 16 Paul Gortmaker 24
17 Andy Fleming 84 17 Detlev Zundel 23
18 Shinya Kuribayashi 78 18 David Brownell 23
19 Anton Vorontsov 77 19 Alessandro Rubini 22
20 Ben Warren 74 20 Haiying Wang 22
2000-2009 2009
29. Introduction Methodology Results Conclusions Thanks!
Mixed analysis
Outline
1 Introduction
History
2 Methodology
Tools
Data sources
Analysis
3 Results
Repository analysis
Mailing list analysis
Mixed analysis
4 Conclusions
30. Introduction Methodology Results Conclusions Thanks!
Mixed analysis
Who is behind?
COMPANY CUSTODIAN RANK
Wolfgang Denk DENX MAIN/MPC 120
Jean-Christophe PV JCROSOFT - 106
Stefan Roese DENX CFI/PPC4xx 105
Mike Frysinger AD/GENTOO BLACKFIN 102
Kumar Gala FREESCALE MPC85xx 99
Peter Tyser XES-INC PASemi 60
Kim Phillips FREESCALE MPC83xx 58
Scott Wood FREESCALE NAND 52
Heiko Schocher DENX I2C 49
Tom Rix WINDRIVER ARM 49
Jon Loeliger FREESCALE MPC86xx 41
Ben Warren Network Library 39
Andy Fleming FREESCALE MMC/MPC85xx 30
Matthias Fuchs - 24
Haavard Skinnemoen ATMEL AVR32 21
31. Introduction Methodology Results Conclusions Thanks!
Community
Clear Onion Model
Wolfgang Denk is the maintainer and most active developer
Repository activity independent of maintainer activity
Denx supported project (git, mailing list, wiki, ...)
Major semiconductor companies supporting the project
Core team remains almost unchanged over the time
Repository activity decreasing the last months
Mailing list activity still increasing
32. Introduction Methodology Results Conclusions Thanks!
Who is Wolfgang Denk?
He is the Maintainer.
He is the ”Benevolent Dictator for Life”.
Top committer, author, coder, mailer.
Graduated with honours in civil engineering from Ilmenau Institute of
Technology
Worked at Friedrich Schiller University, PCS Computer Systeme, Siemens
AG, ICN
Has done porting, driver, and release work with Unix since 1983
Founded Denx Software Engineering in 1999, and Denx Computer
Systems in 2000
He says he has never worked under any sort of MS-DOS or Windows OS,
”and never will, I guess.”
Both Denx companies are 100 percent Microsoft-free
33. Introduction Methodology Results Conclusions Thanks!
U-Boot health
Activity decreasing!!!
U-Boot has already the major features implemented, so the work
to be done is to port to new architectures/boards. This issue
requires less code/commits than feature adding.
Overall activity still increasing and major
semiconductor companies supporting the
project predict a healthy future for the most
spread embedded bootloader