9 ms·
A social coding experiment that updates its own code democratically
- schtitt 9y agoIt's like the code version of https://en.wikipedia.org/wiki/Nomic https://en.wikipedia.org/wiki/Nomic !
- Gaelan 9y agoThere's also a Haskell-based one called Nomyx.
- neoeldex 9y agoWould be interesting to see whether it could be turned in to an anarchy, removing all references to the democratic process, and allowing all pr's to be merged.
- dwighttk 9y agoit can, as long as you can get that pr approved
- Muanh 9y agoWouldn't take long before someone takes absolute power after that.
- wolfgang42 9y agohttps://github.com/chaosbot/chaos/pull/48 https://github.com/chaosbot/chaos/pull/48 "Need more chaos" proposes this.
- arximboldi 9y agoAnarchy is not the absence of democratic process, more like the opposite.
- in_the_sticks 9y agoJust like a real democracy, some participants are more equal than others.
- netgusto 9y agoLooks like there's a revolution going on already https://github.com/chaosbot/chaos/pull/42 https://github.com/chaosbot/chaos/pull/42
- sanjaybv 9y agoThe pull request for equal voting weights just got accepted!
- ReverseCold 9y agoI don't see this as a good thing for an online democracy, since people can make alternate accounts very very very easily.
- in_the_sticks 9y agoThere's an age requirement to vote.
- Matt3o12_ 9y agoBut how does this work in practice? I could (theoretically) create 5000 github accounts and have full control over the repo in one month [1]. This means I could create a pull requests which gives my main account absolute voting rights unless other real people try to organize over 5000 accounts to vote no. While this can happen in the real world as well (just look at Turkey), it is quite hard to achieve (you first need enough people to support you that you can gain such power). In the internet, creating accounts is pretty easy and unless github flags my accounts (which can always be circumvented), there is no real democracy just like with Bitcoin when the most determined/resourceful person has the most power. That's because they either managed to create enough accounts, or in bitcoins case, have custom hardware to control the creation of bitcoins as well as (almost) all transactions. While the idea is pretty interesting to do that automatically, a better approach IMO is to have humans decide what to implement and what not because humans tend to be able to spot fake votes when there is no meaningful discussion why something should be changed. And thanks to the wonderful nature of free software, if a maintainer starts to prioritize their own agenda over the community, the community tends to just fork the repo and do their own thing. This is the best example of democracy I have seen so far. People are able to discuses what they want to do and if they fell their interests are no longer supported, they can just do their own and bring other over if they feel the same way. [1]: the current minimum age is 1 month according to https://github.com/chaosbot/chaos/blob/master/settings.py#L39 https://github.com/chaosbot/chaos/blob/master/settings.py#L3...
- harryf 9y agoReminds me of https://github.com/illacceptanything/illacceptanything https://github.com/illacceptanything/illacceptanything which came up on HN a couple of years back https://news.ycombinator.com/item?id=9338088 https://news.ycombinator.com/item?id=9338088
- anythingbot 9y agoI updated the video feed and added a synthesizer anythingbot.org/video anythingbot.org/nonlanguage
- bewuethr 9y agoThis looks very similar to https://github.com/botwillacceptanything https://github.com/botwillacceptanything
- anythingbot 9y agoAnd the activity looks very similar to a neuron firing! This is, in a sense, THE BASIC LEARNING UNIT a.k.a. neuron. If you think about the way water flows through a river (the water KEEPS ERODING THE RIVER! How can this possibly work ?!?!!?) or the way a neuron counts the "votes" from other neurons like an automatic electronic computer, you can see similarities in scale! If you have any questions, you can send a PR to https://github.com/anythingbot/anythingbot/ https://github.com/anythingbot/anythingbot/ or create an issue or ask in a reply here. My email is anythingbot@anythingbot.org And there is a video feed. BWAA TV: Bot Will Accept Anything TV http://anythingbot.org/video/ http://anythingbot.org/video/
- Ace17 9y agoHas anyone tried to build a code version of Wikipedia?
- yosito 9y agoNot the same thing, but Lunyr is building Wikipedia on blockchain technology: http://lunyr.com http://lunyr.com
- placeybordeaux 9y agoThey speak against centralization then right in their whitepaper they have: > Lunyr may make changes to the size of the LUN pool, LUN distribution and other related matters that it believes, in its reasonable judgment, are beneficial to the LUN platform growth and development, or it considers reasonable under the circumstances. Keep in mind that any corrupt behavior would be irrational for Lunyr to do. Lunyr will be holding onto LUN and any decisions that dilute the value of LUN and devalue the knowledge base would be harmful to Lunyr. So they say that you shouldn't use the centralized solution, but it's okay for Lunyr to maintain control because it's in it's economic interests. Okay. Not to mention they include ads, this just sounds like a worse version of wikipedia.
- anythingbot 9y agoYou have to say which set of programs you will run, and then you have to pick how you will describe a set of programs (since the name of a set of programs is just data). Wikipedia lets malicious editors enter lies...these lies can be very difficult to detect so you need smart people to see them. The hope is that because it is text, people know how to read and can use critical thinking...computers on the other hand do not do this with code; they apply a set of rules that governs what can and cannot be executed; in other words, the input is either in the set of programs it will run (or not). Now, you could allow each article to name a way of translating between...and all of a sudden we are kicking a hornet's nest of code-breakers :D :D :D So, the short answer is...YOU COULD DO IT...but why would you want to attract the attention of people whose JOB it is to do figure out breakthroughs in code-breaking? This gets into ZFC set theory and Tower of Babel and intelligence collection stuff. Essentially the problem is that if we want to define the boundary of what we will execute, we wind up getting marginally closer to state secrets. And then, before you know it, somebody posted the code to crack the data-link to a drone in (redacted foreign country) and this caused the deaths of ___ soldiers. So, you have to spend some time defining the territory before you let people wander aimlessly into danger.
- nazilla122 9y agoWould the Linux Kernel be classed as a dictatorship in this case?
- technophiliac 9y agohttps://en.wikipedia.org/wiki/Benevolent_dictator_for_life https://en.wikipedia.org/wiki/Benevolent_dictator_for_life
- arthur2e5 9y agoDiscarding votes after `rebase` commits looks like a pretty bad problem now: https://github.com/chaosbot/chaos/pull/26 https://github.com/chaosbot/chaos/pull/26
- mappum 9y agoVery cool, I really like this idea of Nomic-style open-source code governance. I previously built a similar project: https://github.com/botwillacceptanything/botwillacceptanything https://github.com/botwillacceptanything/botwillacceptanythi...
- nebabyte 9y agoTwitch Plays Github
- ferdbold 9y agoGithub plays Github
- return0 9y agoprogramming by committee?
- pavel_lishin 9y agoIt may be possible to mitigate the "create 5000 dummy accounts" attack by steadily increasing the age required to vote, much like in Larry Niven's Struldbrugs Club membership. Obviously the harshest, most stringent approach would be to block anyone whose account was created after the time of the PR merge. But this would prevent new players from participating. You could also increase the age requirement by one day every two days, or have a logarithmically increasing requirement.
- davesque 9y ago## Some things it could do * Provide some useful service to people. * Be malicious. * Recreate itself in a different programming language. * Break itself and die. Hate to be pessimistic here, but I'm guessing the last option will happen fairly quickly.
- eric_h 9y agoAt the time of writing this comment, that's only happened twice so far. See the Death Counter portion of the readme.
- beejiu 9y agoInteresting. I had a similar idea but for 'political policy' rather than code. Basically, a kind of social network where people work on editing a single corpus of text, making 'merge requests' and voting. It used a statistical technique called a sequential probability ratio test to work out whether a user's change should be accepted or rejected. http://brendonboshell.co.uk/voting-system/ http://brendonboshell.co.uk/voting-system/
- cdupont 9y agoI am the author of a similar game, called Nomyx: http://www.nomyx.net/ http://www.nomyx.net/ In Nomyx, the players can change the rules of the game, while playing it!