Difference between revisions of "Development Guidelines"

From coreboot
Jump to: navigation, search
(Common GPL header for LinuxBIOS -- example.)
(Sign-off Procedure (draft).)
Line 1: Line 1:
'''This is work in progress.'''
+
'''This is work in progress!'''
  
== Development Environment ==
+
= Development Environment =
 
* Required toolchains etc.
 
* Required toolchains etc.
== Coding Guidelines ==
+
 
=== General Guidelines ===
+
= Coding Guidelines =
=== Comments ===
+
== General Guidelines ==
=== Coding Style ===
+
== Comments ==
 +
== Coding Style ==
 
* Indentation etc.
 
* Indentation etc.
 
== Documentation ==
 
== Documentation ==
Line 13: Line 14:
 
== Testing ==
 
== Testing ==
 
* abuild
 
* abuild
 +
 +
= How to contribute =
 
== Svn Commits ==
 
== Svn Commits ==
 +
== Reviews ==
 
* Send patches to the [[Mailinglist]] for review before committing.
 
* Send patches to the [[Mailinglist]] for review before committing.
* Patch from: XYZ
 
* Signed off by: XYZ
 
 
== Bug-Tracker ==
 
== Bug-Tracker ==
 +
 
== License Issues ==
 
== License Issues ==
 +
 
* Contributed code must be GPL'd (preferrably GPLv2 or any later version), or at least have a GPL-compatible license.
 
* Contributed code must be GPL'd (preferrably GPLv2 or any later version), or at least have a GPL-compatible license.
 +
 
=== Common License Header ===
 
=== Common License Header ===
 +
 
Example:
 
Example:
  
 
  /*
 
  /*
   * This file is part of LinuxBIOS, a Free Software BIOS implementation.
+
   * This file is part of the LinuxBIOS project.
 
   *
 
   *
 
   * Copyright (C) 2003-2005 John Doe <john@example.com>
 
   * Copyright (C) 2003-2005 John Doe <john@example.com>
Line 43: Line 49:
 
   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
   */
 
   */
 +
 +
=== Sign-off Procedure ===
 +
 +
Verbatim copy from the Linux kernel (we might modify this a bit):
 +
 +
To improve tracking of who did what, especially with patches that can
 +
percolate to their final resting place in the kernel through several
 +
layers of maintainers, we've introduced a "sign-off" procedure on
 +
patches that are being emailed around.<br />
 +
The sign-off is a simple line at the end of the explanation for the
 +
patch, which certifies that you wrote it or otherwise have the right to
 +
pass it on as a open-source patch.  The rules are pretty simple: if you
 +
can certify the below:<br />
 +
        Developer's Certificate of Origin 1.1<br />
 +
        By making a contribution to this project, I certify that:<br />
 +
        (a) The contribution was created in whole or in part by me and I
 +
            have the right to submit it under the open source license
 +
            indicated in the file; or<br />
 +
        (b) The contribution is based upon previous work that, to the best
 +
            of my knowledge, is covered under an appropriate open source
 +
            license and I have the right under that license to submit that
 +
            work with modifications, whether created in whole or in part
 +
            by me, under the same open source license (unless I am
 +
            permitted to submit under a different license), as indicated
 +
            in the file; or<br />
 +
        (c) The contribution was provided directly to me by some other
 +
            person who certified (a), (b) or (c) and I have not modified
 +
            it.<br />
 +
        (d) I understand and agree that this project and the contribution
 +
            are public and that a record of the contribution (including all
 +
            personal information I submit with it, including my sign-off) is
 +
            maintained indefinitely and may be redistributed consistent with
 +
            this project or the open source license(s) involved.<br />
 +
then you just add a line saying<br />
 +
        Signed-off-by: Random J Developer <random@developer.example.org><br />
 +
Some people also put extra tags at the end.  They'll just be ignored for
 +
now, but you can do this to mark internal company procedures or just
 +
point out some special detail about the sign-off.

Revision as of 11:57, 24 October 2006

This is work in progress!

Development Environment

  • Required toolchains etc.

Coding Guidelines

General Guidelines

Comments

Coding Style

  • Indentation etc.

Documentation

  • General guidelines and tips
  • Doxygen

Testing

  • abuild

How to contribute

Svn Commits

Reviews

  • Send patches to the Mailinglist for review before committing.

Bug-Tracker

License Issues

  • Contributed code must be GPL'd (preferrably GPLv2 or any later version), or at least have a GPL-compatible license.

Common License Header

Example:

/*
 * This file is part of the LinuxBIOS project.
 *
 * Copyright (C) 2003-2005 John Doe <john@example.com>
 * Copyright (C) 2006 Jane Doe <jane@example.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 */

Sign-off Procedure

Verbatim copy from the Linux kernel (we might modify this a bit):

To improve tracking of who did what, especially with patches that can
percolate to their final resting place in the kernel through several
layers of maintainers, we've introduced a "sign-off" procedure on
patches that are being emailed around.
The sign-off is a simple line at the end of the explanation for the patch, which certifies that you wrote it or otherwise have the right to pass it on as a open-source patch. The rules are pretty simple: if you can certify the below:
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
then you just add a line saying
Signed-off-by: Random J Developer <random@developer.example.org>
Some people also put extra tags at the end. They'll just be ignored for now, but you can do this to mark internal company procedures or just point out some special detail about the sign-off.