Hello,

we are delighted you found contributing to GCC interesting.

On Tue, Nov 19 2024, Vaibhav Arora via Gcc wrote:
> Dear GNU Compiler Collection  Team,
>
> I hope this email finds you well. My name is Vaibhav Arora, and I am an
> enthusiastic software developer with a strong interest in contributing to
> open-source projects. I am writing to express my keen interest in GNU
> Compiler Collection, and to seek your guidance on how I can start
> contributing to your codebase.
>
> As a newcomer to the Google Summer of Code (GSoC) program, I am eager to
> gain experience and develop my skills by working on impactful projects. I
> believe that contributing to GNU Compiler Collection would be an invaluable
> opportunity for me to learn from experienced developers and to make
> meaningful contributions to a project that plays a crucial role in software
> internationalization.
>
> I have a solid foundation in C++, and I am committed to dedicating my time
> and effort to contribute effectively.
>
> Could you please provide me with some guidance on how to get started? Any
> resources, documentation, or initial tasks that you could point me towards
> would be greatly appreciated. 

Please note that apart from C/C++ coding skills, most projects require
some rudimentary theoretical background in compilers.  Compiler
development is a fairly large and complex computer science area.
There are many books on the subject, though.  People often refer others
to the "dragon book," officially called "Compilers: Principles,
Techniques, and Tools" by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and
Jeffrey D. Ullman (though I have myself not read it).  I can recommend
"Building an Optimizing Compiler" by Robert Morgan.  Many universities
that teach computer science offer courses on compilers.

Having said that, you may want to also check out FOSDEM 2024
presentation called "GCC for new contributors" by David Malcolm:
https://archive.fosdem.org/2024/schedule/event/fosdem-2024-2569-gcc-for-new-contributors/

And there is also a recent tutorial called "Adding a new backend to GCC
for beginners" by Jeremy Benett as presented at GNU Tools Cauldron 2024:
https://www.youtube.com/watch?v=TE5cjQuMMHA

> Additionally, if there are any ongoing projects or issues that would
> be suitable for a newcomer, I would be eager to take them on.

Those are hard to come by in a project like a production compiler.

But please look at the "Before you apply" section of our GSoC page at
https://gcc.gnu.org/wiki/SummerOfCode#Before_you_apply and make sure you
are able to build, install and test GCC.  I strongly suggest that you
also try generating dumps of the IR of a simple compiled program and
stepping through some function during compilation in a debugger.

With that ability and with some of the knowledge from the resources
listed above, you will be perfectly positioned to discuss project ideas
when the next year of GSoC opens.  Or just any project ideas on this
mailing list and/or our IRC.

>
> Thank you for considering my request. I am looking forward to the
> possibility of contributing to the GNU Compiler Collection and preparing
> myself for a potential GSoC application in 2025.
>
Good luck!

Martin

Reply via email to