In the past couple of weeks, there's been a lot of commotion in the open source / free software world about codes of conduct and specific people (Linus) and specific projects (Linux) and so on. This is a thing now, that is a thing now, this is good, this is bad, we're pulling our code, you're a bad person, you're a this, you're a that. We don't like you, all of you are this way, none of you are that way. We're being attacked, we don't attack, blah blah blah blah blah.
In that vein, I received a question from Peter who writes...
I have with great interest for many years been reading about your experiences with, and thoughts on corporate culture.
The Linux kernel community is now going through a cultural change, which I have my own conflicting thoughts about. I would like to hear your opinion on this matter, if you think that you have the time, and something interesting to say about it.
... and there are links to the lkml posts about Linus going on a break, and all of that stuff. Everything you've already heard about on HN and/or your favorite this-leaning or that-leaning web site.
This is a legitimate question, and I have an answer, but I don't think many people are going to like it.
My response to this is to say "wow, look at how screwed up these communities are", and then tag on "just like I always suspected", and then finally I add "and that reinforces my decision to stay out of them".
So, okay, what does that mean in practice? I wrote a really horrible utility that Should Not Exist at a former employer. Some folks there wanted to open source it. (Why they didn't attack the root cause instead of investing in this horrible thing is a story for another time). I did not want to deal with the community, and the things which would come from opening it up. So, I didn't put any effort into it, and it didn't happen under my tenure.
I've felt this way for a long time, and I still do, and apparently have no reason to change. My take on it is, and has been: if the community is so toxic, then it can operate without some of us.
Really, I'm not just making this up here on the fly. I have actual written proof in a post of mine from June 2013.
Notice this part:
While it's probably true that the dictator does suck at design, the talented user wants no part of the drama which would follow such a report. There is absolutely no benefit to lighting that particular fuse. And so, the problem is never reported, and the patch is never conveyed upstream. It effectively becomes a private fork limited to the talented user's systems.
I wrote that as a cautionary tale those 5 years ago, but it was actually me describing what I was already doing. And, guess what, I'm still going to be doing it. Grab it, fork it locally, fix it locally, and share fixes with a few trusted individuals who have been invited to participate in the system.
Does this help the community? Nope. Wasted effort abounds.
I'm here to remind everyone of that post, and to point out that I'm not the only one doing this. There could be an entire "shadow ecosystem" of invite-only source repos being shared among friends who are responsible for those they invite, including possibly having whole "trees" pruned if they turn out to be troublesome.
What's funny is that my friends in the know tell me this is how private warez torrent sites work: you invite someone, and now you're responsible for their behavior. If they mess up, you deal with them, or you might be out, too.
How do you fix this? I don't think you do. Be a good person and you will be invited to a private/secret repository. Continue to be reasonable and respectful to those who are part of it and you can maintain your access.
While I have your attention, I want to try to explain some terms I use in the real world, and specifically the difference between them.
The notion of "Vegas rules" is inspired by their marketing schtick of "what happens in (Las) Vegas stays in (Las) Vegas". Basically, it's what you apply to a meeting or project or whatever when the actual discussions are private, but the fact that the meeting occurred is not. People know that Las Vegas exists. That's not the secret. The secret is what happens there, as the line goes.
So, then, contrast that with this.
"Fight Club rules", then, are inspired by the movie, in which a bunch of people get together and do things but don't even acknowledge it exists the rest of the time. It encompasses the "private discussions" angle of "Vegas rules", but it also goes a step beyond that to indicate that the event, venue, project, tool, or whatever is itself not to be discussed.
The private/secret repos I'm talking about? They're probably operating under Fight Club rules. If you aren't plugged in, they don't even exist as far as you are concerned. You don't even know you're missing out.
I think I'm okay with that.