{
    "archive_path": "archive/1781752091.874691",
    "base_url": "lobste.rs/s/aqk7vl/pull_requests_are_free_puppies",
    "basename": "pull_requests_are_free_puppies",
    "bookmarked_date": "2026-06-18 03:08",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/lobste.rs/s/aqk7vl/pull_requests_are_free_puppies",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=lobste.rs",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "lobste.rs",
    "downloaded_at": "2026-06-18T03:08:18.654489+00:00",
    "downloaded_datestr": "2026-06-18 03:08",
    "extension": "",
    "hash": "VG6JE5K4YKDHXV5ARW1F",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-06-18T03:10:03.087569+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies']' timed out after 60 seconds",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:09:03.016243+00:00",
                "status": "failed"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2026-06-18T03:08:37.697549+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:30.781695+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=lobste.rs"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-06-18T03:08:21.723632+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:18.976587+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-06-18T03:08:21.996251+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:21.757149+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2026-06-18T03:08:52.463937+00:00",
                "index_texts": [
                    "(/touch-icon-144.png) (/touch-icon.png) (/touch-icon.png) (/touch-icon-144.png) (/touch-icon-144.png) (/opensearch.xml) (Lobsters) (/favicon.ico) (https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies) Pull Requests are Free Puppies | Lobsters (/assets/application-c9cda8ea.css) (/assets/system-system-fd030c9d.css) (/assets/tom-select-00e8031d.css) (/assets/TomSelect_remove_button-4d5c34b9.css)  (/) (Lobsters (Current traffic: 0%))  (/active) Active (/recent) Recent (/comments) Comments (/search) Search (/login) Login   (/login) Login   (/login) 42  (https://www.youtube.com/watch?v=x8_ZZhRL3YU&t=1733s) Pull Requests are Free Puppies  (Lightly edited transcript of Richard Hipp, creator of SQLite, from 28'53\":\n> Suppose you had a pull request for SQLite. \"Hey, I've got this new feature for SQLite. Here's the pull request.\" When you want me to pull that into the tree, you say, \"Oh, it's free.\"  \n>  \n> No, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That...) (/s/aqk7vl/pull_requests_are_free_puppies) \u2636 (Link to a video) (/t/video) video (Use when every tag or no specific tag applies) (/t/programming) programming  (/domains/youtube.com) youtube.com via (/~ndr) (ndr avatar)  (/~ndr) ndr (2026-06-17 08:23:44) 13 hours ago |  caches (https://web.archive.org/web/3/https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dx8_ZZhRL3YU%26t%3D1733s) Archive.org  (https://ghostarchive.org/search?term=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dx8_ZZhRL3YU%26t%3D1733s) Ghostarchive    |  6\n              comments        Lightly edited transcript of Richard Hipp, creator of SQLite, from 28'53\": Suppose you had a pull request for SQLite. \"Hey, I've got this new feature for SQLite. Here's the pull request.\" When you want me to pull that into the tree, you say, \"Oh, it's free.\" No, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That's not free. Linus Torvalds is famous for saying there's free as in beer and free as in speech. But there's another kind of freedom: free as in puppies. \"Oh look, I've got a free puppy for you.\" You see where this is going? A pull request is a free puppy. And then you've just got a kennel full of puppies at the end of the day. And you can't just throw them out - you're morally obligated to take care of them for their natural life. I don't want any free puppies.    (SwR07-sGfjAS7qoXAv-dzlolt84HOIYj5YjV9b-_U0KQVx2i5s_jL8ZBBhNnZtzyyucExJ8O7qy9gvylVyDgnQ) (aqk7vl) (post) (You must be logged in to leave a comment.)  (Post) Preview          (10) (/login) 10   (/~typesanitizer) (typesanitizer avatar)  (/~typesanitizer) typesanitizer (/c/etpbbx) (2026-06-17 15:51:30) 6 hours ago      I believe the first person to come up with this metaphor was Scott Hanselman in 2006. (https://www.hanselman.com/blog/sandcastle-microsoft-ctp-of-a-help-chm-file-generator-on-the-tails-of-the-death-of-ndoc) https://www.hanselman.com/blog/sandcastle-microsoft-ctp-of-a-help-chm-file-generator-on-the-tails-of-the-death-of-ndoc  We are blessed. This Open Source stuff is free. But it's free like a puppy. It takes years of care and feeding. You don't get to criticise a free puppy that you bring in to your home.      (11) (/login) 11   (/~jrandomhacker) (jrandomhacker avatar)  (/~jrandomhacker) jrandomhacker (/c/aawixu) (2026-06-17 16:30:03) 5 hours ago      My favorite Secret Fourth Option to the \"Free as in beer /speech / puppy\" trifecta is \"free as in mattress\": look, it's all yours if you really want it, but I'd prefer a little more assurance of where it came from before I sleep on it.         (/~jrandomhacker) (jrandomhacker avatar)  (/~jrandomhacker) jrandomhacker (/c/xicgtv) (2026-06-17 16:30:04) 5 hours ago      [Comment removed by author]           (~) (/login) ~   (/~sumner) (sumner avatar)  (/~sumner) sumner (/c/ks9v99) (2026-06-17 17:32:00) 4 hours ago      PRs often feel more like \"pull requirements\" than \"pull requests\" This \"open source, closed contribution\" model is going to continue gaining in popularity. Ladybird just did this: (https://ladybird.org/posts/changing-how-we-develop-ladybird/) https://ladybird.org/posts/changing-how-we-develop-ladybird/      (~) (/login) ~   (/~markwatson) (markwatson avatar)  (/~markwatson) markwatson (/c/kvjuxw) (2026-06-17 21:20:20) 47 minutes ago      I'm very curious to see how this goes. There's always been a continuum of requirements for accepting patches. To completely block them means there's no shared ownership, so the community will never be engaged, hurting adoption. Most open source projects are successful because the community has a direct say in the direction, or they're funded by a big corporation. I'm not convinced the project will ever be very popular as a result. I've also always thought ladybird was overly ambitious, and would never have the resources to build a competitive browser. So I'm likely biased.         (~) (/login) ~   (/~ahelwer) (ahelwer avatar)  (/~ahelwer) ahelwer (/c/0oaf2a) (2026-06-17 19:51:26) 2 hours ago      Ignores pull requests as a way of cultivating a talent pool to take over maintainership of a project if you step away. But maybe that transition is so rarely successful that it is fine to ignore it.       (~) (/login) ~   (/~tbodt) (tbodt avatar)  (/~tbodt) tbodt (/c/s0vvlc) (2026-06-17 10:04:54) 12 hours ago      but concurrent writes...           (/about) About (/tags) Tags (/filters) Filter (/moderations) Moderation Log       "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:52.446499+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2026-06-18T03:09:02.949686+00:00",
                "index_texts": [],
                "output": "media/",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:55.293756+00:00",
                "status": "succeeded"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2026-06-18T03:08:52.412065+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:49.357921+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmplhejpp3n",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-06-18T03:08:41.373237+00:00",
                "index_texts": [
                    "Lightly edited transcript of Richard Hipp, creator of SQLite, from 28'53\":\n\nSuppose you had a pull request for SQLite. \"Hey, I've got this new feature for SQLite. Here's the pull request.\" When you want me to pull that into the tree, you say, \"Oh, it's free.\"\nNo, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That's not free.\nLinus Torvalds is famous for saying there's free as in beer and free as in speech. But there's another kind of freedom: free as in puppies. \"Oh look, I've got a free puppy for you.\" You see where this is going?\nA pull request is a free puppy. And then you've just got a kennel full of puppies at the end of the day. And you can't just throw them out - you're morally obligated to take care of them for their natural life.\nI don't want any free puppies."
                ],
                "output": "readability/",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:38.357888+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-06-18T03:08:37.746631+00:00",
                "index_texts": null,
                "output": "Pull Requests are Free Puppies | Lobsters",
                "pwd": "/data/archive/1781752091.874691",
                "schema": "ArchiveResult",
                "start_ts": "2026-06-18T03:08:37.734002+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "TimeoutExpired: Command '['/usr/bin/curl', '--silent', '--location', '--compressed', '--proxy', 'socks5://tor-socks-proxy:9150', '--head', '--max-time', '60', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)', 'https://web.archive.org/save/https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies']' timed out after 60 seconds",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "media/",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Pull Requests are Free Puppies | Lobsters",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1781752091.874691",
    "newest_archive_date": "2026-06-18T03:09:03.016243+00:00",
    "num_failures": 1,
    "num_outputs": 8,
    "oldest_archive_date": "2026-06-18T03:08:18.976587+00:00",
    "path": "/s/aqk7vl/pull_requests_are_free_puppies",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01KVCB6N8W0CA4B8A301JGS7BV",
    "snapshot_id": "1344dcdd-d576-473b-aa71-8076a50c9d7b",
    "sources": [
        "/data/sources/1781752090-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1781752091.874691",
    "title": "Pull Requests are Free Puppies | Lobsters",
    "url": "https://lobste.rs/s/aqk7vl/pull_requests_are_free_puppies"
}