{"id":945,"date":"2019-03-20T22:29:44","date_gmt":"2019-03-20T20:29:44","guid":{"rendered":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=945"},"modified":"2019-03-20T22:29:44","modified_gmt":"2019-03-20T20:29:44","slug":"call-for-help-graphing-debian-trends","status":"publish","type":"post","link":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=945","title":{"rendered":"Call for help: graphing Debian trends"},"content":{"rendered":"<p>It has been raised in various discussions how much it&#8217;s difficult to make large-scale changes in Debian.<\/p>\n<p>I think that one part of the problem is that we are not very good at tracking those large-scale changes, and I&#8217;d like to change that. A long time ago, I did some graphs about Debian (first in <a href=\"http:\/\/www.lucas-nussbaum.net\/blog\/?p=647\">2011<\/a>, then in <a href=\"https:\/\/www.lucas-nussbaum.net\/blog\/?p=751\">2013<\/a>, then again in <a href=\"https:\/\/www.lucas-nussbaum.net\/blog\/?p=891\">2015<\/a>). An example from 2015 is\u00a0given below, showing the market share of packaging helpers.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-894 size-full\" src=\"https:\/\/www.lucas-nussbaum.net\/blog\/wp-content\/uploads\/2015\/12\/helpers-2015.png\" alt=\"\" width=\"900\" height=\"600\" srcset=\"https:\/\/www.lucas-nussbaum.net\/blog\/wp-content\/uploads\/2015\/12\/helpers-2015.png 900w, https:\/\/www.lucas-nussbaum.net\/blog\/wp-content\/uploads\/2015\/12\/helpers-2015-300x200.png 300w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>Those were generated using a custom script. Since then, <em>classification tags<\/em> were added to lintian, and I&#8217;d like to institutionalize that a bit, to make it easier to track more trends in Debian, and maybe motivate people with switching to new packaging standards. This could include stuff like VCS used, salsa migration, debhelper compat levels, patch systems and source formats, but also stuff like systemd unit files vs traditional init scripts, hardening features, etc. The process would look like:<\/p>\n<ol>\n<li>Add <em>classification tags<\/em> to lintian for relevant stuff (maybe starting with being able to regenerate the graphs from 2015).<\/li>\n<li>Use lintian to scan all packages on snapshot.debian.org, which stores all packages ever uploaded to Debian (well, since 2005), and generate a dataset<\/li>\n<li>Generate\u00a0nice graphs<\/li>\n<\/ol>\n<p>Given my limited time available for Debian, I would totally welcome some help. I can probably take care of the second step (I actually did it recently on a subset of packages to check feasibility), but I would need:<\/p>\n<ul>\n<li>The help of someone with Perl knowledge, willing to modify lintian to add additional <em>classification tags<\/em>. There&#8217;s no need to be a Debian Developer, and lintian has an extensive test suite, that should make it quite fun to hack on. The code could either be integrated in lintian, or live in a lintian fork that would only be used to generate this data.<\/li>\n<li>Ideally (but that&#8217;s less important at this stage), the help of someone with web skills to generate a nice website.<\/li>\n<\/ul>\n<p>Let me know if you are interested.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It has been raised in various discussions how much it&#8217;s difficult to make large-scale changes in Debian. I think that one part of the problem is that we are not very good at tracking those large-scale changes, and I&#8217;d like to change that. A long time ago, I did some graphs about Debian (first in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-945","post","type-post","status-publish","format-standard","hentry","category-planetdebian"],"_links":{"self":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=945"}],"version-history":[{"count":1,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/945\/revisions"}],"predecessor-version":[{"id":946,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/945\/revisions\/946"}],"wp:attachment":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}