<div dir="auto">I'm very sad to hear that you are leaving LLVM. I hope we cross paths in the future. I have learned so much from you, especially your legendary testcase reduction skills and your ability to incrementally simplify and improve a codebase.<div dir="auto"><br></div><div dir="auto">The list of fond memories from our open-source interaction and our time as coworkers at PlayStation is far too long for this email to contain.</div><div dir="auto"><br></div><div dir="auto">-- Sean Silva</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, May 2, 2018, 9:37 AM Rafael Avila de Espindola via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Summary:<br>
<br>
I am leaving llvm effectively immediately. I am sorry for any<br>
inconvenience this may cause.<br>
<br>
Practicalities:<br>
<br>
I can unsubscribe myself from the email lists and I disabled email<br>
notification on bugzilla and phabricator. Could someone please disable<br>
my account on phabricator and delete my svn access? Thanks.<br>
<br>
The long story:<br>
<br>
I first became aware of llvm during a compiler course at university. I<br>
wanted to write a toy scheme frontend to a real compiler. To my shame<br>
I missed that llvm had a mem2reg pass and selected gcc to avoid having<br>
to compute ssa form myself.<br>
<br>
After contributing a few patches to gcc it was clear that the frontend<br>
interface needed some cleanup. At the time llvm was being considered<br>
as a potential new gcc architecture and the idea of a well defined IR<br>
with a textual representation was a revolution.<br>
<br>
On my first job (indt) we were using arm cpus and I was able to sell<br>
the idea of starting an llvm backend for arm. My first commit was on<br>
May 14, 2006. I am incredibly grateful to both indt and the llvm<br>
developers for trusting and helping such an inexperienced and unknown<br>
developer with such a large task.<br>
<br>
It is only in May 2007 in the dev meeting that I got to meet the other<br>
developers in person. It was an incredibly fun event and people were<br>
as friendly in person as on the list.<br>
<br>
In the next few years I was working at google. First as an sre and<br>
then a compiler developer on gcc. During that time I kept llvm as my<br>
20% project as much as possible. Working on it was always a refreshing<br>
experience. It was far easier to change and far less political than gcc<br>
at the time.<br>
<br>
My opportunity to be back full time on llvm came with portable native<br>
client (pnacl). They needed to be able to emit elf objects from llvm ir<br>
and so I went to work on elf support for mc.<br>
<br>
Unfortunately another job change (mozilla) made llvm a side project<br>
again after that. I still managed to contribute to llvm/clang as I<br>
helped mozilla transition away from gcc 4.2 on OS X.<br>
<br>
It is only about 5 years ago that I started working on llvm full time<br>
again. The big item this time was elf support in lld. I was really<br>
excited when Rui posted a new design for a coff linker and did my best<br>
to find a corresponding design for elf.<br>
<br>
Unfortunately the last few years haven't been the same. On the<br>
technical side llvm now feels far bigger and slower to change. There<br>
are many incomplete transitions. That, by itself, would not be<br>
sufficient reason to leave. llvm still seems better than the<br>
competition and lld itself is still awesome.<br>
<br>
The reason for me leaving are the changes in the community. The<br>
current license change discussions unfortunately bring to memory the<br>
fsf politics when I was working on gcc. That would still not be<br>
sufficient reason to leave. As with the code, llvm will still have the<br>
best license and if the only community change was the handling of the<br>
license change I would probably keep going.<br>
<br>
The community change I cannot take is how the social injustice<br>
movement has permeated it. When I joined llvm no one asked or cared<br>
about my religion or political view. We all seemed committed to just<br>
writing a good compiler framework.<br>
<br>
Somewhat recently a code of conduct was adopted. It says that the<br>
community tries to welcome people of all "political belief". Except<br>
those whose political belief mean that they don't agree with the code<br>
of conduct. Since agreement is required to take part in the<br>
conferences, I am no longer able to attend.<br>
<br>
The last drop was llvm associating itself with an organization that<br>
openly discriminates based on sex and ancestry (1,2). This goes<br>
directly against my ethical views and I think I must leave the project<br>
to not be associated with this.<br>
<br>
So long, and thanks for all the bugs,<br>
Rafael<br>
<br>
[1] <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-February/121161.html" rel="noreferrer noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2018-February/121161.html</a><br>
[2] <a href="https://www.outreachy.org/apply/eligibility/" rel="noreferrer noreferrer" target="_blank">https://www.outreachy.org/apply/eligibility/</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>