Thursday, April 27, 2006

Rob Levin's FeeNode

Two years ago, I embarked on a journey to leave my home network of corrupt operators, AustNet, and search for a better, more suitable place for an open source developer and collaborator, like myself. I'm no famous person, but those who know me generally like me. I took with me a few friends, who had also been disgruntled with the way our current network was being run. Operators were meddling too much with channels, taking them over, and generally creating unwanted politics.

At the time, I was working on an IRC bot which joined channels and simply counted how many lines were being spoken. My idea was that you have more of an idea how useful a channel is if you get a count of activity as well as number of users. Typically, here, I was inspired by a few things Google had attempted in the past, but had failed due to privacy concerns. My project in no way logged the content of messages seen, and provided a way for channels to stop the bot, which I and many others affectionately called murl, from joining their channels should they so wish.

I had heard of freenode from a few people about IRC, and decided to investigate the website. Needless to say, it sounded like a developer's wet dream. Hastily, I joined the network, and it's associated social/staff channel to investigate further. There, I was greeted by a cheery (at the time) staff member by the name of asuffield, who I started to question about the network. After I was satisfied that everything met my needs, I started to talk about my project and if the staff there would have any problems with it, promising to work with staff members wherever possible to ensure that I was no bother. This staff member was very intrigued by the project, and I spent quite a long time discussing it with him, at the end of which I was welcomed to bring my project to the network.

During my first few weeks on the network, I encountered my share of problems, as an open source developer does, but the most of which was directed from an extremely small number of very uptight users screaming bloody murder about privacy. Despite my tireless efforts to make the project viable, and keep these people happy, my dream was soon squashed by the intervention of one so-called head of staff, lilo.

At first, this man seemed nice enough, and even appeared willing to work with me to 'iron out the kinks'. Soon enough, that attitude passed, and after a few complaints, the bot and myself found themselves banned from freenode (or D-Lined as it was called). After trying staff@freenode.net (to which there was no response), I asked my friends to talk to them for me, when I did return, I was saked to disable my 'indexing' of channels, and with one foul swoop, half the point of moving to freenode was lost.

As of now, I've spent the last two years on freenode. I, and many others, have endured constant harassment from lilo, including a highly frequent stream of global notices begging for donations, supposedly so he can focus more on freenode and less on trying to earn a living (and who of us wouldn't want to be paid to sit on IRC all day, but I mean, come on). He's been seen meddling with channels, and their politics, but rarely ever seen doing actual work which would benefit freenode. Several times, IRCd and Services projects have been started to improve the network, and discontinued due to lilo's politics getting in the way of actual implementation, pissing off more than his fair share of developers in the process, including myself, as I was naive enough at the beginning to think I could help this shell of a network be a better place, even after my own dream had been dashed.

When freenode channel policy changed, we were forced to bring our channel, #juped, into line with the changes, as at the time we had no general purpose (the main project was abandoned), and we were now considered 'off-topic'. CXI and I spent a week building webpages, repositories, and other parts essential to a developer community. We labeled ourselves as a collaborative of developers who worked on our own projects, but shared ideas, tips, and general knowledge to help each other when needed. Alot of the time there may have been general chatter, but who can focus on work 24 hours a day?

We submitted a Group Application with freenode, and were assured it would be seen to as soon as possible. lilo interrogated us and our webpages fiercely trying to find a loophole in our effort in order to give us a negative reply, after being disappointed our application was simply lost, this has not only happened to our channel, but many other channels lilo did not agree with. Without a Group Contact, your channel is not official, and freenode may take the channel from you at any time they wish.

The current situation started when a fellow developer and friend on mine, jilles (who was among the developers lilo had pissed off in the past), witnessed the next donation atrocity lilo was embarking upon at his personal weblog. The man now wants US$312,000 to fund a new motorhome, and pay his outstanding student loans.

Quote; ..."it would help a lot in the development of freenode if I could travel more. I could visit sponsors on their home turf; I could meet participants at conferences. I could do "coder weekends" to help advance the development of replacements for our aging software. Replacing our old trailer with a middle-range motorhome would let me do that."

Do I need to point out, a large number of developers in the open source community do not even live in the USA? Myself, and the friends I brought with me are from Australia, bioanarchism is from Singapore, and jilles is in the Netherlands. None of us would benefit from lilo getting a motorhome, nor do I think he'd do anything more than simply travel where he pleases, ignoring those open source developers that don't interest him, and giving fake pleasantries to those he does visit.

Also, I haven't seen one single iteration of attempted software replacements succeed, unless he's planning on going to these coders houses, chain them up, and whip them when they don't do as their told, I don't see how he will accomplish doing this with a motorhome. The current generation software, hyperion, is just a patch of their old software, dancer. Changing the name was just to make it look like something had actually been done.

Fed up of the attitude this head of staff had taken toward leeching money from innocent developers (we're not rich you know, we'd be closed source developers if we were), jilles left the network in a fit of disgust. After doing so, I sat there for a moment; "Hang on, jilles is quite a level-headed guy, for him to get like that, there has to be serious problem.". I was informed of the personal blog, SpinHome by some of the channel members, and I soon found out the problem.

lilo has taken advantage of his position before to accrue dontations in the name of freenode for his own personal benefit, harassing us users with global notices. I knew it wouldn't be long before it started again, he already globalled three times when Google announced it would now be hosting their Summer of Code on SlashNet, urging us to join the channel he set up for the occasion, ##googlesummer.

I followed jilles to AthemeNet, where he is both a developer and staffer. He'd already set up a mirror of #juped there, so I joined that and the staff/social channel #atheme and began to interrogate them. It took me three days of careful decision to finally make the move to that network, after my experience on freenode, I'm more than suspicious of a network before I integrate myself now. Although the network is currently small, I've found the staff to be friendly, the policies fair, the politics minimal, and most of all, there is no head of staff. All decisions are passed by vote of all staff.

What follows is a snippet of #juped on freenode after I made the decision, and the reaction lilo had to it;

# angeles changed the topic of #juped to: Rob Levin AKA lilo wants US$328000 for a motorhome (and to generally not have to work for a living), let's get outta here before the global notices start! irc://irc.atheme.org/juped
<@angeles> 12:36.08 -!- Irssi: Network freenode removed
# angeles!n=quin@dsl-124-148-125-26.qld.westnet.com.au has quit: "leaving"
Day changed Wed Apr 26 2006
# walker!n=peter@58.145.146.84 has joined #juped
<@praetorian> see topic
<@praetorian> pter
# walker!n=peter@58.145.146.84 has quit: Read error: 110 (Connection timed out)
# shadower!n=shadower@office.auconnect.net has joined #juped
# optimus!i=lucifer@foocode.net has joined #juped
# mode/#juped: +v optimus by ChanServ
# optimus!i=lucifer@beigetower/reboot has quit: "Sleep? Oh boy! That's where I'm a viking!"
# optimus!i=lucifer@foocode.net has joined #juped
# mode/#juped: +v optimus by ChanServ
# Pauk!n=shadower@office.auconnect.net has joined #juped
# shadower!n=shadower@office.auconnect.net has quit: Read error: 110 (Connection timed out)
< stylus> yo all. :)
# Serial!n=~dickens@unaffiliated/serial has joined #juped
<@felipe> 13:31 <+somegeek> cool, got to love it
<@felipe> 13:31 <+somegeek> topic of #juped
<@felipe> 13:31 <+somegeek> they actually managed to get every single detail wrong :)
<@felipe> 13:31 <+somegeek> and be unpleasant too :)
<@felipe> 13:31 * somegeek is impressed :)
<@felipe> maybe make +i?
<@felipe> (that's how Serial got here.)
< Serial> ;)
< Serial> :o
# Serial!n=~dickens@unaffiliated/serial has left #juped: "Leaving"
# mode/#juped: +s by felipe
# mode/#juped: -s by ChanServ
< stylus> garrr, tlock..
# somegeek!i=levin@unaffiliated/somegeek has joined #juped
* somegeek looks at the topic
< somegeek> very impressive
< somegeek> the only accurate thing in it is the irc: url :)
< somegeek> I'm not using my official position
<@felipe> explaining to people which of the bits are wrong wouldn't hurt
< somegeek> I do want to continue to work for a living
< somegeek> which I'm doing now
<@felipe> there's lot of people that don't get it (I'm not really one of them)
< somegeek> $328000 is inaccurate, it's $312000 and only part of it is for a motorhome (and actually considering the part I'm chipping in, it's a bit less than $312000)
<@Anil> anyways, this is off-topic in here
< somegeek> I'm not using my official position, I'm using this generally powerless IRC nick
< somegeek> and I'm certainly not using global notices
# Anil changed the topic of #juped to: .
# PhilKC!i=PhilKC@azureus/PhilKC has joined #juped
< somegeek> Anil: oh, leave it up....if you guys want to move I'm sure nobody will object
# mode/#juped: +i by felipe
< somegeek> in fact, a staffer or two can come by later to provide the official position on user harassment ;)
< somegeek> anyway, I'm gone....seriously though
< somegeek> you should consider the move, athemenet is a great network
* somegeek waves
# somegeek!i=levin@unaffiliated/somegeek has left #juped:
* PhilKC blinks and wonders what he just walked in on...
< stylus> *cough*
<@Anil> just some non-sense
# Anil changed the topic of #juped to: Rob Levin AKA lilo wants US$328000 for a motorhome (and to generally not have to work for a living), let's get outta here before the global notices start! (and oh, don't forget the $15,000 student loans) | irc://irc.atheme.org/juped
# angeles!n=quin@dsl-124-148-125-26.qld.westnet.com.au has joined #juped
# mode/#juped: +o angeles by ChanServ
# mode/#juped: -i by angeles
# mode/#juped: +b *!levin@* by angeles
# mode/#juped: +b lilo!*@* by angeles
# mode/#juped: +b somegeek!*@* by angeles
< stylus> heh.
<@stefan> mmm, will that ident ban work with the i= system?
<@angeles> oh yeah, forgot about that shit
# mode/#juped: -b+b *!levin@* *!*levin@* by angeles
# angeles changed the topic of #juped to: Rob Levin AKA lilo wants US$328000 for a motorhome (and his outstanding student loans), let's get outta here before the global notices start! | Trolling topics and trying to control people's opinions is so communistic it ain't funny, get a better hobby lilo | We were never wanted here, and our group application was lost twice, AthemeNet HO! irc://irc.atheme.org/juped
<@felipe> and the +s
<@angeles> i tend to agree with jilles
<@angeles> let them play their little games, i'll be here waiting for some of the fun
# angeles changed the topic of #juped to: Rob Levin (aka lilo) wants US$312000 for a motorhome (and his outstanding student loans), let's get outta here before the global notices start again! | Trolling topics/channels and trying to control people's opinions is very communistic and against your own so called beliefs, get a better hobby lilo | We were never wanted here, and our group application was 'lost' twice, AthemeNet HO! irc://irc.atheme.org/juped
<+optimus> bloody kids
<@angeles> excuse me?
<+optimus> this is very childish
<@angeles> sif i care, the shit is starting to get ridiculous
<@angeles> no one is forcing you to be apart of it anyway
<@angeles> he wants to take it out on someone, i accept full responsibility for my actions
<@angeles> i won't let anil or anyone else here take the brunt of my levin-bashing
<@angeles> i admit the original topic was a little careless and nasty, but it's ammended now
<+optimus> yeah, now with added nastyness!
# angeles is now known as quin
<@quin> if you can point out a part which is especially nasty and untruthful i will fix it
<@quin> at least i'm honest about the way i feel, rather than pretending to be nice and then simply being egotistical behind the scenes
<@quin> i don't appreciate bringing the channel in line with freenode policy only to have it be for nothing
<@quin> mind you, freenode policy changed after i was assured the context of this channel was ok to bring here
<+optimus> wouldn't it be fixed if you went to ##juped ?
<+optimus> mind you
<+optimus> freenode is poo.
<+optimus> i came here for this chan
<+optimus> but then I found others i like
<@Anil> silo?
<@Anil> optimus: athemnet isn't all that bad ;)
<@quin> we turned ourselves into a development collaborative, built webpages and repositories
<+optimus> well
<+optimus> not really
<+optimus> all ideas, not much implementation
<@quin> to our faces he was all like 'great, we'll get that app done for you'
<+optimus> what is athemnet ?
<@quin> it was enough to fall into channge guidelines
<@quin> channel*
<@Anil> optimus: a network founded by jilles and nenolod
< stylus> irc://irc.atheme.org/juped
<@Anil> both X devs of freenode
<@quin> sam built the webpages and repositories by hand
<@praetorian> HELLO
<@quin> while i spearheaded the channel <-> freenode pr stuff
<@quin> i'm forever talking about my project and linux in general
# lilo!i=levin@freenode/staff/pdpc.levin has joined #juped
< lilo> hi all...just to be clear....are you guys moving, or not?
<@felipe> quin: ^^
< lilo> in the absence of an answer, angeles has alternate channel contact status, so I can go ahead and assume you really are moving
<@quin> most definately
< lilo> kay, thanks....please don't leave the pointer up for more than a week
< lilo> that should give you plenty of time to make your move
< lilo> (per policy)
<@quin> you're violating our sanctity, i've explicitly prohibited your from this channel
<@quin> now please stop meddling and leave, we'll be out of your hair soon enough
< lilo> you've prohibited a freenode staffer from a freenode channel?
* lilo scratches his head
# ChanServ!ChanServ@services. has left #juped:
<@Anil> oh god
# mode/#juped: -s+cnt by ChanServ
# Anil!i=anil@unaffiliated/anil has left #juped:
<@quin> you have no business commenting on our affairs
# mode/#juped: +ntcm by ChanServ
<@felipe> hmm
# ChanServ!ChanServ@services. has joined #juped
# ServerMode/#juped: +o ChanServ by irc.freenode.net
# mode/#juped: -oo quin stefan by ChanServ
# mode/#juped: -oo praetorian Chandra by ChanServ
# mode/#juped: -oo felipe Talrias by ChanServ
# mode/#juped: -oo Alex bioanarchism by ChanServ
# lilo changed the topic of #juped to: Channel moving to irc://irc.athemenet.org/#juped. Frozen per network policy 2006/4/26 12:28 UTC. Thanks!
# quin!n=quin@dsl-124-148-125-26.qld.westnet.com.au has quit: Client Quit
# stylus!n=tiforum@unaffiliated/stylus has left #juped:
# nenolod!n=nenolod@unaffiliated/nenolod has joined #juped
# felipe!n=felipe@my.nada.kth.se has left #juped:
# nenolod!n=nenolod@unaffiliated/nenolod has left #juped:
< lilo> oops
# lilo changed the topic of #juped to: Channel moving to irc://irc.atheme.org/#juped. Frozen per network policy 2006/4/26 12:28 UTC. Thanks!
# praetorian!n=praetori@unaffiliated/praetorian has left #juped:
# PhilKC!i=PhilKC@azureus/PhilKC has left #juped:


I don't know why he had to take it upon himself to meddle with us, his attention was both unwelcome and unneeded. I was simply trying to inform my members that we were moving, and the reason I had made the decision. As a channel owner, I believe I had the right to voice my opinion, no matter if someone else thinks it was right or not. Not only did he overthrow my channel, he incorrectly setup the forward. It seems he's trying to enforce his 'About' Channel naming scheme on us, because if you click the irc:// link he posted, you'll be taken to ##juped on AthemeNet. I always knew his intelligence was overrated.

Now, to further substantiate my outrage, let's quote some freenode policy;
  • Channel Ownership: ..."No minimum level of activity or moderation is expected or required of channel owners."...

  • On Topic Use: ..."Non-Software-Related Peer-Directed Project. Per the PDPC charter, channels which serve projects combining open, informal participation and broadly-licensed, widely-disseminated creative output are considered to be on-topic. If you believe your non-software project may meet the criteria for a non-software peer-directed project, please consult a staffer or email staff at freenode dot net."...

  • Termination of Use: ..."If you've announced you're moving, we'll leave your channels untouched for that week."...

Also of interest, is freenode's section on Catalysts;
  • ..."Unobtrusive. It's not necessary to invoke authority to help solve a problem, and far better if you don't. Look for an opportunity to nudge the situation into a more productive track. Don't critique the user if a quiet change of subject, or a private conversation on a completely different topic, can help make the problem fade away."...

  • ..."Realistic. Accept the personalities of your users and concentrate on problem resolution. Don't expect people to suddenly change their personalities to make problem resolution easier."...

  • ..."Minimalist. Don't do more than you need to in order to resolve a problem. A problem scene is often the wrong time and place to set policy. Concentrate on the resolution, and on collecting information you can think about later."...

  • ..."Cooperative. Look for opportunities to get people involved in the resolution of their own and others' problems."...

  • ..."Someone with an internal locus of control. Catalysts concentrate on solving problems, not bestowing blame. Treat the situation as the problem, accept the users for who they are and try to figure out how best to help resolve the difficulty."...

  • ..."A user. Remember that you're not in charge. Everybody runs their own little corner of the world. Let them do the job they're capable of. Just help the process along as unobtrusively as possible. Other catalysts are users as well, and nobody is perfect. We're all just here to do our best to keep things running well."...

And alot more there, applies to this circumstance. It seems the head of staff isn't even able to follow their own guidelines for personal conduct. I personally, am glad to be gone, and anyone is welcome to join #juped on AthemeNet, we don't have to worry about keeping the communist dictator happy there.

That's just my two cents (and then some), anyway.

Further Reading;

Email sent to Freenode Staff;

Attention Staff,

Upon moving our channel, #juped, I put a pointer in my topic and gave my reason (which is a personal opinion, something that should not be moderated) for making the move. Aparrently, while trolling topics, your head of staff, lilo, came in with his so-called 'powerless' user to give his opinion.

Upon banning both his clients, he returned to 'check if we were still moving'. After being informed we did not want him there (as he had no reason to be there) and that I had prohibited him from the channel, he froze the channel and setup incorrect pointers to our new home.

I would appreciate it if the pointer was corrected, as irc://irc.atheme.org/#juped points to ##juped on AthemeNet, not #juped, which is our channel. I would also like the behaviour of this person strictly evaluated, as I and many others believe him to be unfit for the role he assumes on freenode.

Unfortunately, I will never recommend freenode to people looking for assistance on open source projects and will hereby forward people to OFTC for help. This may change if lilo is removed as head of staff, but for now, it is going to be my personal quest to shun everyone from freenode.

What can one person do? You think. Well, think about what one person has already done to your network, and think about the contacts a true open source developer has in the community. I will not rest until this matter is brought to light, and I must warn you, my determination is more than absolute.

For further information, you are invited to visit my weblog which contains a full account of the incident in which I am talking about, including a log of the events that occured therein. You may find it at: http://qreeves.blogspot.com/

Yours Sincerely,
Quinton Reeves


I doubt the situation will ever be resolved though.
Post a Comment