| Literature DB >> 34555061 |
Tadeusz Chełkowski1, Dariusz Jemielniak1, Kacper Macikowski1.
Abstract
As Free and Open Source Software (FOSS) increases in importance and use by global corporations, understanding the dynamics of its communities becomes critical. This paper measures up to 21 years of activities in 1314 individual projects and 1.4 billion lines of code managed. After analyzing the FOSS activities on the projects and organizations level, such as commits frequency, source code lines, and code comments, we find that there is less activity now than there was a decade ago. Moreover, our results suggest a greater decrease in the activities in large and well-established FOSS organizations. Our findings indicate that as technologies and business strategies related to FOSS mature, the role of large formal FOSS organizations serving as intermediary between developers diminishes.Entities:
Mesh:
Year: 2021 PMID: 34555061 PMCID: PMC8460050 DOI: 10.1371/journal.pone.0257192
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Fig 1Emails, topics and authors.
Source: https://projects.apache.org/statistics.html.
The list of variables, with types and source classification.
| Variable name | Description | Variable type | Source |
|---|---|---|---|
| Organization name | Open Source Software Organization name | Classification variable | Collected from the Data Source |
| Project name | Name of the Open source project | Classification variable | Collected from the Data Source |
| Organization size | Classification of the organization size—Large, Medium or Small. | Classification variable | Calculated, using managed projects number as a determination criterion. |
| Lines of code added | Number of code lines added in the observed time (one month). | Main quantitative variable | Collected from the Data Source |
| Lines of comments added | Number of comments lines added in the observed time (one month) | Main quantitative variable | Collected from the Data Source |
| Blank Lines added | Number of blank lines added in the observed time (one month) | Supporting quantitative variable | Collected from the Data Source |
| Commits | Number of commits lines added in the observed time (one month) | Main quantitative variable | Collected from the Data Source |
| Lines of code removed | Number of code lines removed from the code commit-to-commit comparison in the observed time (one month) | Supporting quantitative variable | Collected from the Data Source |
| Lines comments Removed | Number of comments lines removed from the code commit-to-commit comparison in the observed time (one month) | Supporting quantitative variable | Collected from the Data Source |
| Blank lines removed | Number of blank code lines removed from the code commit-to-commit comparison in the observed time (one month) | Supporting quantitative variable | Collected from the Data Source |
| Code per commits (CODPC) | Calculated value. Code/commits. Variable calculated for all collected cases. | Supporting variable. | Calculated variable. |
| Comments per commit (COMPC) | Calculated value. Comments/commits. Variable calculated for all collected cases. | Supporting variable. | Calculated variable. |
| Comments per code (COMPCOD) | Calculated value. Comments/code. Variable calculated for all collected cases. | Supporting variable. | Calculated variable. |
| Year | Time variable, observation year. | Main data variable | Collected from the Data Source |
| Month | Time variable, observation month. | Main data variable | Collected from the Data Source |
Example of collected data record.
| Organization | Apache |
| Size | Large |
| Project | Apache Commons Math |
| code added | 257 |
| code removed | 891 |
| comments added | 24 |
| comments removed | 449 |
| blanks added | 17 |
| blanks removed | 136 |
| Commits | 10 |
| contributors | 1 |
| Year | 2016 |
| Month | 12 |
| CODPC | 25.7 |
| COMPC | 2.4 |
| COMPCOD | 0.093385214 |
Frequency distribution of collected observations.
| Frequency ( | Percent | Cumulative Percent | |
|---|---|---|---|
| Apache | 22762 | 26.5 | 26.5 |
| Debian | 3555 | 4.1 | 30.6 |
| Eclipse | 14666 | 17.0 | 47.6 |
| Gentoo | 1314 | 1.5 | 49.2 |
| GNOME | 245 | .3 | 49.5 |
| JBoss | 2821 | 3.3 | 52.7 |
| Kde | 18448 | 21.4 | 74.2 |
| Mozilla | 5866 | 6.8 | 81.0 |
| nasa | 1918 | 2.2 | 83.2 |
| openstack | 1091 | 1.3 | 84.5 |
| OSGeo | 3073 | 3.6 | 88.1 |
| OW2 | 2788 | 3.2 | 91.3 |
| OWASP | 1320 | 1.5 | 92.8 |
| tdf | 248 | .3 | 93.1 |
| wikimedia | 5909 | 6.9 | 100.0 |
Projects, commits and code size comparison.
| # of projects | ∑ commits | ∑ code added | ∑ code removed | |
|---|---|---|---|---|
| Large (#projects>100) | ||||
| apache | 343 | 1 828 824 | 407 946 922 | 275 627 732 |
| eclipse | 172 | 1 532 770 | 449 599 501 | 295 623 314 |
| kde | 204 | 4 619 403 | 768 319 949 | 521 996 888 |
| nasa | 111 | 96 374 | 44 976 530 | 25 955 044 |
| wikimedia | 168 | 1 164 674 | 63 501 047 | 44 812 409 |
| Medium (25<#projects<100) | ||||
| debian | 29 | 789 435 | 710 261 271 | 460 060 995 |
| JBoss | 35 | 583 720 | 164 351 117 | 117 092 382 |
| mozilla | 94 | 2 559 615 | 777 124 625 | 516 245 203 |
| OW2 | 40 | 501 288 | 519 017 687 | 260 478 326 |
| OWASP | 63 | 49 877 | 31 375 648 | 23 233 759 |
| Small (#projects< = 25) | ||||
| gentoo | 14 | 768 767 | 39 103 075 | 28 916 805 |
| GNOME | 1 | 523 280 | 37 933 312 | 28 153 328 |
| openstack | 13 | 926 429 | 76 950 341 | 51 594 436 |
| OSGeo | 25 | 383 002 | 70 590 585 | 48 623 746 |
| tdf | 2 | 399 726 | 60 838 350 | 41 705 135 |
| Total | 1 314 | 16 727 184 | 4 221 889 960 | 2 740 119 502 |
Fig 2Commits analysis in FOSS organizations 1997–2017.
Combined growth rates for large, medium and small FOSS organizations 1997–2017.
| Large | Medium | Small | |
|---|---|---|---|
| Trimmed mean (5%) | 25.59% | 30.21% | 35.68% |
| Mean | 28.27% | 56.17% | 44.42% |
| Max | 142.27% | 631.01% | 273.87% |
| Min | -34.88% | -25.42% | -18.95% |
Fig 3Source code committed in number of lines.
Mean COMPCOD (mean).
| Mean of comments lines per code line | |
|---|---|
| Large(#projects>100) | |
| apache | 0.61270 |
| eclipse | 0.51178 |
| kde | 0.32221 |
| nasa | 0.39455 |
| wikimedia | 0.32492 |
| Medium(25<#projects<100) | |
| debian | 0.30002 |
| JBoss | 0.43842 |
| mozilla | 0.44154 |
| OW2 | 0.68189 |
| OWASP | 2.48573 |
| Small(#projects< = 25) | |
| gentoo | 0.22984 |
| GNOME | 0.14378 |
| openstack | 0.20929 |
| OSGeo | 0.44055 |
| Tdf | 0.67851 |
Number of source code lines per commit (CODPC).
| Large(#projects>100) | Medium (25< #projects<100) | Small (#projects < = 25) | |
|---|---|---|---|
| 1997 | 159.6457 | 213.6047 | 188.9899 |
| 1998 | 121.7883 | 1367.6196 | 63.7804 |
| 1999 | 122.4032 | 99.2152 | 585.9229 |
| 2000 | 100.4900 | 95.5775 | 169.4701 |
| 2001 | 137.2856 | 129.0426 | 116.8105 |
| 2002 | 112.5782 | 169.6384 | 147.2365 |
| 2003 | 75.3101 | 217.3441 | 133.9808 |
| 2004 | 202.8971 | 304.0662 | 77.2385 |
| 2005 | 254.2520 | 251.1138 | 107.8710 |
| 2006 | 208.5257 | 484.9788 | 188.4939 |
| 2007 | 209.4148 | 373.9491 | 165.4688 |
| 2008 | 218.2877 | 374.0096 | 110.8150 |
| 2009 | 212.1694 | 300.7204 | 149.9105 |
| 2010 | 222.8003 | 296.1230 | 206.8572 |
| 2011 | 252.7280 | 376.7635 | 352.3639 |
| 2012 | 218.6569 | 715.4053 | 131.8826 |
| 2013 | 209.0371 | 500.2177 | 131.1219 |
| 2014 | 226.6461 | 612.1060 | 130.7347 |
| 2015 | 250.4403 | 1202.5672 | 102.1072 |
| 2016 | 215.5444 | 555.9114 | 105.3622 |
| 2017 | 227.4132 | 184.8912 | 143.2757 |
| Trimmed mean (5% bottom and 5% top) | 190.9870 | 387.4562 | 150.5258 |
| Average | 188.4912 | 420.2317 | 167.1283 |
| SD | 51.88962 | 251.80445 | 110.31318 |
Mean of comments line per code lines (COMPCOD).
| Mean values of comments lines per code line (COMPCOD) | |||
|---|---|---|---|
| Large(#projects>100) | Medium (25<#projects <100) | Small (#projects< = 25) | |
| 1997 | 0.15529 | 0.25613 | 0.16807 |
| 1998 | 0.14792 | 0.24806 | 0.21714 |
| 1999 | 0.21548 | 1.15850 | 0.31579 |
| 2000 | 0.26096 | 0.26674 | 0.28325 |
| 2001 | 0.31828 | 0.60631 | 0.23779 |
| 2002 | 0.28140 | 0.29048 | 0.33766 |
| 2003 | 0.47377 | 0.93073 | 0.65974 |
| 2004 | 1.36562 | 1.60681 | 0.37094 |
| 2005 | 0.42731 | 0.43290 | 0.36057 |
| 2006 | 1.07082 | 0.31924 | 0.31417 |
| 2007 | 0.37597 | 1.00306 | 0.27286 |
| 2008 | 0.63819 | 0.29977 | 0.26000 |
| 2009 | 0.36495 | 0.32552 | 0.28688 |
| 2010 | 0.64023 | 2.14643 | 0.95249 |
| 2011 | 0.35907 | 0.26990 | 0.23549 |
| 2012 | 0.44546 | 0.34084 | 0.49329 |
| 2013 | 0.33473 | 0.45488 | 0.24373 |
| 2014 | 0.31285 | 0.50129 | 0.22618 |
| 2015 | 0.29581 | 0.89144 | 0.33060 |
| 2016 | 0.41132 | 0.23855 | 0.32675 |
| 2017 | 0.59586 | 0.21995 | 0.22574 |
| Trimmed mean (5% bottom and 5% top) | 0.4199 | 0.5495 | 0.3157 |
| Mean | 0.4520 | 0.6099 | 0.3390 |
| SD | 0.27530 | 0.50011 | 0.16956 |