git vs. professionalism
I followed a random link today that led me to the complete email archive of the discussion, following Theo de Raadt's expulsion from NetBSD in 1994, that led to the creation of OpenBSD.
Check out this quote:
- I want _EVERYONE_ working on NetBSD to behave in a professional
manner, in public _AND_ in private. Obviously, the latter can't be
enforced, but if people complain about "unprofessional" behaviour,
then it doesn't rightly matter _where_ it occurred.
-- a NetBSD core team member
The entire email chain - from both sides - is totally pointless politics. But it's educational, because it reminds us of a few things programmers have learned since then:
- enforced professionalism sounds scarily draconian;
- the best programmers are not the best company representatives, and expecting them to be is silly;
- withholding technical stuff (CVS access) in exchange for political stuff (an apology) just results in angst and wasted time;
- accepting/refusing code based on anything other than technical merits (and valid licensing, I suppose) is stupid;
- when you give a "core team" special powers, they abuse those powers;
- you can hold emotional power over a programmer by controlling whether their work is used or not used, and that power needs to be used responsibly.
When I say we've learned these things, maybe I'm just being optimistic. Probably there are plenty of teams with equally stupid politics going on. I hear the Java Community Process is similarly a waste of time.
What would happen if you tried to kick Linus Torvalds off the "Linux core team?" He would laugh at you. There is no core team. There is nothing to kick him off of. There is no CVS commit access to revoke. He can be as much of a bastard as he wants, and a bunch of self-appointed "project representatives" can't stop him from giving us all the awesome code he wants to.
Of course, Linus is synonymous with Linux; if anyone was going to be "kicked out", it would be anyone or everyone but him. So it's even more funny that he's the guy who wrote git, the tool that makes it impossible to block anybody. Now he can be even more of a bastard, because even if people hate him and quit, they'll still share their code with the world, including him.
As far as I know, all the BSDs still use CVS. Of course they do. Switching away from that would be like admitting their whole world view is wrong.
- that is what the above is. if it has anger in it, then that is what
is in it. it is an honest and open sharing of ideas and feelings. those
feelings include anger, hurt, apprehension, loss. but i'm trying to
find a way to forget about that past stuff, and you're not making it
-- Theo de Raadt
ssh+2FA to all your machines, anywhere, without opening firewall ports.