{"id":1997,"date":"2010-09-21T07:29:23","date_gmt":"2010-09-21T15:29:23","guid":{"rendered":"http:\/\/www.chesnok.com\/daily\/?p=1997"},"modified":"2012-03-26T02:51:56","modified_gmt":"2012-03-26T10:51:56","slug":"postgresql-9-0-contributions","status":"publish","type":"post","link":"https:\/\/www.chesnok.com\/daily\/2010\/09\/21\/postgresql-9-0-contributions\/","title":{"rendered":"PostgreSQL 9.0: contributions!"},"content":{"rendered":"<p>New releases are opportunities for reflection! <\/p>\n<p>As PostgreSQL grows, I would like to know how many people are contributing at any time. This is difficult to measure, given how many people contribute in ways not visible to the internet &#8211; advocating for PostgreSQL at work, sharing information about PostgreSQL offline in any way, or developing code related to PostgreSQL that isn&#8217;t shared directly back.<\/p>\n<p>PostgreSQL developers have a habit of mentioning the people involved in the development of features in the commit logs.  This includes people who discuss topics on the mailing list, who report bugs, provide test cases or send in patches. I spent a bit of time digging through the commit logs and pulling out unique names that are mentioned.  This is a lossy process, as the log files are long, names are not always easy to spot, and I only spent 6 hours going through it.<\/p>\n<p>I&#8217;ve made it through the 9.0 (16163 lines of logs) and 8.4 logs (21257 lines of logs) so far. <\/p>\n<p>Here&#8217;s some basic information about them: <\/p>\n<ul>\n<li><font size=\"+2\">8.4 logs mention about <strong>230<\/strong> unique people (11 committers)<\/font><\/li>\n<li><font size=\"+2\">9.0 logs mention about <strong>275<\/strong> unique people (16 committers)<\/font><\/li>\n<li>8.4 development contained 2293 commits with commits per author broken down below (click for a bigger version):<br \/>\n<a href=\"http:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/8.4commits.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/8.4commits-300x225.png\" alt=\"\" title=\"8.4commits\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-2010\" srcset=\"https:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/8.4commits-300x225.png 300w, https:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/8.4commits.png 600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n<\/li>\n<li>9.0 development contained 1703 commits, and the commits per author broken down below (click for a bigger version):\n<p><a href=\"http:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/9.0-commits.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/9.0-commits-300x207.png\" alt=\"\" title=\"9.0 commits\" width=\"300\" height=\"207\" class=\"aligncenter size-medium wp-image-2011\" srcset=\"https:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/9.0-commits-300x207.png 300w, https:\/\/www.chesnok.com\/daily\/wp-content\/uploads\/2010\/09\/9.0-commits.png 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n<\/li>\n<\/ul>\n<p>I&#8217;m working on graphs about number of lines inserted or deleted by each author, but need more time to work out the information presentation. Some interesting trends emerge about what the role of each committer is &#8211; particularly that there are a couple people who seem to be &#8220;gardeners&#8221; of the code &#8211; removing a lot of lines, sometimes more than they are adding. With a project as old as ours (first commit in 1996!), this maintenance work is critical.<\/p>\n<p>I also did some grepping for key words in the commit messages: <\/p>\n<table border=1>\n<tr>\n<th>word<\/th>\n<th>times mentioned<br \/> in 8.3<\/th>\n<th>times mentioned<br \/> in 8.4<\/th>\n<th>times mentioned<br \/> in 9.0<\/th>\n<\/tr>\n<tr>\n<td>review<\/td>\n<td>24<\/td>\n<td>14<\/td>\n<td>49<\/td>\n<\/tr>\n<tr>\n<td>cute<\/td>\n<td>29<\/td>\n<td>26<\/td>\n<td>25<\/td>\n<\/tr>\n<tr>\n<td>tom lane<\/td>\n<td>904<\/td>\n<td>901<\/td>\n<td>635<\/td>\n<\/tr>\n<tr>\n<td>gripe<\/td>\n<td>37<\/td>\n<td>48<\/td>\n<td>26<\/td>\n<\/tr>\n<tr>\n<td>hot standby<\/td>\n<td>0<\/td>\n<td>5<\/td>\n<td>48<\/td>\n<\/tr>\n<tr>\n<td>replication<\/td>\n<td>18<\/td>\n<td>4<\/td>\n<td>52<\/td>\n<\/tr>\n<\/table>\n<p>You&#8217;re welcome to explore our git repo at <a href=\"http:\/\/git.postgresql.org\/gitweb?p=postgresql.git\">git.postgresql.org<\/a>. Thanks to all the folks who worked on the git migration over the past few months, and finally made <a href=\"http:\/\/blog.hagander.net\/archives\/175-PostgreSQL-now-on-git!.html\">our transition from CVS to git complete<\/a> last night!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>New releases are opportunities for reflection! As PostgreSQL grows, I would like to know how many people are contributing at any time. This is difficult to measure, given how many people contribute in ways not visible to the internet &#8211; &hellip; <a href=\"https:\/\/www.chesnok.com\/daily\/2010\/09\/21\/postgresql-9-0-contributions\/\">Continue reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,9],"tags":[141,352,645,353,647],"class_list":["post-1997","post","type-post","status-publish","format-standard","hentry","category-postgres","category-postgresql","tag-code","tag-committers","tag-community","tag-contributions","tag-postgres"],"_links":{"self":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/1997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/comments?post=1997"}],"version-history":[{"count":10,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/1997\/revisions"}],"predecessor-version":[{"id":3955,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/1997\/revisions\/3955"}],"wp:attachment":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/media?parent=1997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/categories?post=1997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/tags?post=1997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}