Blame programming-guidelines/C/additional-materials.page

Packit 1470ea
Packit 1470ea
      xmlns:its="http://www.w3.org/2005/11/its"
Packit 1470ea
      type="guide" style="task"
Packit 1470ea
      id="additional-materials">
Packit 1470ea
Packit 1470ea
  <info>
Packit 1470ea
    <link type="guide" xref="index#references"/>
Packit 1470ea
    
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Federico Mena-Quintero</name>
Packit 1470ea
      <email its:translate="no">federico@gnome.org</email>
Packit 1470ea
      <years>2013</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <include href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>
Packit 1470ea
Packit 1470ea
    <desc>Other style guides and books about organizing free software
Packit 1470ea
    projects</desc>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>Additional Materials</title>
Packit 1470ea
Packit 1470ea
  

Packit 1470ea
    Here we give you links to other materials that you may want to
Packit 1470ea
    read.  These will teach you a lot about how to work on large
Packit 1470ea
    distributed teams of free software developers, and about good
Packit 1470ea
    programming style in general.
Packit 1470ea
  

Packit 1470ea
Packit 1470ea
  <list>
Packit 1470ea
    <item>
Packit 1470ea
      

Packit 1470ea
	<link href="http://producingoss.com/">Producing Open Source
Packit 1470ea
	Software</link>, by Karl Fogel.  This is a truly excellent
Packit 1470ea
	book of good practices that free software projects should
Packit 1470ea
	follow.  This is about social aspects of the project:
Packit 1470ea
	how to treat contributors, how to organize and moderate
Packit 1470ea
	communication, how to deal with non-profit foundations.  If
Packit 1470ea
	you ask yourself at any time, "how should I deal with
Packit 1470ea
	$human_situation in the project?", this book may provide the
Packit 1470ea
	answer.
Packit 1470ea
      

Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>
Packit 1470ea
      

Packit 1470ea
	<link href="http://www.gnu.org/prep/standards/">GNU Coding
Packit 1470ea
	Standards</link>.  This is an old document, but it still has
Packit 1470ea
	lots of excellent advice.  It talks about C coding style,
Packit 1470ea
	issues when dealing with plug-in systems, common option names
Packit 1470ea
	for command-line programs, conventions for Makefiles, and some
Packit 1470ea
	very GNU-ish details like using Texinfo for documentation.
Packit 1470ea
      

Packit 1470ea
    </item>
Packit 1470ea
Packit 1470ea
    <item>
Packit 1470ea
      

Packit 1470ea
	<link href="https://www.kernel.org/doc/Documentation/process/coding-style.rst">
Packit 1470ea
	Linux Kernel Coding Style</link>.  Explains the rationale for "big
Packit 1470ea
	indentation", brace placement, concise but unambiguous naming, and
Packit 1470ea
	centralized exit of functions.
Packit 1470ea
      

Packit 1470ea
    </item>
Packit 1470ea
  </list>
Packit 1470ea
</page>