<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:0px 0px 1.2em!important">This may be a heretical idea, and it’s definitely not something anyone is likely to take on anytime soon, but I’d like to put it up for discussion and see what people think.</p>
<p style="margin:0px 0px 1.2em!important">I often find myself wanting to show gratitude to the authors or maintainers of a package by giving money. Most of the time, it is easier for me to give money than time. After all, contributing time in a meaningful way to a project can be quite difficult. I wonder how many others find themselves in a similar situation, wanting to chip a few bucks in as a token of gratitude for someone’s work, either one-time or on an ongoing basis.</p>
<p style="margin:0px 0px 1.2em!important">You can already do this today, of course, with services like PayPal, <a href="https://gratipay.com/">Gratipay</a>, and <a href="https://salt.bountysource.com/">Salt</a>. But the process is scattered and different for each Python package and the group of people behind it. What’s more, it seems wrong that these third-party services should capture some of the value generated by the Python community (e.g. by charging some transaction fee) without any of it going back to support that community (e.g. via the PSF).</p>
<p style="margin:0px 0px 1.2em!important">So that raises the question: How about if people could contribute money to the people behind projects they felt grateful for via PyPI? PyPI is already the community’s central package hub. Perhaps it could also be the community’s central hub for contributing money.</p>
<p style="margin:0px 0px 1.2em!important">The central goal would be to create a low-friction ecosystem of monetary contributions that benefits Python package authors/maintainers, as well as the larger Python ecosystem. At a high-level, the ecosystem would be opt-in, and contributions would go directly to their intended recipients, with tiny cuts of each transaction going to the payment processor and some Python community organization like the PSF.</p>
<p style="margin:0px 0px 1.2em!important">I know a more concrete proposal would have to address a lot of details (e.g. like how to split contributions across multiple maintainers), and perhaps there is no way to find the resources to build or maintain such a thing in the first place. But just for now I’d like to separate essence of idea from the practical concerns of implementing it.</p>
<p style="margin:0px 0px 1.2em!important">Assume the work is already done, and we have such a system of monetary contributions in place today. My questions are:</p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Would such a system benefit the Python community?</li>
<li style="margin:0.5em 0px">Would the cut of transactions that went to the PSF (or similar) be enough to cover the cost of maintaining the system and meaningfully impact other Python efforts?</li>
<li style="margin:0.5em 0px">Would such a system create perverse incentives?</li>
<li style="margin:0.5em 0px">Would it just be a dud that very few people would use?</li>
</ul>
<p style="margin:0px 0px 1.2em!important">I’m trying to get a feel for whether the idea has any potential. </p>
<p style="margin:0px 0px 1.2em!important">Nick</p>
<div title="MDH:VGhpcyBtYXkgYmUgYSBoZXJldGljYWwgaWRlYSwgYW5kIGl0J3MgZGVmaW5pdGVseSBub3Qgc29t
ZXRoaW5nIGFueW9uZSBpcyBsaWtlbHkgdG8gdGFrZSBvbiBhbnl0aW1lIHNvb24sIGJ1dCBJJ2Qg
bGlrZSB0byBwdXQgaXQgdXAgZm9yIGRpc2N1c3Npb24gYW5kIHNlZSB3aGF0IHBlb3BsZSB0aGlu
ay48ZGl2Pjxicj48ZGl2Pkkgb2Z0ZW4gZmluZCBteXNlbGYgd2FudGluZyB0byBzaG93IGdyYXRp
dHVkZSB0byB0aGUgYXV0aG9ycyBvciBtYWludGFpbmVycyBvZiBhIHBhY2thZ2UgYnkgZ2l2aW5n
IG1vbmV5LiBNb3N0IG9mIHRoZSB0aW1lLCBpdCBpcyBlYXNpZXIgZm9yIG1lIHRvIGdpdmUmbmJz
cDs8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6MS41Ij5tb25leSB0aGFuIHRpbWUuIEFmdGVyIGFs
bCwgY29udHJpYnV0aW5nIHRpbWUgaW4gYSBtZWFuaW5nZnVsIHdheSB0byBhIHByb2plY3QgY2Fu
IGJlIHF1aXRlIGRpZmZpY3VsdC4gSSB3b25kZXIgaG93IG1hbnkgb3RoZXJzIGZpbmQgdGhlbXNl
bHZlcyBpbiBhIHNpbWlsYXIgc2l0dWF0aW9uLCB3YW50aW5nIHRvIGNoaXAgYSBmZXcgYnVja3Mg
aW4gYXMgYSB0b2tlbiBvZiBncmF0aXR1ZGUgZm9yIHNvbWVvbmUncyB3b3JrLCBlaXRoZXIgb25l
LXRpbWUgb3Igb24gYW4gb25nb2luZyBiYXNpcy48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHls
ZT0ibGluZS1oZWlnaHQ6MS41Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9Imxp
bmUtaGVpZ2h0OjEuNSI+WW91IGNhbiBhbHJlYWR5IGRvIHRoaXMgdG9kYXksIG9mIGNvdXJzZSwg
d2l0aCBzZXJ2aWNlcyBsaWtlIFBheVBhbCwgW0dyYXRpcGF5XSg8L3NwYW4+PGEgaHJlZj0iaHR0
cHM6Ly9ncmF0aXBheS5jb20vIiB0YXJnZXQ9Il9ibGFuayIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9
Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP3E9aHR0cHM6Ly9ncmF0aXBheS5jb20vJmFtcDtz
b3VyY2U9Z21haWwmYW1wO3VzdD0xNDY5MzgzMDE4Mjc5MDAwJmFtcDt1c2c9QUZRakNORW9YT3Bn
OEd2Q2ltVUVjaUVJak83VHpCVy1zQSI+aHR0cHM6Ly9ncmF0aXBheS48d2JyPmNvbS88L2E+PHNw
YW4gc3R5bGU9ImxpbmUtaGVpZ2h0OjEuNSI+KSwgYW5kIFtTYWx0XSg8L3NwYW4+PGEgaHJlZj0i
aHR0cHM6Ly9zYWx0LmJvdW50eXNvdXJjZS5jb20vIiB0YXJnZXQ9Il9ibGFuayIgZGF0YS1zYWZl
cmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP3E9aHR0cHM6Ly9zYWx0LmJv
dW50eXNvdXJjZS5jb20vJmFtcDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNDY5MzgzMDE4Mjc5MDAw
JmFtcDt1c2c9QUZRakNOSGJEbVR2TUxtOHd5bmZ4YXhrXzNsZVR3Wk9kUSI+aHR0cHM6Ly9zYWx0
Ljx3YnI+Ym91bnR5c291cmNlLmNvbS88L2E+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OjEuNSI+
KS4gQnV0IHRoZSBwcm9jZXNzIGlzIHNjYXR0ZXJlZCBhbmQgZGlmZmVyZW50IGZvciBlYWNoIFB5
dGhvbiBwYWNrYWdlIGFuZCB0aGUgZ3JvdXAgb2YgcGVvcGxlIGJlaGluZCBpdC4gV2hhdCdzIG1v
cmUsIGl0IHNlZW1zIHdyb25nIHRoYXQgdGhlc2UgdGhpcmQtcGFydHkgc2VydmljZXMgc2hvdWxk
IGNhcHR1cmUgc29tZSBvZiB0aGUgdmFsdWUgZ2VuZXJhdGVkIGJ5IHRoZSBQeXRob24gY29tbXVu
aXR5IChlLmcuIGJ5IGNoYXJnaW5nIHNvbWUgdHJhbnNhY3Rpb24gZmVlKSB3aXRob3V0IGFueSBv
ZiBpdCBnb2luZyBiYWNrIHRvIHN1cHBvcnQgdGhhdCBjb21tdW5pdHkgKGUuZy4gdmlhIHRoZSBQ
U0YpLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDoxLjUiPjxicj48
L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6MS41Ij5TbyB0aGF0IHJh
aXNlcyB0aGUgcXVlc3Rpb246IEhvdyBhYm91dCBpZiBwZW9wbGUgY291bGQgY29udHJpYnV0ZSBt
b25leSB0byB0aGUgcGVvcGxlIGJlaGluZCBwcm9qZWN0cyB0aGV5IGZlbHQgZ3JhdGVmdWwgZm9y
IHZpYSBQeVBJPyBQeVBJIGlzIGFscmVhZHkgdGhlIGNvbW11bml0eSdzIGNlbnRyYWwgcGFja2Fn
ZSBodWIuIFBlcmhhcHMgaXQgY291bGQgYWxzbyBiZSB0aGUgY29tbXVuaXR5J3MgY2VudHJhbCBo
dWIgZm9yIGNvbnRyaWJ1dGluZyBtb25leS48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i
bGluZS1oZWlnaHQ6MS41Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImxpbmUt
aGVpZ2h0OjEuNSI+VGhlIGNlbnRyYWwgZ29hbCB3b3VsZCBiZSB0byBjcmVhdGUgYSBsb3ctZnJp
Y3Rpb24gZWNvc3lzdGVtIG9mIG1vbmV0YXJ5IGNvbnRyaWJ1dGlvbnMgdGhhdCBiZW5lZml0cyBQ
eXRob24gcGFja2FnZSBhdXRob3JzL21haW50YWluZXJzLCBhcyB3ZWxsIGFzIHRoZSBsYXJnZXIg
UHl0aG9uIGVjb3N5c3RlbS4gQXQgYSBoaWdoLWxldmVsLCB0aGUgZWNvc3lzdGVtIHdvdWxkIGJl
IG9wdC1pbiwgYW5kIGNvbnRyaWJ1dGlvbnMgd291bGQgZ28gZGlyZWN0bHkgdG8gdGhlaXIgaW50
ZW5kZWQgcmVjaXBpZW50cywgd2l0aCB0aW55IGN1dHMgb2YgZWFjaCB0cmFuc2FjdGlvbiBnb2lu
ZyB0byB0aGUgcGF5bWVudCBwcm9jZXNzb3IgYW5kIHNvbWUgUHl0aG9uIGNvbW11bml0eSBvcmdh
bml6YXRpb24gbGlrZSB0aGUgUFNGLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJsaW5l
LWhlaWdodDoxLjUiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWln
aHQ6MS41Ij5JIGtub3cgYSBtb3JlIGNvbmNyZXRlIHByb3Bvc2FsIHdvdWxkIGhhdmUgdG8gYWRk
cmVzcyBhIGxvdCBvZiBkZXRhaWxzIChlLmcuIGxpa2UgaG93IHRvIHNwbGl0IGNvbnRyaWJ1dGlv
bnMgYWNyb3NzIG11bHRpcGxlIG1haW50YWluZXJzKSwgYW5kIHBlcmhhcHMgdGhlcmUgaXMgbm8g
d2F5IHRvIGZpbmQgdGhlIHJlc291cmNlcyB0byBidWlsZCBvciBtYWludGFpbiBzdWNoIGEgdGhp
bmcgaW4gdGhlIGZpcnN0IHBsYWNlLiBCPC9zcGFuPjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDog
MS41OyI+dXQganVzdCBmb3Igbm93IEknZCBsaWtlIHRvIHNlcGFyYXRlIGVzc2VuY2Ugb2YgaWRl
YSBmcm9tIHRoZSBwcmFjdGljYWwgY29uY2VybnMgb2YgaW1wbGVtZW50aW5nIGl0Ljwvc3Bhbj48
L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS41OyI+PGJyPjwvc3Bhbj48L2Rp
dj48ZGl2PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS41OyI+QXNzdW1lIHRoZSB3b3JrIGlz
IGFscmVhZHkgZG9uZSwgYW5kIHdlIGhhdmUgc3VjaCBhIHN5c3RlbSBvZiBtb25ldGFyeSBjb250
cmlidXRpb25zIGluIHBsYWNlIHRvZGF5LiBNeSBxdWVzdGlvbnMgYXJlOjwvc3Bhbj48L2Rpdj48
ZGl2PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS41OyI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2
PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS41OyI+KiBXb3VsZCBzdWNoIGEgc3lzdGVtIGJl
bmVmaXQgdGhlIFB5dGhvbiBjb21tdW5pdHk/PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9
ImxpbmUtaGVpZ2h0OiAxLjU7Ij4qIFdvdWxkIHRoZSBjdXQgb2YgdHJhbnNhY3Rpb25zIHRoYXQg
d2VudCB0byB0aGUgUFNGIChvciBzaW1pbGFyKSBiZSBlbm91Z2ggdG8gY292ZXIgdGhlIGNvc3Qg
b2YgbWFpbnRhaW5pbmcgdGhlIHN5c3RlbSBhbmQgbWVhbmluZ2Z1bGx5IGltcGFjdCBvdGhlciBQ
eXRob24gZWZmb3J0cz88L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6
IDEuNTsiPiogV291bGQgc3VjaCBhIHN5c3RlbSBjcmVhdGUgcGVydmVyc2UgaW5jZW50aXZlcz88
L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNTsiPiogV291bGQg
aXQganVzdCBiZSBhIGR1ZCB0aGF0IHZlcnkgZmV3IHBlb3BsZSB3b3VsZCB1c2U/PC9zcGFuPjwv
ZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjU7Ij48YnI+PC9zcGFuPjwvZGl2
PjxkaXY+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjU7Ij5JJ20gdHJ5aW5nIHRvIGdldCBh
IGZlZWwgZm9yIHdoZXRoZXIgdGhlIGlkZWEgaGFzIGFueSBwb3RlbnRpYWwuJm5ic3A7PC9zcGFu
PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjU7Ij48YnI+PC9zcGFuPjwv
ZGl2PjxkaXY+TmljazwvZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div>