More Related Content Similar to Comparing Popular Eclipse Development Projects (20) More from Black Duck by Synopsys (20) Comparing Popular Eclipse Development Projects2. About Black Duck Software
Build better software faster by automating and managing the
acquisition and governance of open source
OSS info, e.g. GitHub, Maven, …
KnowledgeBase
Governance
Acquire Approve Catalog Validate Monitor
Plan Code Build Test Release
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved.
3. Agenda
ohloh
Comparing popular Eclipse & Java projects
Comparing Eclipse projects
Summary
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 3
4. Free FOSS directory & developer community
www.ohloh.net (Forge, repository and language neutral)
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 4
5. Analysis of languages found in open source software
Total lines of Java found in open source
See who contributes to open source
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved.
6. Compare Projects
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved.
10. Adding Quality Data to ohloh
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved.
11. Agenda
Ohloh
Comparing popular Eclipse & Java projects
Comparing Eclipse projects
Summary
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 11
12. Comparing Popular Eclipse & Java Projects
Benchmark for comparisons
– Top 100 Java projects on ohloh measured by # of users
– Top 20 Eclipse projects on ohloh measured by # of users
Commits LOC Comitters LOC/Commit LOC/Committer Comment %
Top 20 Eclipse Projects 15,355 1,162,697 48 76 24,223 29%
Top 100 Java Projects 9,550 1,264,440 52 132 24,316 33%
Popular Eclipse projects compared to Java projects:
– More commits with fewer committers
– LoC per commit are lower reflecting more frequent commits
– Average in LOC/committer
– Below average in comment line % of Total LOC
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 12
13. Agenda
ohloh
Comparing popular Eclipse & Java projects
Comparing Eclipse projects
Summary
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 13
14. Comparing Top 20 Eclipse Projects (users)
Rank (Users) Eclipse Project Name
1 Eclipse Platform Project
2 Subclipse
3 Eclipse Java Development Tools (JDT)
4 Eclipse Web Tools Platform (WTP)
5 Eclipse PDT
6 Eclipse Mylyn
7 Maven Integration for Eclipse
8 Eclipse Ant Plugin
9 CDT (Eclipse)
10 Eclipse Checkstyle Plugin
11 Eclipse BIRT
12 MercurialEclipse
13 Eclipse DLTK - Dynamic Languages Toolkit
14 EPIC - Eclipse Perl Integration
15 CFEclipse
16 Eclipse Communication Framework
17 TestNG-Eclipse
18 EclipseLink
19 Eclipse Scout
20 Acceleo - Eclipse
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 14
15. # of Committers
Average is 48, three large projects (>100 committers)
Rank
(Users) Eclipse Project Name Committers
1 Eclipse Platform Project 177
2 Subclipse 24
3 Eclipse Java Development Tools (JDT) 173
4 Eclipse Web Tools Platform (WTP) 115 Committers
5 Eclipse PDT 23 200
6 Eclipse Mylyn 46 180
7 Maven Integration for Eclipse 13 160
8 Eclipse Ant Plugin 23 140
9 CDT (Eclipse) 72 120
10 Eclipse Checkstyle Plugin 6 100
11 Eclipse BIRT 82 80
12 MercurialEclipse 69 60
13 Eclipse DLTK - Dynamic Languages Toolkit 15 40
14 EPIC - Eclipse Perl Integration 9 20
15 CFEclipse 12 0
16 Eclipse Communication Framework 42 0 5 10 15 20
17 TestNG-Eclipse 8
18 EclipseLink 34
19 Eclipse Scout 9
20 Acceleo - Eclipse 5
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 15
16. Commits vs Committers
Strong positive correlation of commits with # of
committers (CC= 0.97)
Rank
(Users) Eclipse Project Name Committers Commits
1 Eclipse Platform Project 177 76820
2 Subclipse 24 3703
3 Eclipse Java Development Tools (JDT) 173 75552 Commits
4 Eclipse Web Tools Platform (WTP) 115 38780
90000
5 Eclipse PDT 23 6314
80000
6 Eclipse Mylyn 46 15525
70000
7 Maven Integration for Eclipse 13 974
8 Eclipse Ant Plugin 23 5479 60000
9 CDT (Eclipse) 72 20448 50000
10 Eclipse Checkstyle Plugin 6 835 40000
11 Eclipse BIRT 82 26877 30000
12 MercurialEclipse 69 3110 20000
13 Eclipse DLTK - Dynamic Languages Toolkit 15 8470 10000
14 EPIC - Eclipse Perl Integration 9 1674
0
15 CFEclipse 12 710 0 50 100 150 200
16 Eclipse Communication Framework 42 11275
17 TestNG-Eclipse 8 437
18 EclipseLink 34 7238
19 Eclipse Scout 9 930
20 Acceleo - Eclipse 5 1951
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 16
17. LoC vs # of Committers
Hypothesis: LoC in a project increases with # of
committers
Good correlation between # of Committers and LoC in
a project (CC = 0.67)
Eclipse Project Name Committers LoC
Eclipse Platform Project 177 1879306
Subclipse 24 93022
Eclipse Java Development Tools (JDT) 173 1991627
Eclipse Web Tools Platform (WTP) 115 5339222 LoC vs. Committers
Eclipse PDT 23 250291 6000000
Eclipse Mylyn 46 305913
Maven Integration for Eclipse 13 76837 5000000
Eclipse Ant Plugin 23 44454
4000000
CDT (Eclipse) 72 1057602
Eclipse Checkstyle Plugin 6 44886 3000000
Eclipse BIRT 82 1415398
MercurialEclipse 69 52591 2000000
Eclipse DLTK - Dynamic Languages Toolkit 15 683368
1000000
EPIC - Eclipse Perl Integration 9 77558
CFEclipse 12 89971 0
Eclipse Communication Framework 42 514393 0 50 100 150 200
TestNG-Eclipse 8 21937
EclipseLink 34 1394565
Eclipse Scout 9 298007
Acceleo - Eclipse 5 138365
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 17
18. LoC/Commit vs # of Committers
Hypothesis: as # of Committers increases, LoC/Commit
decreases
Low negative correlation between the two (CC = -0.24)
Eclipse Project Name LoC/Commit Committers
Eclipse Platform Project 24 177
Subclipse 25 24
Eclipse Java Development Tools (JDT) 26 173
Eclipse Web Tools Platform (WTP) 138 115
Eclipse PDT 40 23 LoC/Commit vs Committers
Eclipse Mylyn 20 46
200
Maven Integration for Eclipse 79 13
180
Eclipse Ant Plugin 8 23
160
CDT (Eclipse) 52 72
140
Eclipse Checkstyle Plugin 54 6
120
Eclipse BIRT 53 82
100
MercurialEclipse 17 69
80
Eclipse DLTK - Dynamic Languages Toolkit 81 15
60
EPIC - Eclipse Perl Integration 46 9
40
CFEclipse 127 12
20
Eclipse Communication Framework 46 42
0
TestNG-Eclipse 50 8 0 50 100 150 200 250 300 350
EclipseLink 193 34
Eclipse Scout 320 9
Acceleo - Eclipse 71 5
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 18
19. Comparing Eclipse Projects Over Time
Eclipse Platform Eclipse Web Tools Eclipse Java Dev Eclipse C/C++ Dev Eclipse Eclipse DLTK - Eclipse PHP Dev
Project Platform (WTP) Tools (JDT) Tools (CDT) BIRT Dynamic Tools (PDT)
Langs
All Time / Total
Committers 177 115 173 73 82 15 23
Committs 76,820 38,780 75,559 20,457 26,877 8,470 6,325
Total Lines of Code 2,178,652 10,315,143 2,135,364 1,207,765 2,147,714 742,831 266,416
Age ~10 years ~ 8 years ~ 10 years ~9 years ~7 years ~4 years ~5 years
12 Month Activity
Committers 49 54 46 45 23 6 4
30 Day Activity
Committers 19 23 23 13 No data 3 3
Commits 92 192 185 93 No data 59 30
Files Modified 137 954 319 442 No data 259 32
Lines Added 1,693 33,242 12,505 8,497 No data 3,193 806
Lines Removed 634 11,133 4,085 4,445 No data 1,509 242
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved. 19
20. Summary
Eclipse projects range in number of committers (5
to 177) based on functionality
Eclipse projects are more active (commits) than
Java projects, but have fewer committers
Eclipse projects are average in LoC,
LoC/Committer, and below average in LoC/commit
& comment %
Ohloh is a free, versatile resource
– Use it to run analyses that are meaningful to you
– Make sure your profile is up to date and all your projects
are registered
– If you are not an Ohloh user, consider registering
Copyright © 2011 Black Duck Software, Inc. All Rights Reserved.
Editor's Notes Adding analysis for many common indicators of code qualityLines of code, # of classes/packages => overall project complexityLines of Code to comment ration => ease of consumption; maintainabilityUnit test coverage => project qualityCode quality => project quality; maintainabilityCode complexity => project maintainability When projects begin small teams write most of the codeAs projects grow new committers are added but maybe working on bug fixes or smaller bit of functionality As project grows many people join slowing down the original teamAs project matures some of the original team move on.