Do come in and sit down. Pour yourself a cup of tea – I’ve just made a fresh pot.
It’s been quite a ride since we last met to talk about these things. I became Scheme chair, but I’m not any more. Indeed, I’ve had to quit Scheme entirely. Let me tell you how this happened.
Obviously, I’m a lot more personally (and emotionally) invested in telling the story this time than I was last time. It should go without saying that, like last time, this is my own view on what happened.
The story so far
In the beginning, Scheme was created.
Scheme was born into a very sexist environment in the CS and AI laboratories at MIT. A 1983 report, Barriers to Equality in Academia: Women in Computer Science at MIT, describes how women working and studying in the labs were systematically treated as less qualified than men, their input less valued then men’s, and they were routinely sexualized and insulted by their male colleagues. This is the environment Scheme grew up in before it made its way out of the lab and into the world: the Structure and Interpretation of Computer Programs curriculum had been trialled and developed at MIT over the years leading up to the report; the first edition of the textbook would be published the following year.
Unsurprisingly, the experiences of the women at MIT in the early 1980s could just as well describe the experiences of women in the free software community today. Indeed, despite a strong set of recommendations in the report, MIT itself never really improved by any account, continuing to employ (for example) Richard Stallman despite women at MIT and in the Cambridge/Boston hacker scene having warned one another for decades about his tendency to make unwanted advances.
What does Scheme carry of the legacy of the place it was born? Scheme and the free software movement were both born in the same place, of the same culture – usually something I say with a sense of familial solidarity, but make no mistake, the culture we both inherited has its more shameful aspects too.
I’m not going to answer this question directly. Just bear it in mind as I tell my story.
What happened, then?
As I mentioned last time, the old steering committee – the body responsible for chartering the Scheme working group and appointing the chair – was something of an absentee landlord. Plans to have regular meetings never panned out. They could be reached for emergencies, but it became clear that the working group wanted things that would necessitate some renegotiation of our rules of engagement – a revision to the working group’s charter – and the old steering committee was not in a competent position to be able to do this. So I suggested to the WG that we asked them to resign, which they did, and hold a new election, which they tasked us on the WG with organizing.
Meanwhile, in parallel, SRFI 261 was finalized. There are many, many problems with this SRFI; I raised many issues before finalization, but was ignored (because I say too much – oh, sorry, what was that about sexism again?). But the most troubling was that it seemed to make incompatible amendments to previous SRFIs, including my own, without the consent of their authors, in a way which would also affect the metadata about the entire SRFI database maintained by the SRFI editor.
Arthur Gleckler is, since 2015, the only SRFI editor. So I asked him to adjudicate and give his view on how this SRFI affected previous SRFIs and how he would maintain the SRFI metadata in future.
Glecker … ignored me. He just didn’t give a clear answer to the questions I had. Despite being as clear as I could that I was making two specific procedural objections to what SRFI 261 seemed to do to my own previous work, Gleckler seemed to conflate this with the other problems I had with the SRFI (which I agreed were within the SRFI author’s personal power to maintain through to finalization).
To me, it was clear that some mediation was needed, so I intended to ask the incoming steering committee to help. However, Arthur then accepted a nomination to the steering committee, which would mean it would no longer be neutral between the two of us. So I asked him from whom he considered his authority as SRFI editor to derive, and consequently if he had an idea who would be a suitable mediator – a question he explicitly refused to answer, accusing me of being underhanded for even asking it.
As the election progressed it became clear that we would only have three candidates for the three positions on the steering committee: Marc Feeley (Gambit; on the previous SC as well, and its most active member); Shiro Kawai (Gauche); and Arthur Gleckler (aforementioned SRFI editor). Seeing what lay ahead, I sent the other two candidates a gloomy email saying I didn’t see how I could continue working on Scheme if Gleckler were on the steering committee, and that I would have to warn vulnerable people to stay away as well if that happened.
Wait, what? Was there something else going on here?
Yes, let’s take a skip backwards in time to when I started as chair. Something I intended to do as soon as possible – knowing that I would regret it if I didn’t do it before it was actually needed – was put a code of conduct for the working group in place with a team to enforce it.
I took too long to do this. While I was still in the process of consulting experienced people for advice on setting up a moderation system, there was an incident. I can’t go into details because the person involved asked for privacy, but I tried to deal with it as best I could despite having failed to put in place a clear set of rules in time. Unfortunately, I made the mistake of getting Arthur Gleckler involved because of his role as SRFI editor, as well as the (old) steering committee.
Gleckler downplayed and defended what happened, even after seeing the offensive communications in question. He was not swayed by appeals to the law, which may well have made the issue a criminal matter in the jurisdictions of the people involved if the victim had chosen to push the case, and which at the very least would require a reprimand in any professional environment in any country with a semblance of workplace antidiscrimination law.
Ultimately, the person on the receiving end of this abuse left the Scheme community entirely.
To say I consider this a personal failure is an understatement. It weighs on me greatly. I am thoroughly ashamed of what happened in that case, on my own watch, and realize in hindsight that I should already have known that involving Gleckler was a bad idea from the outset.
Determined not to let something like this happen again, I put a code of conduct in place as quickly as possible. To get it done fast and without inviting controversy, I chose the standard and widely adopted Contributor Covenant, and I gave the (old) steering committee the task of enforcing it. This effectively delegated the moderatorial role the charter foresees for the chair back to the SC itself. I delegated this task for two reasons.
First, the chair is the most powerful in the working group and shouldn’t be accountable only to themself. (We’ll return to the subject of accountability later.) I also know that I have a prickly personality sometimes and I wanted to make sure there was a recourse for people to go to someone else and ask them to talk to me on their behalf if I upset them.
But also, I wanted protection myself. As a trans woman in a high-profile position, I am very well aware of the danger of online transmisogyny. I could only credibly have protection if someone else were ultimately responsible for it: issuing formal warnings or bans in response to attacks on oneself only invites further escalation. A third party is needed.
The old steering committee wasn’t active much, but they did respond to urgent matters – and they were, under the charter, the course of appeal on moderatorial issues anyway. Also, they were detached enough from the active WG members at the time that there would be a reasonably low risk of them defending personal friends and colleagues, rather than dealing justly. So I made them the first instance for code of conduct issues. In case they were too lethargic, I also wrote that if someone emailed them with a concern and there was no response, they could ask me or Marc Nieper-Wißkirchen to give them a poke and get them to act, which had also proven effective in the past.
But, with a new steering committee on the way in, and the very person I least trusted with sensitive matters due to be on it, it now seemed a very bad choice indeed to have the steering committee responsible for moderation and awareness.
But how did you actually get fired, then?
From December 2025 I was on leave from the chair anyway, initially due to health issues. In my absence, acting chairs took over organizing and running meetings. For various reasons including an increased workload at my paid employment and at Codeberg, my leave ended up being much longer than expected, but the WG made excellent progress while I was away.
After informing Marc Feeley and Shiro Kawai, the only other candidates, that I wasn’t feeling great about Gleckler being on the steering committee, at FOSDEM 2026 I took the opportunity of getting some sober advice from some trusted friends in the Scheme community. They suggested that if Gleckler was going to be on the SC, since I was the one who gave the job of moderation to the SC in the first place, I should take it away from them and set up a seperate moderation team. This seemed a good plan.
Also, in February – after I had already publically asked Gleckler why he intended to take a position on a committee which I had told him I wanted to take on a neutral mediation role between us – Gleckler did finally answer my questions about SRFI 261 to my complete satisfaction, in a private email. His answer did, in my view, contradict the stated opinion of SRFI 261’s author, and I still wonder why he never answered publically.
There were, indeed, only three candidates for the SC in the end, so Marc Feeley, Shiro Kawai, and Arthur Gleckler took office as the new, self-selected steering committee without being voted in by the Scheme community.
In July I looked at my calendar and felt that I could finally dedicate enough time to Scheme again, so I announced my intention to return to the chair, taking the next meeting for which the acting chairs had already surveyed potential dates. Meanwhile, I asked Sebastian Crane (many years chair of the board of F-Droid) and Peter Brett (Schemer and vice president of the Information Technology and Telecoms sector at the Prospect trade union) about joining a new moderation and awareness team, and they graciously accepted; we discussed who might make a suitable third member.
A few days after issuing the invitation to the meeting, I received an email from Marc Feeley inviting me to teleconference with the steering committee to discuss unspecified ‘urgent matters’. This email arrived on the day I was travelling to Electromagnetic Field – which was no secret (my Träwelling activities were also linked from my Mastodon account, my most active online presence, which likewise contained many posts about my travels in the UK). I likely didn’t even see it until I got back. Moreover, after EMF I got home and found I had caught some feverish sickness while there, and took a week to recover.
While the email mentioned the matters the committee wanted to discuss with me were urgent, there was no indication of a deadline for a response, nor that failure to respond promptly would be a sacking offence, nor any mention of previous attempts by the SC to contact me. It seemed prudent to me to wait until after I had recovered from my sickness – even until after my first meeting back in the WG chair, since I wanted to start to discuss with the WG the charter revision we desired.
Nonetheless, the Sunday before the planned meeting, I woke up from catching up on the sleep I missed due to EMF and EMF Flu and found I had been very publically fired. The given reason was that I had allegedly been ignoring the SC’s communications with me; they said they’d wanted to organize a status update meeting with me for a while, but I had been unreachable.
I had told the working group, including Gleckler, that I was on leave, and acting chairs were in place during that time. It is still unclear why they considered it so important to talk to me during my leave and didn’t talk to the acting chairs. In any case, both the steering committee and I are agreed on a timeline of their supposed attempts to contact me: their view is apparently that they appropriately communicated the urgency of their desire to speak with me personally; my view is that at no point did they mention urgency at all, except in their last email, nor any issues other than the one which Gleckler himself knew was already resolved.
This would also be a good time to remind you that when I put myself forward as a candidate for chair three years ago, I requested (very modest) remuneration for the position so I could guarantee I would be able to spend a reasonable minimum amount of time on Scheme matters. The old steering committee – which, again, included Marc Feeley, who should have been able to recall this – said they were unable to organize funding, but we agreed on a compromise that I would take the chair on the condition that they would not hold me to any deadlines.
After being fired, and following consultation with the acting chairs, the WG meeting took place with a different agenda than originally planned. I invited the steering committee to this meeting, hoping that a discussion between the working group and steering committee would clear the situation up and allow us to find new agreement and move forward as quickly as possible. Marc Feeley replied to the invitation 45 minutes before the planned meeting time, not explicitly declining the invitation but only repeating the committee’s excuse for having fired me and affirming the decision was final. (My invitation did not request my reinstatement nor anything like it.) In the end, nobody from the steering committee came to the meeting.
At an almost full meeting, I explained the situation as I saw it, and at the end, the WG nearly unanimously resolved to request my reinstatement. They also asked for a permanent vice chair, an idea I strongly agreed with as it would also increase the number of people with all the necessary information about the project organized in their head.
Both these requests were refused by the steering committee. When I pointed out privately that the WG has the authority to appoint its own officers apart from the chair, they said they would nonetheless not recognize the position of vice chair.
One of the acting chairs, who had been suggested as a candidate for the next chair, asked what the steering committee’s view on deadlines and the time commitment they expected, given they already broke the promise made to me by the last steering committee. But the steering committee had gone on holiday for the rest of the month and didn’t answer. The question is still unanswered nearly a month later.
The steering committee, at this point, seems to be refusing or ignoring every request the WG and its members made of it.
Finally, I received a private response to my email informing them that I had intended to set up an external moderation and awareness team and that, as ex-chair, I would be advising the new chair to do the same. They said they would not allow the WG to do this and considered themselves the only appropriate body to deal with code of conduct issues, once again unilaterally overruling the WG’s authority to appoint its own officers under its charter.
As I had made clear to Feeley and Kawai since January, and repeated in my mails to them since, if the only recourse in cases of harassment involved Gleckler, given his tendency to ignore problems, I would no longer feel safe in the working group and would have to warn others against joining it. Since they have made clear they intend to offer no other option nor allow any other option to be offered, and have given no assurances of having any system in mind to ensure that what happened last time won’t happen again, I left the working group and am no longer contributing to Scheme.
What the fuck
So, what went wrong here?
Evidently, the new steering committee is arrogant. It seems to believe it knows best, and seems to intend to ignore what the working group wants, despite the working group having gained so much experience in what it needs in order to do its job best.
As for why I was fired … well, there’s good reason to doubt the official explanation, especially since the steering committee fired me and then immediately themselves did the thing they supposedly fired me for. I suspect the meeting they wanted to hold with me, the one they invited me to while I was at EMF Camp, was to tell me privately I was fired before announcing it publically or allowing me to even chair a single meeting after returning from leave. But that only deepens the question of what the real reason was.
The only explanations that have occurred to me: there is some accusation about me going around that the steering committee knows of but won’t tell me about (but they’ve denied this and I no longer think it’s likely); or the steering committee was unimpressed that I went on leave for so long (which would mean the official explanation at least contains and element of the truth, but then why don’t they say that, then? possibly because Feeley knows that would break the promise made by the last steering committee regarding time commitment and deadlines – but as if the reason they did give didn’t break that promise?)
As for the potential motives of any individual members:
Arthur Gleckler has a clear reason to want me gone, since from his perspective I not only tried to block him from the steering committee, it also seems that in his eyes I’m also some kind of Woke Stalin looking for people with wrong opinions to send them to the gulag. (Since he considers the ‘opinions’ in question to include unsolicited detailed speculation about my sexual desires sent to me by email, he is likely to be implacable on this point.) I have no idea why he became so passive-aggressive in December 2025 and started ignoring my questions, though, which is really what started this whole problem between us.
Marc Feeley’s role in all this puzzles me. He seemed to genuinely value my contributions to Scheme standardization, and to be very sympathetic to my concerns about safety, yet ultimately was the one who fired me and then refused the invitation to discuss the matter further with the working group. Since he was on the old steering committee, he’s also the one who broke the promise to me about no deadline; and the only one who has definitely seen first-hand Gleckler’s tendency to downplay and defend abuse. Yet he apparently stands behind the policy that I and others have to trust him to deal with problems if they arise, and took this position in the knowledge that this would leave me with no option but to leave, despite telling me how much he valued my work.
Shiro Kawai remains a complete wildcard to me. I know very little about him, and have not interacted with him beyond occasional discussions of technical matters, then a few emails since he joined the steering committee.
I’m also still concerned about the number of unaccountable positions of power and responsibility Arthur Gleckler has got for himself. The Scheme community is very dispersed, owing to the large landscape of different implementations, but a few things exist at the crossroads of the community, and Gleckler is now involved in all of them:
The Scheme.org website is ‘run according to a charter that aims to serve the whole Scheme community’. The charter names three people responsible for various aspects of running the site, including Gleckler. There is no indication of how these people are accountable to the ‘whole Scheme community’ they claim to serve.
The domain name schemers.org redirects to scheme.org, but it’s not clear whether the rules listed in that charter apply to schemers.org and its subdomains (including srfi.schemers.org) as well. If they do, srfi.schemers.org is in violation of the rules (‘No embedded content from commercial services’) because it embeds Google Fonts.
The SRFI process, when it was set up in 1998, originally always had multiple editors, who could at least act as a check on one another’s work. Since 2015, Arthur Gleckler has been the only editor. He has explicitly refused to answer the question about who he is accountable to in this role, and who has the responsibility to appoint new SRFI editors. He has pointed out that he was the only one who volunteered to run the SRFI process when it would otherwise have been closed down in 2015, but to my knowledge, he has never made any attempt to find someone else to work with to restore the situation pre-2015 where multiple editors worked together.
Now Gleckler is on the steering committee as well, which is accountable to no one, serves as long as it pleases, and decides for itself who will serve on it and how they will be chosen. Like the old committee of SRFI editors before Gleckler took it over completely, they are at least accountable to one another, but towards the working group they are currently being secretive and intransigent. The working group asked for a fixed term before the new election started, mostly because of the bad memory of the previous committee which had been in office so long most of its members seemed to have lost interest, but a fixed term of office would also give the community explicit control over it.
Given the steering committee’s attitude to the working group’s requests so far, I am doubtful we will see this happen.
In practice, the steering committee is also somewhat accountable to the working group, who could just tell the steering committee to get lost and strike out on its own instead. (This was suggested – not by me – in response to my sacking.) Less dramatically, as we saw last year, the working group can also ask the steering committee for a new election, but the steering committee has no obligation to acquiesce. Also, right after an election in which there were 20 nominations and only three acceptances – a real indictment of the state of the community and the perception of its leadership positions – is not the right time to try and roll the dice again.
As for Gleckler himself, he was quite upset that I tried to stop him accepting ‘a huge honor’ (his words) by pointing out that he was trying to join a group I had said I wanted to act as a neutral forum between us, and that this would prevent it from being neutral. The fact that he could have avoided that conflict by just answering my damn questions seemed to escape him, as did the idea of the steering committee as a responsible oversight body and not just another shiny hat for him to wear.
As chair, I suggested to the previous steering committee that Scheme needs a legal entity to manage the costs of running the digital infrastructure for these things the whole community depends on, and to ensure there are clear and enforceable rules about who is involved in running them and how. They declined to help set one up. Other Schemers have attacked the idea with a straw man, saying we’ll never get all the implementations to agree to be controlled by a single organization (though that’s not at all what this is about).
Well, now everything is controlled by a single entity. His name is Arthur Gleckler.
Well, then
So that’s the story of how the first woman ever to be involved in Scheme standardization came to be fired after she tried to put effective antidiscrimination and accountability measures in place.
Draw from that what you will.
Think of me, perhaps, as Scheme’s Khrushchev: my greatest contribution is creating the environment in which I could be fired. Now let me retire to my dacha in peace.
What pisses me off the most is how this whole rigmarole has undermined the work I did over three years to try to slowly, slowly win back the trust of the Scheme community in the standardization process, after it was damaged first by the split over R6RS, then by R7RS Small’s decision to deepen the split by throwing away R6RS instead of making a compatible subset, then by years of dawdlingly slow progress on R7RS Large. I had to beg on stage for standardization work to be taken seriously again. Just as progress began to be regular and visible, everything was very publically thrown into chaos again. But don’t take it from me – ask your local Scheme implementer.
Oh, the teapot’s empty. After all this I fancy we both need something a bit stronger. Scotch?