<h2class="content-head is-center">Summer of Code 2022</h2>
<articleid="about">
<h2>About the programme</h2>
<p>Check the <ahref="/soc/">programme page</a> to learn more about the programme and on how to apply.</p>
<p>GNU social is a social communication software used in <ahref="https://blog.diogo.site/posts/what-is-the-fediverse">federated social networks</a>. It is widely supported and has a large userbase.</p>
<p>If you would like to know how is it like to be a GSoC student at GNU social, <ahref="https://blog.diogo.site/posts/gsoc-2018">read this blog post</a>!</p>
<p>We no longer participate in Google Summer of Code since 2021. In 2020 we've had a successful student supported by <ahref="https://thefreaks.club/">The Freaks Club</a>, you can reach thndrbvr and try your luck, or look for another sponsor. Otherwise, there will be no stipend.</p>
<p>Below is a list of ideas you can work on this Summer at GNU social. You should pick one (or mix a couple) of them and <ahref="https://agile.gnusocial.rocks/doku.php?id=affairs:development_discussion">talk on IRC about it</a>. The community will help you understanding what has to be done so you can put a good proposal together.</p>
<h3>Integrate GS cache into Symfony and Configurable Autoloader</h3>
<p><strong>Description:</strong> We have a custom cache system which is not understood by Symfony. Improve our autoloader so it can be configurable instead of just loading everything.</p>
<p><strong>Outcomes:</strong> Symfony profiler can give useful information concerning cache. Decide which plugins should be loaded on runtime; Replace components with local ones; Replace templates with local ones.</p>
<p><strong>Skills required:</strong> PHP</p>
<p><strong>Mentors:</strong> Hugo Sales, Diogo Cordeiro</p>
<p><strong>Difficulty:</strong> Hard</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Old school image manipulation without JS</h3>
<p><strong>Description:</strong> Pure HTML + CSS solutions for Image-related manipulation</p>
<p><strong>Outcomes:</strong> Provide an easy Twig macro interface for image manipulation, this includes: cropping images without requiring client side JS; adding annotations to images; and a plugin to have a XMP interface background animaton using SVGs.</p>