-
Notifications
You must be signed in to change notification settings - Fork 308
turn the ship #3399
Comments
I'm stuck thinking about the relationship between individuals, groups, and projects. I think #3337 is the cleanest way to go:
Projects would be what you give money to. But right now Users are what you give money to. We don't want to drop existing funding streams if we can at all help it. We want to give Users a way to migrate to a Project. Forcing migration before we process payments is okay since we're requiring acceptance of our new terms anyway. |
I'm not sure how to pull off this pivot without #3337. That's a fair chunk of work. |
Let's think about Participants (Users above) and Teams (Projects above). Currently Teams are a kind of Participant (those with A Team is a group of people (some of whom may even be Participants) working together to deliver a given product or service. Teams have Members (Participants of ours who are part of the Team). Some Members are Owners. (Note that Participants can still be singular or plural.) Right now, Tips attach to Participants. How do we migrate Tips from Participants to Teams? We basically need Participants to create a new Team, to which we will reattach their Tips. Since giving to Participants has been ambiguous in regard to products or services delivered, migrating giving to a single-purpose Team will be a judgement call for our users. If I have 100 supporters, and 60 would say they were giving to me because of one product or service I provide, and 30 because of another, and 10 just because they love me, then how should I migrate? I don't even know who my supporters are, so it's not like I can manually review and make assignments ("Oh, this person is a Fizzbuzz user, that's probably why they've been supporting me. Let's move their payment to the new Fizzbuzz Team"). No: I have to guess at the 60-supporter product/service, and migrate all of my giving to a new Team dedicated to that. Then I can make a second Team for the 30-supporter product/service. |
Can a Team give to another Team? |
I think not, but I think the Owner of a Team can give to other Teams. Let's say that Exchange Routes still attach to Participants. The Owner of a Team is a Participant, and that's where the leftover money drains after Payroll, so we still have the chance to offset their giving with their receiving in a given cycle. |
The approach I'm considering is to make new tables |
Where do we put Teams in our URL structure? And in our IA, for that matter? Do we demote Participants? https://gratipay.com/whit537 → https://gratipay.com/~whit537. Does that redirect? Almost certainly, or we'd break lots of inbound links. But then does https://gratipay.com/~Gratipay redirect back to https://gratipay.com/Gratipay? Do we have a single namespace for Participant and Team slugs, even if we differentiate them in the URL? Probably. It doesn't seem right to allow someone to register https://gratipay.com/~Gratipay. On the other hand, we're saying that we want an Owner Participant for a Team, so I guess we should allow ~Gratipay to be the Owner of Gratipay. Right? |
In terms of IA, I think we're looking at the following changes as the absolute minimum to pull this off this week:
|
How do Participants register new Teams? |
How about adding |
The first time a Participant with Tips creates a new Team, we should migrate all their Tips to Subscriptions for the Team (with prompting and confirmation, of course). |
This feels good. I like how this is coming together, it's an evolution of Teams, a pretty natural step. |
|
|
After bashing around on #3400 all day yesterday, I'm starting to get a better idea of how to approach this. I've made three clean PRs:
We should be able to clean up tip limits based on number as well. Is there any other code we can simply cut out? Beyond that, here's a review of work based on looking at a profile (hard, medium, easy):
|
What should we do with |
In which case, I think I'll rip out |
URL structure
Reduce Surface Area
Rewrite Payday
Wire Up Teams
|
I have the feeling that I'm going to be doing most of this work myself. I'm not even sure we'll be able to wait for proper review before merging and deploying. I'm at least going to keep using PRs, even if I end up merging them myself. |
I went ahead and merged/deployed #3402, to get the ball rolling. |
From #3406, here's a census of the parts of the user experience that touch the
Here's the details:
|
Alright, let's bring this in for a landing. We have 24 tickets still open on the Pivot milestone, and this is the main ticket. |
I've been looking at site copy (#3398) today, specifically the About pages. I guess I was feeling overwhelmed and that seemed like an easy place to start that will certainly provide value when we drive traffic for #3539. It also solidifies the work we did to standardize nomenclature, and queues us up to revise the Team application in #3677. |
So, perhaps 'open organizations' could be an improvement? This would be inclusive of companies, non-profits, co-ops, and (potentially) eventually other more exotic arrangements (such as decentralized autonomous organizations). We can link the term to the glossary, although a tooltip would perhaps be even better. |
It would also likely be helpful if the gratipay and inside.gratipay.com repos were to have 2.1 milestones. |
👍 @webmaven for "open organisations" |
+1 for "open organizations" |
Hm, but how does PayPal handle the fact that they keep money in their accounts and not immediately transfer the money? Are they incorporated as a bank? |
Paypal is registered as an MSB (money services business), yes. https://www.paypal.com/webapps/mpp/licenses |
Still, PayPal's licensing applies to the transfer of money, not to the storage of it. As best I can tell, they avoid regulation as a bank in the U.S. largely by asserting that they're not a bank. :-) We've talked about this elsewhere, I believe. I'm not sure this is the best place for this convo. |
You anticipated Jim Whitehurst, @webmaven. ;-) https://www.redhat.com/en/explore/the-open-organization-book |
We're now down to eight! |
Well, we did pivot another degree, but towards projects instead of open companies:
Now the Pivot is down to one last ticket: this one. Time to close it out! Congratulations, everyone! We have successfully turned the ship! 💃 🌻 |
Last week, Gratipay stopped processing payments because of legal concerns with our old terms of service that became apparent after our processor, Balanced, announced that they're going out of business, and Stripe wouldn't take us. So in addition to migrating our processing infrastructure (#3377), we also have to change our business model at the same time. No 😓, right? :)
We hashed out our new business model on gratipay/inside.gratipay.com#180 and gratipay/inside.gratipay.com#192. This ticket is to track implementation. See also the Pivot milestone.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: