Arc Forumnew | comments | leaders | submitlogin
This is probably a really bad idea.
44 points by ambition 6139 days ago | 23 comments
This is probably a really bad idea. But I always wanted to see what would happen if someone tried it. I've never heard of anyone trying this. If you know of examples, hit me. If there was ever a time, or a bunch of people smart enough to make it work, this is it.

I'm very open to flames and suggestions, either on this thread or by email.

[It's so bad, I should probably go make a new user id just to propose it. There's part of me that can't believe I'm putting these words on the web.]

First things first. I put arc into a standard subversion repository. I applied Eli Barzilay's patch to make it work with MzScheme v372 and put MzScheme v372 into an svn:externals so the whole thing comes in one big bundle. It's way slow but it works.

[If you were to make a list of ideas on the internet, and sort it by quality, and reverse it, and take the car of the result, you might just end up with this.]

Here's the great social experiment:

    username: public
    password: archer
The source code, like a Wiki. Anyone can edit. Anyone can destroy. It's open-source taken to the logical extreme. It's completely ridiculous. Someone could sneak in code to wipe out your hard drive. We'd have to rely on publishing known safe revisions.

You want to show off and share some neat code snippets? Check 'em in. You want to fix Unicode? Go for it and put it somewhere where we can see it. You want head and tail and hth instead of car and cdr and cadar? Go add them. You want to make a unit test suite? Hop to it good sir or madam!

    svn co -r 4 http://ambitioushacker.com/s/arc/
    cd arc
    ./arc
Let's try something new. I'm gambling that the mature folks overpower the immature. I think if Wikipedia can overcome the issues in an open encyclopedia, we can solve the problems in stupidly open code.

Please don't hurt me.



4 points by nex3 6139 days ago | link

I had a similar idea (http://arclanguage.org/item?id=809), although without the particular innovation of granting anyone commit rights.

I like the idea of using a distributed revision-control system more than a client-server one like Subversion, so people can make their own personal commits and push around patches to each other at will. I think to some extent it mitigates the need to give everyone commit rights since everyone's on an equal footing.

That said, I think it's still a cool experiment. I'd just like to see the repository in a format that can get patches from the git network (that is, granted, only composed of me at the moment).

-----

4 points by ambition 6139 days ago | link

I like git. I thought doing exactly what you did. I went with subversion because it was simpler (I know svn better than I know git) and because it makes the Wikipedia analogy work.

Let's see what happens, shall we?

-----

4 points by nex3 6139 days ago | link

Okay, sounds good. I'll set up a wiki branch of my git repo mirroring it.

I was going to ask you to reorganize the directories so that they'd work better for mirroring, but then I realized it was a wiki, and did it myself. I hope you don't mind.

Update: There now exists git://nex-3.com/arc-wiki.git, with anonymous push access.

  $ git clone git://nex-3.com/arc-wiki.git
  $ cd arc-wiki
  ... edit stuff ...
  $ git push
You don't even need a fake username-password :). It has all the patches in the Subversion wiki as of this writing, and it's based on my existing git repo, so patches can easily be sent back and forth.

-----

6 points by icemaze 6138 days ago | link

This is really nice! ^_^

Truly innovative, pure hacker style. But it is also true that anonymity can make people a little more... daring. I think a registration form could be a good step towards sanity: a login makes people think twice, which is usually a good thing. Just a suggestion, see if it suits you.

-----

2 points by nex3 6137 days ago | link

I'm not sure this is necessary, at least yet. People seem to be quite well-behaved so far - the only breakage is accidental (and that's mostly me anyway :-/).

-----

6 points by ambition 6139 days ago | link

Revision 5 is safe too. Someone put in a kick-ass, beautiful-short simulated annealing algorithm. Awesome.

-----

4 points by akkartik 6139 days ago | link

Super-cool. People should put their name/email in commits.

-----

5 points by chaos 6138 days ago | link

heh, thanks :) I'll put them in next time.

-----

8 points by eeklund 6138 days ago | link

I've been thinking of doing this kind of thing for a while.

There's just one more important thing I think you should do: Add a diff mailer and a mailing list we can subscribe to, so it is possible for people to review the changes.

Eivind.

-----

4 points by ambition 6138 days ago | link

Done!

http://arclanguage.org/item?id=966 http://ambitioushacker.com/s/arc/README

-----

6 points by ambition 6138 days ago | link

Brilliant idea. Will do "soon" for some value of soon.

-----

4 points by Xichekolas 6138 days ago | link

Yeah something like the timelime feature in trac would be nice to see the diffs and commits. Would also probably make it easier to notice people slipping in those calls to 'rm -rf /' with system and back those out.

-----

5 points by ambition 6138 days ago | link

Revision 7! This just might work after all...

-----

6 points by akkartik 6139 days ago | link

Heh, that's one way for svn to compete with git - just give everyone commit rights.

Great idea.

-----

9 points by akkartik 6139 days ago | link

Name suggestion: anARChy

Or even an-arc-ki

:)

-----

5 points by ambition 6138 days ago | link

anarcki or anarki are wicked names. Love it.

-----

4 points by akkartik 6138 days ago | link

I'm going with anarc-ki locally, and pulling off of the git repo.

It's really cool to look at its git log.

-----

2 points by nex3 6138 days ago | link

Revisions 18 through 27 are merging in the Git repo changes.

-----

2 points by ambition 6138 days ago | link

Awesome!

-----

3 points by chaos 6138 days ago | link

Revision 12, synchronized with git and added a simple bayesian classifier.

-----

2 points by younder 6137 days ago | link

It is better to use darcs for this kind of thing. In darcs you publish the code on the net. A user gets the repository and can fork new developements. If you want some guy's patch you merge it with your repository. There is no central repository.

-----

4 points by nex3 6136 days ago | link

This applies to any distributed revision control system, which is why I created a Git repo: http://arclanguage.org/item?id=809.

However, Subversion has the distinct benefit of practically everyone already having it installed. I think the current system works quite well: there are both Git and Subversion Anarkies, and they're kept as similar as possible.

-----

1 point by duke 6125 days ago | link

very cool idea.. and great guts to do it.. i've dreamed of a tool like this to maybe help me (and sorry programming illiterates like me) learn to make software.. i hope a branch of anarki grows to help people learn to code..

-----