{"id":19001511,"url":"https://github.com/bumi/bundler-thankyou","last_synced_at":"2025-04-22T17:48:19.862Z","repository":{"id":66382292,"uuid":"262138154","full_name":"bumi/bundler-thankyou","owner":"bumi","description":"bundle thankyou - a Bitcoin lightning based donation system for rubygems","archived":false,"fork":false,"pushed_at":"2020-05-13T09:31:08.000Z","size":46,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-17T08:59:20.679Z","etag":null,"topics":["bitcoin","bundler","bundler-plugin","donations","funding","lightning","lightning-network","lnd","opensource","rubygems"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bumi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-07T19:16:55.000Z","updated_at":"2025-04-10T22:16:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"f995c9e3-8ca7-4c58-a9a5-d9871d186c33","html_url":"https://github.com/bumi/bundler-thankyou","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bumi%2Fbundler-thankyou","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bumi%2Fbundler-thankyou/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bumi%2Fbundler-thankyou/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bumi%2Fbundler-thankyou/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bumi","download_url":"https://codeload.github.com/bumi/bundler-thankyou/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250290471,"owners_count":21406181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","bundler","bundler-plugin","donations","funding","lightning","lightning-network","lnd","opensource","rubygems"],"created_at":"2024-11-08T18:11:27.741Z","updated_at":"2025-04-22T17:48:19.843Z","avatar_url":"https://github.com/bumi.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Bundler::Thankyou\n## Lightning donation system for rubygems (and other package managers)\n\n### How does it work?\n\nbundler-thankyou analyzes a project's [gem](https://rubygems.org/) dependencies, extracts recipient information from the gemspecs and sends donations through the Bitcoin [lightning network](http://lightning.network/). \n\nNo additional central directory/service or signup is needed.\n\nThanks to lightning transactions happen anonymously directly between the funder and recipient.\n\n[![asciicast](https://asciinema.org/a/9MfCfcKLaKu4mp4lT9w4XHr2d.svg)](https://asciinema.org/a/9MfCfcKLaKu4mp4lT9w4XHr2d?autoplay=1)\n\n### Background\n\n#### What the author needs to do:\n\nThe gem author adds funding details to the gemspec (in the [metadata hash](https://guides.rubygems.org/specification-reference/#metadata)). This currently can either be a lightning node pubkey (that can receive keysend payments) or a LNURL.\n\nThat's it. That is all the author needs to do. \n\nThe author could also decide to dedicate the donations to somebody else. For example the rails gems could say thankyous should go to RailsGirls or similar projects. \n\n\n#### What the user/funder needs to do:\n\nConnect `bundler-thankyou` to a [LND](https://github.com/lightningnetwork/lnd) lightning node.\n\nThen run `bundle thankyou` and specify a desired amount. The amount will automatically be split among all the gems.\n\n#### Advantages\n\n* No signup whatsoever\n* User and maintainer do not need to agree on a service (like paypal) to perform the transaction\n* No central directories or custodial services\n* Based solely on existing tools (rubygems)\n* Implemented on a \"protocol level\" - additional service can be built on top of that (like subscriptions, etc.)\n* Works internationally\n* Usable at the moment where the user interacts with the gems (in the terminal running a bundle command)\n* Minimal fees and all the Bitcoin/Lightning advantages\n\n\n\n### Installation\n\nOr install it yourself as:\n\n    $ gem install bundler-thankyou\n\nOr you can add it to your Gemfile\n\n```ruby\ngem 'bundler-thankyou'\n```\n\n### Usage for gem maintainers\n\nbundler-thankyou builds on rubygems. Simply add a `funding` [metadata entry in your gemspec](https://guides.rubygems.org/specification-reference/#metadata).\n\nThe value is either your node's pubkey or a LNURL. \n\n#### For example:\n\n```ruby\nGem::Specification.new do |spec|\n  spec.metadata['funding'] = 'lightning:\u003cYOUR NODE PUBKEY OR YOUR LNURL'\nend\n```\n\nFull example: [bundler-thankyou.gemspec](https://github.com/bumi/bundler-thankyou/blob/01094cc4333be6ce65888de6ba0c4b1ff31ee384/bundler-thankyou.gemspec#L18)\n\nOnce the gem is pushed to [rubygems](https://rubygems.org) you're ready to receive thankyous.\n\n\n### Usage for funders\n\nuse the `bundler-thankyou` command to fund your favorite gems. \n\n#### Send a thankyou to all gems in your Gemfile\n\n    # in your project folder run:\n    $ bundle thankyou \n\nHave a look at this [example screencast](https://asciinema.org/a/9MfCfcKLaKu4mp4lT9w4XHr2d)\n\n#### Send a thankyou to a specific gem\n\n    $ bundler-thankyou fund \u003cgem name\u003e\n    \n    $ bundler-thankyou fund lnurl\n    \nHave a look at this [example screencast](https://asciinema.org/a/Aki6htjyMcl3MbIWNUv7S1YgH)\n\n\n#### Connect the lightning node\n\nHave a look at this [how to screencast](https://asciitinyformsnema.org/a/0SefAba4EH9mtFq8V5lazH4yh)\n\n    $ bundler-thankyou setup\n    # follow the instructions and provide the host, cert file and macaroon file to your LND node\n\n\n#### Help for more details\n\n    $ bundler-thankyou --help\n\n\n### Questions?\n\n#### Why Bitcoin? \n\nIt is pretty much the only adopted solution to build such things.\n\n#### But I want to pay with credit card (or whatever else)\n\nBitcoin is used as a method/\"protocol\" to transfer value. \n\nWe could provide additional services (for both user and project separately) to better fit their needs - for example different payment methods, subscriptions, etc. \n\n#### But I want to receive payments on my credit card\n\nAgain Bitcoin is the \"protocol\". There are already plenty tools out there that for example give you a visa/master card for spending the received bitcoins. \n\n#### Why is it called Bundler Thankyou\n\n[Bundler](https://bundler.io/) is the tool to manage dependencies in the ruby world.\n\n\n### A comment about money\n\nI am very critical about the human perception of the \"payment\". I do not want it to feel like I've \"paid\" somebody for something.   \nThe tone/message is super important and it should not be \"payment\" but a way of saying \"thank you\"... thus bundle thankyou. \n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/bumi/bundler-thankyou.\n\n\n## Contact\n\nIf you have questions, feedback, ideas please contact me... or even better open an issue. \n\nMichael Bumann  \n[@bumi](http://twitter.com/bumi)  \n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbumi%2Fbundler-thankyou","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbumi%2Fbundler-thankyou","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbumi%2Fbundler-thankyou/lists"}