{"id":12067,"date":"2019-03-20T07:55:17","date_gmt":"2019-03-20T06:55:17","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=12067"},"modified":"2019-03-20T07:55:17","modified_gmt":"2019-03-20T06:55:17","slug":"happy-21st-curl","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2019\/03\/20\/happy-21st-curl\/","title":{"rendered":"Happy 21st, curl!"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"220\" height=\"185\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2008\/01\/birthdaycake.jpg\" alt=\"\" class=\"wp-image-253\"\/><\/figure><\/div>\n\n\n\n<p>Another year has passed. The curl project is now <strong>21<\/strong> years old.<\/p>\n\n\n\n<p>I think we can now say that it is a grown-up in most aspects. What have we accomplished in the project in these 21 years?<\/p>\n\n\n\n<p>We&#8217;ve done <strong>179<\/strong> releases. Number 180 is just a week away.<\/p>\n\n\n\n<p>We estimate that there are now roughly <strong>6 <\/strong><em><strong>billion<\/strong><\/em> curl installations world-wide. In phones, computers, TVs, cars, video games etc. With 4 billion internet users, that&#8217;s like<strong> 1.5 curl installation per Internet connected human on earth<\/strong><\/p>\n\n\n\n<p><strong>669<\/strong> persons have authored patches that was merged.<\/p>\n\n\n\n<p>The curl source code now consists of <strong>160,000<\/strong> lines of code made in over <strong>24,000<\/strong> commits.<\/p>\n\n\n\n<p><strong>1,927<\/strong> persons have helped out so far. With code, bug reports, advice, help and more.<\/p>\n\n\n\n<p>The curl repository also hosts <strong>429<\/strong> man pages with a total of <strong>36,900<\/strong> lines of documentation. That count doesn&#8217;t even include the separate project <em>Everything curl<\/em> which is a dedicated book on curl with an additional <strong>10,165<\/strong> lines.<\/p>\n\n\n\n<p>In this time we have logged more than <strong>4,900<\/strong> bug-fixes, out of which <strong>87<\/strong> were security related problems.<\/p>\n\n\n\n<p>We keep doing more and more CI builds, auto-builds, fuzzing and static code analyzing on our code day-to-day and non-stop. Each commit is now built and tested in over <strong>50<\/strong> different builds and environments and are checked by at least four different static code analyzers, spending upwards <strong>20-25<\/strong> CPU hours per commit.<\/p>\n\n\n\n<p>We have had <strong>2<\/strong> curl developer conferences, with the third curl up about to happen this coming weekend in Prague, Czech Republic.<\/p>\n\n\n\n<p>The curl project was created by me and I&#8217;m still the lead developer. Up until today, almost <strong>60%<\/strong> of the commits in the project have my name on them. I have done most commits per month in the project every single month since August 2015, and in <strong>186<\/strong> months out of the 232 months for which we have logged data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Another year has passed. The curl project is now 21 years old. I think we can now say that it is a grown-up in most aspects. What have we accomplished in the project in these 21 years? We&#8217;ve done 179 releases. Number 180 is just a week away. We estimate that there are now roughly &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2019\/03\/20\/happy-21st-curl\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Happy 21st, curl!<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":12119,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[32,33],"class_list":["post-12067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curl","tag-anniversary","tag-curl-and-libcurl"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/12067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=12067"}],"version-history":[{"count":9,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/12067\/revisions"}],"predecessor-version":[{"id":12120,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/12067\/revisions\/12120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/12119"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=12067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=12067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=12067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}