<div dir="ltr">Hi Rafael,<div><br></div><div>I am sorry to hear that you are leaving, and I wanted to thank you for your excellent technical contributions to LLVM over the years. I hope I will be able to see you again the next time I am in Toronto.</div><div><br></div><div>All the best,</div><div>Peter</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 2, 2018 at 9:37 AM, Rafael Avila de Espindola via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><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" target="_blank">http://lists.llvm.org/<wbr>pipermail/llvm-dev/2018-<wbr>February/121161.html</a><br>
[2] <a href="https://www.outreachy.org/apply/eligibility/" rel="noreferrer" target="_blank">https://www.outreachy.org/<wbr>apply/eligibility/</a><br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-- <div>Peter</div></div></div>
</div>