<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>@FPSD (Posts about free software open source mozilla)</title><link>https://francesco.pischedda.info/</link><description></description><atom:link href="https://francesco.pischedda.info/categories/free-software-open-source-mozilla.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 14 Jun 2020 15:58:45 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>The joy of contributing to open source/free software</title><link>https://francesco.pischedda.info/posts/the-joy-of-contributing-to-open-sourcefree-software/</link><dc:creator>Francesco "fpsd" Pischedda</dc:creator><description>&lt;div&gt;&lt;p&gt;From time to time I like to give back to the community with small patches or
trying to solve issues, sometimes my contribution comes from bugs found while
implementing some kind of software and sometimes I just notice something that
can be fixed or improved.&lt;/p&gt;
&lt;p&gt;Usually to process is a kind of cold syntetic handshake between my code and
whatever (D)VCS system used to accept my work but it happens that you will
find some real person at the other side and this is especially true at
Mozilla.&lt;/p&gt;
&lt;p&gt;In my opinion Mozilla infrastructure and people are key factors in welcoming new
developers; there are clear documents about the processes which
you will be pointed to by the team and there are real persons that will help you
until you master the procedure.&lt;/p&gt;
&lt;div class="section" id="which-are-the-take-aways-of-contributing"&gt;
&lt;h2&gt;Which are the take aways of contributing?&lt;/h2&gt;
&lt;p&gt;First of all you are forced to read someone else's code; if you work alone or
your employer does not force code reviews this is really helpful because you
are probably going to learn a lot from other sources.&lt;/p&gt;
&lt;p&gt;Similarly when contributing to other people's code you are forced to add unit
tests to your patches otherwise your code will not be accepted; this is ideal
in the situations where in your day to day work tests are seens as useless
nerd goodies.&lt;/p&gt;
&lt;p&gt;When contributing to bigger projects there is usually a strong procedure that
must be followed; this is not just bureaucracy but it must be seen as a backbone
of the development/deployment/release process. Knowing that any regression
"shall not pass" is a huge boost to your confidence while creating your patch.&lt;/p&gt;
&lt;p&gt;And finally people! I think that is the most amazing part of the work; you'll
get to know persons that will teach you something (or maybe the opposite), you
will have to communicate effectively to make your point or just to understand
what problem you are going to fix, increasing your communication skills; oh and
don't we forget the joy of talking to nice people :)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="conclusions"&gt;
&lt;h2&gt;Conclusions&lt;/h2&gt;
&lt;p&gt;Contributing can be a beautiful and useful experience for beginners,
intermediate and senior developers, everyone can learn something while doing
useful work for the community (which in turn will provide a better tools for
yourself too); even if the amount of free time you have at hand is a couple
of hours a week I suggest trying at least to document some software you use or
fix that annoying bug that is driving you crazy, you will thank yourself!&lt;/p&gt;
&lt;p&gt;P.S.&lt;/p&gt;
&lt;p&gt;I'd like to thank Andrew Halberstadt for his help and his patience while
working on some issues on Mozilla Central repo/bugzilla, thank you Andrew!&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>free software open source mozilla</category><guid>https://francesco.pischedda.info/posts/the-joy-of-contributing-to-open-sourcefree-software/</guid><pubDate>Thu, 29 Dec 2016 14:26:08 GMT</pubDate></item></channel></rss>