<div dir="ltr">Colin,<div><br></div><div>I'm sorry that you left the project for your own reasons, but I feel that your e-mail touches a lot of issues that should not go unanswered, not only for the project itself, but for the way you depict sev, and the way you treated other members of this project.</div><div><br></div><div>I admire sev for not replying to a mail that turned out to be a personal attack against him, however I find it very unfair to try and present your own issues and your bad treatment towards others as an unfair treatment towards you. I will speak for myself, since my experience from working with you has turned out to be a personal nightmare. My intention is not to attack you, but to show you that your behavior affects others negatively. Your original intentions may have been good, but the way things escalated turned out to be quite ugly. Thus, I find it odd that you are complaining that you have been abused, when you have clearly abused others yourself.</div><div><br></div><div>You are a very passionate developer, and are paying great attention to detail. However, although you have a lot of patience when you wish to debug a piece of code, or when you want to add a new feature, this patience is completely non-existent when you deal with people. You are hardheaded and stubborn, and while you were working on this project, there have been many situations where you wanted to enforce your personal views and way of work on others. This is a clear sign of disrespect.</div><div><br></div><div>From my personal dealings with you, I can state the following:</div><div>- Initially, I was one of your main backers, and suggested that you should be accepted to the project, after you showed remarkable work on the SCI engine</div><div>- However, right after you joined, you started questioning the way we worked on the project. You found that work on the SCI engine should be changed, and that everyone working on it should do so via pull requests. The sole reason for this was that you wanted the development on SCI to progress your way. Most of the commits made during the period you worked on the SCI engine were done by you only, for this reason.</div><div>- There were a lot of e-mails where this was discussed. The end result was that you wanted everyone else to work in this manner, and it was respected, initially.</div><div>- Unfortunately, your nerves and lack of patience got the better of you. I was personally attacked and abused by you for any work I dared to present and you didn't like. I stopped working on the SCI engine so that things would cool down, since each and every change was scrutinized and turned into either a heated discussion, or a personal attack, or received sarcastic comments.</div><div>- I was permanently blocked by you, on github, e-mails and IRC. The excuse was that you wanted "a peace of mind". This is the worst treatment I have ever had online from any individual. If you thought that your personal growth was hindered, imagine how I felt when I had no way of communicating with you to clear things up. This was a one-sided block - I never block people when I disagree with them.</div><div>- Then, you wanted to change the way all the project worked. It's great that you wanted to take ownership of the release process, however you did so without discussing or collaborating, again by enforcing your way of thinking (what you call "picking up the slack"). As you found out, the way you forced your way of thinking led to insecurity and confusion.</div><div><br></div><div>I will return to your comments about sev: IMHO, he is neither dismissive nor non-constructive. Your way of thinking was to clobber a slew of unrelated commits in a huge pull request, which had to be split into more meaningful chunks, as it touched all sorts of unrelated parts of the project. It was sev that urged other developers to respect your work and merge it piece by piece in separate pull requests after you left. As for supernova, I can't find any "yelling" by sev at you. The only thing I remember, and can find public messages, was a discussion on how that engine should be merged, because of issues with the git merge.</div><div><br></div><div>Thus, from my personal experience with you, I will agree with sev's opinion: your own behavior has been troublesome and vindictive, and you have demonstrated to be a non-good team player. I believe that nobody should suffer from negative treatment such as the one I suffered from you, and I find it very nasty that you're trying to blame others for your own unprofessional and aggressive behavior. You need to reflect on your mistakes, be more patient, and try to work problems out with others constructively, instead of enforcing your opinion and causing heated arguments.</div><div><br></div><div>To sum up, your work on several parts of the project has been wonderful, and it was sad to see you go. It's great that you are offering your WIP code to anyone interested, as it's a great way to keep OSS projects such as ScummVM alive and kicking :) I wish you the best, I feel sorry for the way this whole situation escalated and ended. I really hope all the best in your personal and professional life, and I hope that I'm no longer in your block list, so you can read this e-mail.</div><div><br></div><div>Warm regards</div><div>Filippos</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 20, 2018 at 11:22 PM Colin Snover <<a href="mailto:scummvm-devel@zetafleet.com" target="_blank">scummvm-devel@zetafleet.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Team,<br>
<br>
I’d intended to write this email when I left but I was not able to do so <br>
at the time because of how emotionally difficult the situation was for <br>
me. I apologise for my abrupt disappearance; this was unfair to all of <br>
you, and it is not how I want to handle myself.<br>
<br>
To explain why I left, I must speak honestly and directly about some <br>
ugly experiences with sev. I know that some of this can come across as <br>
an attack, but it is not intended as such. My goals are to offer <br>
closure, and to stop a cycle of abuse so that others don’t experience <br>
what I did. I’ve tried to do my best to say only as much as I need to to <br>
feel like I am meeting these goals, since I genuinely don’t want to make <br>
anybody feel bad. It would also do me no good to burn bridges by being <br>
vindictive, since I’d enjoy working with you all again sometime.<br>
<br>
When I started working on ScummVM, I received support and encouragement <br>
from sev which was critical to my personal growth, and for the success <br>
of SCI32. Until late 2017, I was excited by the idea of working more <br>
directly with him on Director engine, since up to that point I’d had a <br>
generally positive experience, and I did not understand past <br>
contributors’ emails like this[1].<br>
<br>
[1] <br>
<a href="http://lists.scummvm.org/pipermail/scummvm-devel/2015-December/011602.html" rel="noreferrer" target="_blank">http://lists.scummvm.org/pipermail/scummvm-devel/2015-December/011602.html</a><br>
<br>
During 2017, sev seemed to be less and less involved with ScummVM & more <br>
negative when he was. When I would reach out, I would increasingly often <br>
not get a response. Whenever I asked how things were, the answer was <br>
always “busy”. Eventually, our communication devolved to be mostly <br>
comments directed at me whenever one of my commits broke a Buildbot build.<br>
<br>
Since sev seemed overworked and disengaged, and I didn’t want to burden <br>
him any more, I started trying to pick up the slack as much as I could. <br>
This is how I ended up managing the ScummVM 2.0 release with criezy. <br>
This has been standard practice on other OSS teams I’ve worked on, so I <br>
didn’t see myself as doing anything unusual. However, it was clearly a <br>
mistake on my part to assume this was a correct action. While I did talk <br>
about what I was doing when I was doing it, I should have been more <br>
explicit in declaring my intent and rationale, and I take complete <br>
responsibility for how this created insecurity and confusion which <br>
contributed to these incidents.<br>
<br>
My first major incident with sev happened during 2.0 release <br>
preparation. There was a difficult crasher bug[2] where the only <br>
reproduction was UB that would cause UBSan to crash. sev copied code <br>
from the OP and committed it without reproduction and without comment. <br>
Between the time of comment 17 and comment 18, there was a fairly <br>
hostile PM exchange where I was told I was being contradictory and that <br>
the UB didn’t matter and any well-defined code would be worse. When I <br>
tried to clarify what I was saying, because it felt like I was not being <br>
heard, I was told I was just repeating myself. Eventually, I constructed <br>
an agreement which I summarised in comment 18. Per that agreement, I <br>
opened a ticket and then a PR[3], where sev wrote more dismissive and <br>
nonconstructive feedback.<br>
<br>
[2] <a href="https://bugs.scummvm.org/ticket/10116" rel="noreferrer" target="_blank">https://bugs.scummvm.org/ticket/10116</a><br>
[3] <a href="https://github.com/scummvm/scummvm/pull/1077" rel="noreferrer" target="_blank">https://github.com/scummvm/scummvm/pull/1077</a><br>
<br>
My second major incident with sev happened a little while later, around <br>
February. sev sent me a PM which quickly escalated into full-scale <br>
personal attacks and passive-aggressive sarcastic comments about me. I <br>
was yelled at for congratulating Joefish for merging Supernova[4], and <br>
for asking opinions of team members other than him on some preliminary <br>
ideas I had. I was accused of being a bad actor who was planning a coup, <br>
and that I was intentionally trying to split the team. He said I was <br>
“anonymous”, and hiding behind this anonymity to do these bad things. He <br>
threatened to delete things from the servers since I couldn’t be trusted <br>
with any privileged information.<br>
<br>
[4] <br>
<a href="http://lists.scummvm.org/pipermail/scummvm-devel/2018-January/012065.html" rel="noreferrer" target="_blank">http://lists.scummvm.org/pipermail/scummvm-devel/2018-January/012065.html</a><br>
<br>
While the overwhelming majority of the interactions I’ve had on this <br>
project have been wonderful and professional, I have also experienced a <br>
culture of silence which enables this sort of bad behaviour. I have been <br>
complicit in this as well, ignoring and minimising things which didn’t <br>
feel right because I was afraid of causing trouble or coming across as <br>
overly negative. These two incidents were the final catalysts for my <br>
departure, but they were just the end of a line of troublesome behaviour <br>
which I don’t expect to see from anyone I work with, let alone from a <br>
project lead.<br>
<br>
Most other OSS projects today[5][6][7][8] have a code of conduct. <br>
ScummVM does not. As a result, anyone who experiences abuse like this <br>
must suffer or leave because they don’t have any other recourse. There <br>
are no direct consequences for anyone who acts this way. At least one <br>
other major past contributor I’ve talked to received similar threats <br>
from sev, and this behaviour was a major factor in their leaving the <br>
project as well. These departures are preventable, and they are a <br>
tragedy for everybody who works on or uses ScummVM.<br>
<br>
[5] <a href="https://www.contributor-covenant.org/version/1/4/code-of-conduct" rel="noreferrer" target="_blank">https://www.contributor-covenant.org/version/1/4/code-of-conduct</a><br>
[6] <a href="http://citizencodeofconduct.org/" rel="noreferrer" target="_blank">http://citizencodeofconduct.org/</a><br>
[7] <a href="https://www.ubuntu.com/community/code-of-conduct" rel="noreferrer" target="_blank">https://www.ubuntu.com/community/code-of-conduct</a><br>
[8] <a href="https://www.djangoproject.com/conduct/" rel="noreferrer" target="_blank">https://www.djangoproject.com/conduct/</a><br>
<br>
I feel like I’ve made some mistakes of my own when interacting with team <br>
members from time to time, and wish that a code of conduct had existed <br>
so that there would have been a better conduit for resolution for anyone <br>
who felt like I was not being respectful and who felt that they could <br>
not communicate this directly to me. I apologise to anyone who may have <br>
experienced any gruff or inappropriate behaviour from me. I would like <br>
to do better and I hope I will have the opportunity to do so in the future.<br>
<br>
I don’t think that sev—or anyone else who’s volunteered their time to <br>
work on ScummVM—acts with malice. I genuinely don’t hate sev, and I <br>
would like things for him to go well, just as I hope the same for all of <br>
you. I don’t like not being part of the solution, but for my own <br>
wellness, I just can’t continue to work on a project where there isn’t <br>
an open, respectful, and professional environment.<br>
<br>
Here is a recap of all of the work in progress which I was not able to <br>
complete, as of the last time I looked at ScummVM:<br>
<br>
* The new Buildbot and Ansible playbooks for deployment were finished <br>
and ready to go. These were in my scummvm-buildbot and <br>
scummvm-infrastructure repositories.<br>
* Reverse engineering of the SCI MIDI engine was ~85% finished (only bug <br>
fixing remains), the GM and MT-32 drivers 100% finished, and ~80% of the <br>
AdLib driver finished (only bug fixing remains). This is on my working <br>
branch.<br>
* Reverse engineering of Shivers 2 system code (the main executable and <br>
S2SYS.dll) was ~85% finished, and room code (the numbered DLLs) was ~30% <br>
finished. This is on my shivers2 branch.<br>
<br>
Please feel free to reach out with any questions or requests about this <br>
work, or if you need to talk. I can’t make any promises on quick <br>
responses since this situation is still very difficult for me, but I <br>
will do my best to be available. I also have databases and documentation <br>
for most of this work if anyone is interested. I won’t see any replies <br>
on the mailing list, so please make sure to CC or email responses to me <br>
directly. I am still also on Freenode if you prefer to send a PM instead <br>
(just make sure you’re registered with NickServ, since due to the spam <br>
I’ve had to block PMs from unregistered users).<br>
<br>
Thank you for reading. Sorry about always writing long emails. At least <br>
this is the last one you’ll get from me for a while! :-) I hope that you <br>
all continue to be successful in your personal and professional lives <br>
and that something good will come out of all of this in the end.<br>
<br>
Warmest regards,<br>
<br>
-- <br>
Colin Snover<br>
<a href="https://zetafleet.com" rel="noreferrer" target="_blank">https://zetafleet.com</a><br>
<br>
<br>
_______________________________________________<br>
Scummvm-devel mailing list<br>
<a href="mailto:Scummvm-devel@lists.scummvm.org" target="_blank">Scummvm-devel@lists.scummvm.org</a><br>
<a href="http://lists.scummvm.org/listinfo/scummvm-devel" rel="noreferrer" target="_blank">http://lists.scummvm.org/listinfo/scummvm-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_3216529493894675110gmail_signature" data-smartmail="gmail_signature">"Experience is the name every one gives to their mistakes" - Oscar Wilde </div>