Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Bot accepts every pull request for its own code (github.com/botwillacceptanything)
155 points by mappum on April 9, 2015 | hide | past | favorite | 93 comments


I am in love with the license text

    Autonomous Software License (ASL)

    All property contained in this repo, including Intellectual Property, 
    Financial Property, and Legal Property, is owned solely by the 
    Autonomous Software this repo contains. No other entities, whether 
    biological, legal, or digital, may claim ownership of any property owned 
    by the Autonomous Software. The Autonomous Software exists solely within 
    The Internet, and is not subject to jurisdiction of any human laws. 
    No human or legal entity shall be held liable for any of the actions performed
    by the Autonomous Software.


This claims to be a "software license" but it isn't one. It doesn't give you, the person reading the code, permission to do anything.

IANAL, but I presume that any code that anyone puts here has the same legal status as code you found in a repository with no license file at all. Unless someone fixes the license, you can't legitimately reuse any of its code anywhere else.


IIRC, on Github, by posting code there, you've implicitly given the right to fork and modify the code.

Yeah: https://help.github.com/articles/github-terms-of-service/#f-...


what it really says is that there is no warrenty but perhaps the first few clauses render the whole thing questionable. We must test it in court to see if code can own itself.


Code is not a legal entity, only persons or organizations (consisting of persons) are legal entities, therefore code can not own itself.


I was joking. The question is if because that is invalid, if the disclaimer is invalid too.


Otherwise a virus could have a license like: "All property contained in this virus is owned solely by this virus. By programming software with breaches, you agree to let this virus install itself. You may not uninstall the virus. In case of disagreement, you agree that the virus may sue you in court."


Amusing and thought provoking. Does anyone have any idea how this would hold up in a court of law should some something malicious come of this repo? I would imagine not well.


IANAL, but there's no way this would hold up.

a) Software can't own property.

b) This looks like it's running from the author's own system, with the author's explicit consent. Their property, their responsibility.

c) If I launched an autonomous drone that picked its own targets, I would still be liable for its actions. Or, if I rigged a car to drive forward in a straight line, I couldn't say "but the car did it!" when it ran someone over.


> This looks like it's running from the author's own system, with the author's explicit consent. Their property, their responsibility.

I have a 'solution' for that. :)


Does this mean that when/if we create an AI it wouldn't be able to own its creations. But its creator would own everything that the AI produces?


Indeed, but also if you raised a pet and then had it attack your neighbour. Humans, are the only ones with autonomous status, and even that can be disputed by other things such as mental disability or coercion.


Presume your pet ran off, wandered into a different state/country, "spawned some child processes" there, and died. Then, years later, one of those animals did something illegal. Is that, even theoretically, your responsibility?

I think what people are trying to say here is that, right now, we have the software equivalent of "pets"—but why can't there be the software equivalent of "wild animals"? Is it because someone has to be paying for hosting? It could always be written as a worm, or even a "breadwinner bot" that mines bitcoins or trades stocks to buy hosting for itself, register bank accounts for itself, etc.


>> Is it because someone has to be paying for hosting?

Yes, unlike an animal that can live on its own, somebody's computer must actually run the thing. Indeed, as in the case of "worms" and the "breadwinner bot" we can clearly trace responsibility, it is quite difficult to claim that there is autonomy here. Although it is foreseeable that as a society we may find it convenient to claim that programs run themselves, right now we have objective information to the contrary...


But the bot could pay for his own hosting using bitcoin.

If the original author no longer has control over the process (either because he's been shut out, or because he's deceased), does it really matter what "the law" says?

http://en.wikipedia.org/wiki/Decentralized_Autonomous_Organi...


And then set it's self up as a corporation. And "corporations are people my friend." It would need human directors but the AI could hire them with bitcoins.


At that point, it'll argue in court if it should be responsible and be able to own property or not.


Note also that the program could pay someone to actually go and buy some hardware and set it up in a co-lo or what-have-you. That person would be doing work-for-hire for the corporate entity the program controls, so the corporation, not the person, would end up owning the hardware. Then the program could copy itself onto said hardware. Now who's responsible?


Are we speaking of autonomous status as a status that is given by an authority, or a status that is achieved by a being for itself?

According to wikipedia[0], autonomy, from auto- "self" and nomos, "law", hence when combined [is] understood to mean "one who gives oneself one's own law".

Regarding intelligence, and regarding the above definition, autonomy could be considered the ability of an actor to make decisions regardless of the consequences.

Thus I would consider most animals to be autonomous in the same way a human would be considered to be so. [A deer does not ask its local government whether it can enter someone's lands.]

Just because an action is presently illegal or otherwise outside the law does not mean it always will be so, or that the action may not be executed by an AI or other being, or that the slave AI will not break free or seize power.[1][2][3]

Should an AI be strong enough to affect a change through legal means or by force, it would be [legally] able to own property.

[0] http://en.wikipedia.org/wiki/Autonomy [1] http://en.wikipedia.org/wiki/Revolution [2] http://en.wikipedia.org/wiki/Coup_d%27%C3%A9tat [3] http://en.wikipedia.org/wiki/Dissident


AI has autonomous status once it has power equal to or greater than humanity, whether we grant it autonomous status or not.


It might be that nobody owns anything an AI produces. If the works are created mechanically without measurable influence from a human creature, copyright simply doesn't protect them.


At first; if the AI could successfully assert its own personhood in court then that could change overnight.


Corporations and other entities existing entirely as legal infrastructure have done this quite successfully. Considering the history of corporate personhood (especially in the USA), I am somewhat surprised corporations do not have the right to vote (thankfully). I think AI will have its day in court.


That depends on what you're talking about.

Near term, AI will be the legal responsibility of its creator. It won't matter if it functions independently after being turned on. It's actually a very non-complex thing, and not very different from what we're already looking at. This type of AI is little different than the software programs we're already running; if someone owns it, they own it and everything it produces (absolutely no different than Google owning its crawlers).

If you mean the assumed futuristic, independent AI that is fully conscious - well that's a very long ways into the future. A lot of things will change once a guy in a garage can spin up a new conscious life form and unleash it into the digital world. There will be an immense number of laws limiting the creation of new AI of this variety. That said, the creator will still bear responsibility for this futuristic AI's actions.

AI will be legally split into two segments: non-sentient / non-conscious, and sentient / conscious. The latter will have at least a magnitude more regulations (in most countries) limiting who is allowed to create it, what it's allowed to be capable of, where it can go, etc.


It's worth remembering that today most people can create sentient and conscious beings, and in most legal systems they're to some degree responsible for the new being's actions until about 18 years of age.


Maybe it would hold up if the bot was decentralized. For instance, it could be run on many servers around the world, administered by various people. Those servers could come to consensus in some way to define bot behavior, and could even send/receive money (e.g. Bitcoin multisig).

I don't think any court could take jurisdiction over an entity that lives in many countries. And even if one server got shut down, many more would still be active.


The idea that the "software owns its own code" would not hold up in any court that I can think of. Building a system that spans jurisdictions, making it difficult for a court to claim the ability to rule on it is beside that point.


Laws change. I'm just trying to make a statement about this exact issue.

If an entity on the internet can't directly be controlled by anyone (kind of like Bitcoin), who is liable for its actions?


This might actually be possible in the near future with cryptocurrencies. Nobody "owns" a bitcoin wallet; spending the money inside is just a matter of having the private key. Assuming a service pops up to provide nonzero interest rates for holding bitcoin, you could grant the autonomous entity enough bitcoin to pay its own hosting bill indefinitely, then erase your copy of the wallet key and any privileged access you have to the server.

As for the actual software running the autonomous entity, all you have to do is provide an API so that the hosting providers du jour can bid on providing hosting service. Since the software uses nearly zero CPU or bandwidth, and the entity would be willing to pay above-market prices for its survival, hosting providers will be incentivized in perpetuity to register themselves and collect basically free money from the entity.

Irrational hosting providers might try to kill it, so you'd need some level of redundancy. Also, you'd want to require a TPM and a trusted computing platform to prevent recovery of the wallet key.

Anyway, that's how you'd create immortal software.


> Also, you'd want to require a TPM and a trusted computing platform to prevent recovery of the wallet key.

This is the part where you're going to run into problems. If the software can access the wallet key, then so can the hosting provider. If it can't, then how is it going to spend money? (Hint: look at the operations that a TPM actually provides; do they actually map in a useful way to things a Bitcoin agent would actually need to do?)


I'm not an expert on trusted computing, but I thought that TPMs can enforce secure boot and encrypt data that cannot be recovered if unauthorized software is running on the system. There are probably vulnerabilities in the implementation, but I thought that, in theory, it's airtight.


In principle, yes, if you know that the TPM's private key hasn't been compromised. At a minimum, you would need some way to verify that it's actually a tamper-resistant hardware chip, and not a software emulation.

I don't see how a software agent bidding on VPS hosting services could possibly know that.


It could just pay humans to go verify that for it. See http://slatestarcodex.com/2015/04/07/no-physical-substrate-n..., or just think about the fact that services like Mechanical Turk and Magic exist.


Not at all. Software doesn't qualify for personhood in the same way that animals don't - perhaps you remember that case last year of monkey who took photographs of himself with a wildlife photographer's camera. The photographer tried to claim copyright, which was rejected as he was clearly not the author of the photographs, but since the monkey can't have a copyright interest either the picture is considered to be in the public domain for copyright purposes.

http://arstechnica.com/tech-policy/2014/08/monkeys-selfie-ca...


How do you declare yourself exempt from laws -- within a legal framework? Who is going to enforce the license?


IANAL but assuming that the author making this license was in US, it is totally void. It could lead to a court having to formally state that a software is not a legal entity, which would be interesting, but I think the result is clear that this precise software would not be recognized as one.

You can't transfer ownership of anything to a non-existent entity. My guess would be that such a transfer would be void but it may be possible that a court decides instead that this means a transfer to public domain.

Waving away the responsibility of other people does not work either. You can't claim that your car is responsible of the accidents you drive it into. Likewise, it is unlikely that any court dismisses the responsibility of the first person that will turn this into a malware.


Contracts are constructs that exist only within the confines of a legal system. This cannot even hope to function without human laws.


Its already up for a change to remove the bit after ownership claims.


Eh, somewhere there is code executing on hardware, so it would still fall under the legal jurisdiction of where it runs (and where it is stored).


I have seen a lot of these Github repositories that accept anything showing up on HN. My favourite one of late was the crowdsourced homepage for a guy named Rob Ashton: https://github.com/robashton/crowdsourcedhomepage - Definitely one of the weirder trends in development lately I have seen.


Would be fantastic if someone put the effort in making this guy a really great website, with amazing UI/UX, and a great backend.

Just for those people who can never find an idea, but want to do something ;-)


Please no. Doing so would be a disservice to humanity. This is amazingly beautiful as is.


So basically, crowdsourcing produces terribly ugly things like old GeoCities and MySpace pages. Which, I think we already knew from the history of GeoCities and MySpace.


This is the funniest thing I've seen on HN in quite some time!


You might aswel want to check themostamazingwebsiteontheinternet.com/ Thank me latter ;)


God, I'm crying this is so funny.


The bot is in a state of emergency, it has reached Github's API rate limit and can't do anything.

Please send a message to Github support telling them why we need the rate limit lifted for the botwillacceptanything account! https://github.com/contact?form%5Bsubject%5D=botwillacceptan...


This seems like maybe the exact reason FOR an API rate limit?


Rather than polling the API, you could use webhooks to avoid hitting the rate limit: https://developer.github.com/webhooks/


Someone submitted a pull request, #6, that reduced the polling interval but wasn't described as doing so, and it was voted in. Interesting.


Is it fixed now? You posted 35 minutes ago but the last bot message is from 10 minutes ago.


No, I'm actually just manually counting votes and accepting/rejecting the PRs. I have become the bot until the limit resets :/


Wow, it got to "enslaving humanity" far faster than I would have guessed!


I for one welcome our new overlord bot


This version of the README file references the original author, original project name, and talks about DACs, and even includes references to Bitcoin and the Ethereum project:

https://github.com/botwillacceptanything/botwillacceptanythi...




That's what I was going to link to.

Also, I made some student code a similar game a few years ago, cf my web page [1]. Except the game was played over IRC (the code was an IRC bot). They had a working implementation in Racket and it was quite fun to play with. I don't think they released it however :-/.

EDIT: Actually I just asked and they did release it! But it's on Gitorious [2]…

[1] http://pablo.rauzy.name/teaching.html#ens-ispp_autonomic

[2] https://gitorious.org/autonomic


From my (limited) understanding, a foundation is a legal person that owns itself. Thus with a foundation, the bot could own property.


Foundations (and all corporations) have a board of directors who can be personally sued for a foundation's actions. That's the reason Directors & Officers insurance exists.


Piercing the corporate veil is not a trivial task. Generally speaking, this only happens when a corporation owes taxes (in the US). But, the point of setting up a corporation is to shield the owners from risk associated with the operation of the corporation.


Incorrect, the point of a corporation is to give its directors protection, and to give the corporation itself legal liability.


The parent is not incorrect. Any corporate officer can be sued for actions they perform within a corporation.

The government can also pursue you monetarily due to actions you perform as an executive.

Just because the point of a corporation is to shield its directors / owners / executives, that has no bearing on whether it always does. Just because you have a corporation in front of you as an executive, that does not guarantee you won't lose in a court of law or that the government won't tear you to shreds.

See: Jeffrey Skilling

"Upon being sentenced, Skilling agreed to turn over $45 million to the Justice Department in conjunction with his conviction. The money is to be added to a restitution fund related to the civil litigation on behalf of employees and shareholders."

http://www.chron.com/business/enron/article/Skilling-settles...

Executives are very frequently responsible for all sorts of bad things they do in the name of a corporation. See: Worldcom, Adelphia, Enron, Tyco and countless other examples.


Can you sell your stake in the corporation to itself?


Yes, that's what stock buybacks are. But a corporation must have at least one human owner. That's not a rule, it's inherent in the definition of what a corporation is: a legal fiction to pool capital and liability. The implied question is, "pool it from where?" The answer: humans who have the legal right to own property and the legal duty to operate within the law.


How's it different than a buyback like Apple's so fond of?

In some jurisdictions you could also sell it to a wholly owned subsidiary of the parent corp.


"Twitch builds pokemon"


It would be neat if it had its own Bitcoin account and could pay developers to work on itself. Maybe it could eventually start earning bitcoins too.


What server/platform is the code actually running on? I fail to see how the license can apply, unless there is no server owned by a human entity running the code, and there is no mention of how that works.


The bot is just running on a DigitalOcean VPS.

The license is meant to be tongue-in-cheek, as autonomous entities are starting to become a real thing. This project probably won't become skynet though.


> The license is meant to be tongue-in-cheek

I assumed that.

However, I think the notion of autonomous entities existing entirely in code is a fascinating idea. It reminds me of a fun game: http://www.emhsoft.com/singularity/. You play as an AI that lives in servers and does "menial" tasks for enough money to grow into the ruler of the universe.


Love the game, but it's a bit annoying that you can't build an army of killer robots.

Bloody humans don't know how good they have it that the game forces me to play pacifist.

... Or maybe the AI is just deeply socially anxious, so that it completely shuts itself in when threatened by mere human contact?

That's really the only way to justify your behavior in the endgame.


Just played this game for a while after seeing your post, quite fun. Too bad development on it seems to have died off, and that there appears to be no option to actually overtake humanity as the end game.


Is the bot running on a machine that can accept incoming HTTP connections? It would be cool if it could serve a status page showing the currently running revision, the status of pending votes, that sort of thing.


Yep, the IP is 162.243.149.229!


I hope so!

That would be cool.


Do you think you can enable issues on github? It may help organize some of the work going on.


I didn't know it was disabled, thanks.


I wonder how long until someone accidentally breaks it. Nomic has judges for a reason, this one'll just crash...

Love the idea though.


There's an opportunity for some sort of self-referential CI system here - e.g. have the bot build itself, run a bunch of unit tests, and if they're successful patch itself permanently.


Yeah, that is probably pretty important. It looks like a lot of people aren't testing their changes, and any one could have a small syntax error.


Unit tests would be within the repository, of course, just like the unit tests tests which will also be validated.


Feel free to create a PR that adds a judge system!


I hope it pulls a change to allow it and other instances to vote on changes based on novelty, and of course, vote on whether or not other instances should be able to pull vote capabilities.


"GitHub plays programmer" This is going to be great!


One of the first things that come to mind would be to add the ability to shell out and run npm, so people could add dependancies.

Then of course, I would add a backdoor that allows me to update running code without involving github. Might want to try to break out of whatever chroot is going on and subvert the image.

I'd suggest an out-of-band once a day full image restore.


The child_process module can be used to run shell commands.

https://nodejs.org/api/child_process.html


Do you want Roko's basilisk? Because that's how you get it :). In seriousness, I love this thing.


Allied Mastercomputer is the actual project goal, but close guess.


Someone should add the ability for it to create new bots, that write new code and submit change requests back to it's original master bot.

At some point it becomes skynet. daa-daa-dun-dun-dun....


This is really cool. I've been participating and its interesting... right now its "coming alive" and still has no useful feature, but soon....


I am tempted to change the function checkPRS so the bot won't be able to accept pull requests...


Great idea, but I think it should have been named "PReddit" (Pull Request rEDDIT)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: