OpenCollective Payment Process - ankidroid/Anki-Android GitHub Wiki
OpenCollective Donations / Payments
With the 2.14 release of AnkiDroid we have set up an Open Collective where users may donate money to us if they like.
This means that we now have money available to pay for either one-off bug fixes (like a bounty to fix a bug) or for longer-term commitments people might make for maintenance, large architectural changes, release management, etc.
Project Financial Goals
- Peace: The most important goal is to avoid politics, drama, suspicion of mishandling money, or other such things. Consequently, I (Mike Hardy) am saying this as the first thing: if you have any doubts, please ask first so we can work it out. Everything else about the policies here is designed to avoid politics, drama, and suspicion, and I expect everyone to keep that in mind and behave accordingly. We're still hacking on this code for fun, after all.
- Fun: That is up to you, but never forget you contribute to AnkiDroid for fun. It is a hobby and will not replace a salary from a real job. Please do not get caught up thinking of any possible payment, though if it adds motivation for you to spend time making the app better for everyone, that is fantastic.
- Sustainability: Long-term contributors should be able to count on generally stable payments over a timespan of years, so the amount of money distributed every month will be less than the total amount available. We started by distributing 10% of the balance available at the end of the month, every month. As we learnt over time, this results in a very slowly building balance with OpenCollective thanks to the generosity of our donors. It is not our goal to have a balance though, it is our goal to have sustainable / mostly level payout totals. We investigated a mechanism to slowly disburse more such that we would not carry a big balance and it appears a new workable rule is "10% of balance plus $1,300, per month". We will do this starting with the next round of payments, and as ever we may change things again as we learn more.
- Fairness: This one is hard. Casual contributors should be rewarded, as well as long-term core contributors. The best way I have seen to balance this is to cap the amount of hours compensated per month. Core contributors will certainly be capped, but they submit every month so they will see rewards, and that will leave reasonable resources available for casual contributors.
- Transparency: OpenCollective makes every single transaction public, so this is handled for transactions / income / expenses. I (Mike Hardy) discuss all my thinking on Discord prior to making policies, and then it is documented here so hopefully that is satisfactory for process transparency as well. The goal is that all decisions are made with full consensus of core contributors.
- Legality / Accounting: OpenCollective handles all of these aspects as well. There are exactly zero obligations for any future project maintainers in order for the taxes, legal filings, etc. to be handled on behalf of the project. Any personal legal or tax consequences related to any payments received by you personally are your responsibility and the project will make no attempt to handle them.
How to get paid
- At the end of the month, go to our OpenCollective expense form and follow their process to file an expense.
- We never know what the total we can pay on any invoice will be in advance. As mentioned in "sustainable" above, we are trying to distribute about 10% of the total balance each month but we are just guessing right now. Your expense should:
- Include all your hours, but limit your actual expense to a maximum of 20 hours claimed working on AnkiDroid, with an initial rate of 10USD/hour for those hours, making a maximum expense claim of 200USD, but with the total hour information available
- Please include your GitHub or Discord name in the notes so we may verify your contribution
- OpenCollective now requires us to connect the expense to something they can verify.
- GitHub: They have confirmed that a github link to your merged PRs for the period is sufficient, examples:
- Crowdin: include a screenshot taken from https://crowdin.com/project/ankidroid/activity-stream where you filter for your userid and the time period in question (select time filter of last 30 days then re-filter to the month in question to do it quickly...)
- We pay $0.10/word for Crowdin translations, which is comparable to translation rates in the open market. Here is an example query that shows the format you can use to substantiate the work when making a claim, if you substitute the correct user and dates: https://crowdin.com/project/ankidroid/activity-stream
- Translation work is capped at a maximum of $100/month for translation work to make sure lots of people can participate
- We will look at all the expenses, and we will adjust them once we know all the invoices for the month so we pay out a total amount of 10% of our current balance + $1,300, then we will approve them. OpenCollective (the company) indicates they do transfers twice a week for approved invoices.
Please be flexible with us as we do that invoice adjustment process and please please do not think of the first amount as a final amount, you might be disappointed afterwards if we have to adjust it, which would be a shame since getting any money from open source work is a real bonus.
Abuse policy / insufficient evidence
Occasionally, for a variety of reasons, we get claims that are not supported by evidence of the work completed. This is unfortunate, as we like to promote a sense of trust amongst all people volunteering their time for AnkiDroid, either as new contributors just getting started or long-time contributors that may be approving expenses.
If this happens, your expense will be rejected.
The first time this happens, we welcome you to adjust the expense while providing supporting evidence, and reopen it.
The second time this happens, approvers reserve the right to leave the expense closed and unpaid, or adjust the expense at the approver's discretion.
If this happens more than twice, the approver may ban the expense submitter from submitting any further expense, at the approver's discretion.
This is not a portion of the policy we want to exercise much if at all. Please support your expense with sufficient documentation. Thank you!
Questions?
- Come chat with us about it in Discord (link in the README).
- Send me, Mike, an email if it is an uncomfortable question. It is my job to answer all questions, and money questions do not make me uncomfortable, so please ask away - my contact info is on my profile.
What if this is not working, for the project or for you?
As mentioned in "Peace", please please please let us know. Hop on our Discord channel or send mail to Mike Hardy (if it is sensitive), and I'm sure we can work it out. We are open to any ideas to make things better, and we won't hesitate to make changes. That said, please be open to accepting changes as a contributor as well. This is all new to us, but hopefully it will work well.
Cheers!