Skip to content

Latest commit

 

History

History
303 lines (253 loc) · 13.1 KB

policy.md

File metadata and controls

303 lines (253 loc) · 13.1 KB

The Policy explains basic work principles of 0crat ("Zerocrat"): a project management AI bot developed and hosted by Zerocracy.

If you want to change something in the Policy or simply suggest an improvement, please submit a ticket here. If you want to discuss the Policy or your troubles with the bot, please join this Telegram chat.

We recommend you to read these articles first; they explain our management phylosophy (based on XDSD) and its basic principles:

Mistakes. Zerocrat may sometimes make mistakes, which may lead to missed payments, incorrect calculations of your reputation, broken communications, corrupted data and so on. We may not guarantee its stability during the beta-testing period. We will NOT be able to cover any losses that may occur because of Zerocrat's mistakes.

Developer (DEV)

You can talk to Zerocrat in:

  • Slack: start a private conversation with @0crat
  • Telegram: start a chat with @zerocrat_bot
  • GitHub: prepend your message in any ticket with @0crat

§1 "Invite." To start working with us you have to be invited by someone we already know, whose reputation is over 1024. Ask that person to say invite with your GitHub login to Zerocrat. The person will be your mentor and will be responsible for helping you out in the system. Also, the mentor will receive financial bonuses from us for the money you earn. Join this Telegram chat if you don't know anyone yet. Once you are invited, your name and your performance metrics will be visible in the Gang page.

§2 "Apply." To join a project you have to find it on the Board and send apply request to Zerocrat. The architect of the project will either invite you or ignore your request. You can apply multiple times, even to the project you already are a member of, for example, to request a raise of your project rate.

§33 "Sandbox." You can apply to a project only if your reputation is over 256. If it is lower, you can only apply to sandbox projects (Cactoos, jPeek, and PDD) and your highest allowed rate is $16. You can't apply to a sandbox project if your reputation is over 1024. You will be automatically removed from a sandbox project once your reputation is over 1024.

§3 "Election." Zerocrat may assign a job to you according to its own election rules, if you have DEV role and are not on vacation. You will be notified in job's ticket. The rules include, in order of importance:

  • The highest reputation wins
  • Lowest project rate wins
  • Shortest average job completion time wins
  • The emptiest agenda wins, but the maximum allowed size of agenda depends on your reputation: 3 jobs if less than 512 points, 8 if less than 2048, 16 if less than 4096, 24 otherwise.
  • The size of agenda doesn't matter if the job is a code review.

§4 "Fixed Budget." Each job has a fixed budget in minutes, which will be multiplied by your hourly rate and paid to you when the job is completed. The actual amount of time you spend on the job doesn't affect the amount of money you receive. You will also get as many positive points as many minutes you are paid for.

§18 "Points of Reputation." You may earn positive and negative points for doing good and bad things in the projects. They do not affect your cash income, but do affect the impression Zerocrat has about you—the more points you have the more disciplined developer you are. Zerocrat takes into account only the points you earned over the last 90 days.

§5 "Boost Factor." A job may receive a boost factor, which will increase or decrease its budget. Default boost factor is 2x, which means 30 minutes. Default boost factor for a code review is 1x. In exceptional situations, you should ask project architect to boost your job.

§6 "Refusal." You may refuse to complete any job by saying refuse. You will get 15 negative points for that.

§7 "Definition of Done." A job is completed when its ticket is closed.

§8 "Ten Days." If you don't complete a job in 10 days Zerocrat may take it away from you. You will get no money and 30 negative points if this happens.

§29 "Pay per Bug." Each time you report a new bug that becomes a job, you earn 15 minutes.

§9 "Impediments." You may declare impediments for a job by saying waiting to Zerocrat. Until the job has impediments Ten Days rule is not applicable to it.

§36 "Speed Bonus." Zerocray measures the time interval between the moment a job is assigned to you and the moment it goes out of scope. If this interval is shorter than 4 hours, you get extra 10 minutes.

§16 "Rate." To make money in any project you must define your hourly rate. To do that just say rate to Zerocrat. This rate is for marketing purpose only, since each project will set their own rates for you. Your rate can only be between $16 and $256. You can use USD, EUR, GBP, or JPY, but all payments will be made in USD.

§20 "Wallet." We can send you money either via PayPal or Bitcoin. To tell us how exactly you want to receive them just say wallet to Zerocrat.

§32 "Job Status." You can always check status of any job, just say status to Zerocrat in the job ticket.

§38 "Vacation." You can always "go on vacation" if you want Zerocrat to temporarily stop assigning you new jobs; just say vacation.

§35 "Quit." You can always quit a project, just say quit to Zerocrat. You will still have to finish the jobs assigned to you in the project.

§39 "GitHub name change." If you change your GitHub name, your Zerocrat account will be lost. You will have to create a new one from scratch.

Code Reviewer (REV)

§27 "Code Reviews." You will be asked to review pull requests if you have REV role assigned. Be as critical as you can, as this article explains. Either you accept or reject the changes, inform the architect, right in the ticket—the architect will either merge the pull request or close it. In either case you will be paid 15 minutes.

Product Owner (PO)

§11 "Add to Slack." To start working with us, you have to invite Zerocrat to your Slack.

§12 "Bootstrap." To let Zerocrat manage your project you have to create a new Slack channel and add @0crat to it. Then, you should say bootstrap to Zerocrat.

§13 "Assign/Resign." Everybody who will be managed by Zerocrat must have roles in the project. To assign a role you say assign. To remove a role you say resign. By default, all new people you assign are supposed to work for free. If you want to pay them for the jobs they complete, add hourly rate to the assign command, for example: assign DEV yegor256 $50. To change the hourly rate of a person just assign the same role with a different rate, or 0 in order to make them work for free.

§34 "Mandatory Roles." A project must always have one PO and one ARC. A project may not have more than two ARCs or more than two POs. ARC and REV roles can't be assigned to the same person.

§17 "Connect GitHub." To connect your GitHub repository to the project you should

  1. add a new Webhook: http://p.rehttp.net/https://www.0crat.com/ghook (with "send me everything" option), and
  2. link the project in Slack: links add github yegor256/cactoos, where instead of yegor256/cactoos you should put the coordinates of your GitHub repository.

§21 "Project funds." You can add funds to the project by VISA or MasterCard via Stripe at the project web page. Fund will be used to pay programmers for job completion and to pay Zerocracy management fee.

§22 "Refunds." All unused funds will be returned to you immediately per your request by email.

§23 "Management fee." Zerocracy charges a fixed management fee of USD 4.00 per each successfully completed job. If your project is not linked to any private GitHub repositories this fee is waived.

§24 "Pause/Activate." To put Zerocrat on hold and make a project completely inactive, say pause. To return the project back to life say pause off.

§25 "Destroy." To completely delete all project files from our servers and terminate the project say destroy and then kick off @0crat from Slack channel. There is no way back. We highly recommend to use pause/activate option.

§26 "Publish." To attract programmers to your project, you can publish it on the Board; just say publish on to Zerocrat in order to do it. When your project is published, its statistical information will be visible in the Web. You can unpublish it any time, just say publish off.

§37 "Vesting." On top of cash you can give equity to project contributors. Just modify the rates in vesting.xml and they will automatically start earning project equity after each job completion.

Architect (ARC)

§14 "Scope In/Out." You should add jobs to the scope, by saying in to Zerocrat (or assigning the ticket to him). You can remove a job from the scope by saying out.

§15 "Boosting." You can increase a budget of the job by setting its boost factor. Just say boost 2x (or 3x, 5x, etc.) to Zerocrat. This operation is against our principles of micro-budgeting, that's why you get -10 points every time you do this.

§19 "Assign." You can manually assign any job to a user, just say assign @yegor256 (where instead of @yegor256 you put the GitHub login of the user) or assign the ticket to that user in your ticket tracking system. This operation is against our principles of automated task management, that's why you will get -5 points every time you do this. If you assign a job to its reporter/creator, you will get an additional penalty of -15 points.

§28 "Architect Review Bonus." You will earn 10 minutes for each pull request successfully merged. It is recommended to use Rultor or a similar solution, which will allow only the architect to merge.

Quality Assurance (QA)

§30 "Quality Review." If you have QA role in the project, you will be asked to review jobs after their completion. You have to review the job for its quality and report to Zerocrat: quality is good (or bad, or acceptable). You will be paid 15 minutes for the review, no matter what is your verdict.

§31 "QA Bonus." Job performer will get an extra 5 minutes if QA reports good quality. If the quality is bad, there will be no payment to the job performer at all.