{"id":19571,"date":"2022-07-21T00:00:15","date_gmt":"2022-07-20T22:00:15","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=19571"},"modified":"2022-07-21T00:00:15","modified_gmt":"2022-07-20T22:00:15","slug":"i-dont-know-who-uses-my-code","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2022\/07\/21\/i-dont-know-who-uses-my-code\/","title":{"rendered":"I don&#8217;t know who uses my code"},"content":{"rendered":"\n<p>When I (in spite of knowing better) talk to ordinary people about what I do for a living and the project I work on, one of the details about it that people have the hardest time to comprehend, is the fact that I really and truly don&#8217;t know a lot about who uses my code. (Or where. Or what particular features they use.)<\/p>\n\n\n\n<p>I work on <a href=\"https:\/\/curl.se\/\">curl<\/a> full-time and we ship releases frequently. Users download the curl source code from us, build curl and put it to use. Most of &#8220;my&#8221; users never tell me or anyone else in the curl project that they use curl or libcurl. This is of course perfectly fine and I probably could not even handle the flood if every user would tell me.<\/p>\n\n\n\n<p>This not-knowing is a most common situation for Open Source authors and projects. It is not unique for me.<\/p>\n\n\n\n<p>The <em>not knowing your users<\/em> is otherwise unusual in a world of products and software, and quite frankly, sometimes it is an obstacle for us as well since we lack a good way to communicate with users about plans, changes or ideas. It also makes it really hard to estimate our own success and the always-recurring question: <em>how many users do you have?<\/em><\/p>\n\n\n\n<p>To be fair: I <em>do<\/em> know quite a lot of users as well. But I don&#8217;t know how representative they are, nor how big fraction of the totals they consist of etc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to find out that someone uses your code<\/h2>\n\n\n\n<p>I wrote a section in <em><a href=\"https:\/\/un.curl.dev\/\">Uncurled<\/a><\/em> about <strong><a href=\"https:\/\/un.curl.dev\/people\/no-telling\">How to find out that someone uses your code<\/a><\/strong>, and these are three main ways I learn about users of my code:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>A user of my project runs into an issue and asks for help in a project forum &#8211; without hiding where they come from or what product they make.<\/li><li>While vanity-searching I find my project&#8217;s Open Source license mentioned for or bundled with a product or tool or device.<\/li><li>A user emails me asking funny questions about a product I never heard of, and then I realize they found my email because that product uses my code and the license has my email in it.<\/li><\/ol>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When I (in spite of knowing better) talk to ordinary people about what I do for a living and the project I work on, one of the details about it that people have the hardest time to comprehend, is the fact that I really and truly don&#8217;t know a lot about who uses my code. &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2022\/07\/21\/i-dont-know-who-uses-my-code\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">I don&#8217;t know who uses my code<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":13279,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,6],"tags":[33,19,510],"class_list":["post-19571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curl","category-floss","tag-curl-and-libcurl","tag-open-source","tag-uncurled"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/19571","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=19571"}],"version-history":[{"count":12,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/19571\/revisions"}],"predecessor-version":[{"id":19588,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/19571\/revisions\/19588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/13279"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=19571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=19571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=19571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}