The \textsc{Pencil Code}'s coding standard is to integrate everyone's
contribution into the publicly available version and to test it periodically
for incompatibilities and/or errors.
This approach has many advantages, the most important one being
reproducibility and tractability of the results, which can be achieved
by providing accompanying guidance to the article on how to reproduce
the result.
Furthermore, younger researchers or new users don't need to reinvent the
wheel, since they can immediately see how a certain problem was set up
and build from there, if necessary.
Very importantly, there are no diverging code versions, so all outputs can
be processed with the same, universally updated tools.
Everyone gets the cutting edge of the development, and has all the elements at their
disposal to give credit to other developers for code they reused.
Overall, this approach promotes a sense of community and open
collaboration, with all the benefits that these qualities entail.

In my opinion, the \textsc{Pencil Code} method of collaboration is the most
transparent out there, which is great for promoting transparent,
reproducible results and avoiding confusion.
My experience with other approaches has led to issues with reproducibility
and collaborations.
The specific examples I have in mind are \texttt{RAMSES} and
\texttt{AREPO}, where the public version is stripped from `advanced'
features, which need to be developed by the user (in this regime
\texttt{AREPO} is extreme in that the user basically only gets the
hydro+gravity solver).
This does give a lot of room for innovation and gets different teams to
come up with different ideas on an implementation, but without a framework
for sharing and exchanging code it eventually leads to many branches of
proprietary code that are diverging from each other and the main.
This problem inevitably translates into skepticism on a competing team's
results, and worse, promotes a culture of withholding code.

