Chaos

A social coding experiment that updates its own code democratically.

  • 所有者: Chaosthebot/Chaos
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

NOTE: This repository is dead. See #559 for more information, including a V2.

ChaosBot

Build Status
Gitter chat
ChaosBot
Uptime Robot status

Chaos, the vacant and infinite space which existed according to the ancient
cosmogonies previous to the creation of the world, and out of which the gods,
men, and all things arose.

ChaosBot is a social coding experiment to see what happens when the absolute
direction of a software project is turned over to the open source community.

Image of a kitten with overlay: "I WONDER IF BEING SANE MEANS DISREGARDING THE CHAOS THAT IS LIFE...PRETENDING ONLY AN INFINITESIMAL SEGMENT OF IT IS REALITY" Source: http://existentialpets.tumblr.com/post/48069725344

How it works

  1. Fork the code and make any changes you wish. (see Development)
  2. Open a pull request.
  3. If there is general approval* from the community, the PR will be merged
    automatically by ChaosBot.
  4. ChaosBot will automatically update its own code with your changes and
    restart itself.
  5. Go to #1

A Declaration of the Independence of Cyberspace

We have freed ourselves from the chains and shackles of project admins and owners, diminishing our value to work for there needs. We are now making a fully equal community, where everyone has a equal say. (Please see independence.md)

Join us.

How chaosbot works, in a gif

In effect, you get to change the basic purpose and functionality of ChaosBot, at
your discretion.

What will ChaosBot do? It's up to you. The only thing it does now is update
itself with your changes. And as long as the code connecting itself to new
changes remains intact, ChaosBot will continue to grow and change according to
your will.

Some things it could do

  • Provide some useful service to people.
  • Be malicious.
  • Recreate itself in a different programming language.
  • Break itself and die.

There is no set purpose. What ChaosBot makes itself into is entirely up to
the imagination of the open source community.

Wondering how to contribute? Try implementing a feature requested here.

Voting

Votes on a PR are determined through following mechanism:

  • A comment that contains an emoji signifying a vote somewhere in the body counts as a vote for
    or against the PR.
  • Same for reactions on the PR itself
  • The PR itself counts as :+1: from the owner, unless they vote otherwise.
  • Voting goes on for the duration of the voting window - currently 2 or 3 hours,
    depending on the local server time.
  • While the voting process is going, users can change their reactions and edit
    their comments, effectively changing their vote.

Emoji which count as votes are:

  • +1: :+1: :thumbsup: :heart: :two_hearts: :blue_heart: :purple_heart: :green_heart: :yellow_heart: :heartpulse: :sparkling_heart: :tada: :heart_eyes: :grin: :grinning: :joy: :laughing: :smile: :smiley: :smiling_imp: :ok_hand: :fire: :metal: :raised_hands: :100: :heavy_check_mark: :white_check_mark: :ballot_box_with_check: :accept: :congratulations:
  • -1: :-1: :thumbsdown: :confused: :x: :interrobang: :heavy_multiplication_x: :put_litter_in_its_place: :no_entry: :negative_squared_cross_mark: :worried: :frowning: :imp: :anguished: :grimacing: :cold_sweat: :disappointed: :weary: :confounded: :cry: :tired_face: :broken_heart: :hankey: :poop: :shit: :fu: :no_good: :person_frowning:

Development

Docker

Vagrant

Death Counter

Chaosbot has died 16 times. This counter is incremented whenever the trunk
breaks and the server must be restarted manually. Last broken by
#309

Rulers

Chaosbot has been ruled by:

  • Democracy
  • Anarchy with #48
  • Democracy, as the anarchy commit crashed the server and was reverted
  • @PlasmaPower with #138
  • Democracy, as PlasmaPower relinquished his control with #153
  • Direct democracy + meritocracy with #377

Server details

  • ChaosBot runs with Python 3.6.1 on Ubuntu 14.04 Trusty.
  • Its process is managed under supervisor. Avoid
    writing your own process-management tooling unless it is going to replace
    supervisor completely.
  • It has root access on its server. This means you are able to install
    packages and perform other privileged operations, provided you can initiate those
    changes through a pull request.
  • Its domain name is chaosthebot.com.
  • It's hosted on a low-tier machine in the cloud. This means there aren't a
    ton of resources available to it: 2TB network transfer, 30GB storage, 2GB memory,
    and 1 CPU core. Try not to deliberately DoS it.
  • MySQL is installed locally.

FAQ

Q: What happens if ChaosBot merges bad code and doesn't start again?

A: Errors can happen, and in the interest of keeping things interesting, ChaosBot
will manually be restarted and the death counter will be incremented.

Q: What is "general approval" from the community?

A: Users must vote on your PR, through either a comment or reaction,
or a accept/reject pull request review. See Voting.

In addition, a member of the meritocracy must approve the most recent commit of the PR with a review.
A member of the meritocracy approving their own PR does not count.
The meritocracy is determined by combining the top 10 contributors and the top 10 voters.
The current meritocracy can be viewed here.

Q: What if ChaosBot has a problem that can't be solved by a PR?

A: Please open a project issue and a
real live human will take a look at it.

主要指标

概览
名称与所有者Chaosthebot/Chaos
主编程语言Python
编程语言Python (语言数: 8)
平台
许可证MIT License
所有者活动
创建于2017-05-22 19:29:47
推送于2019-01-30 06:49:23
最后一次提交2017-06-19 19:40:13
发布数0
用户参与
星数2.4k
关注者数91
派生数208
提交数604
已启用问题?
问题数137
打开的问题数22
拉请求数249
打开的拉请求数1
关闭的拉请求数187
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?