tree a3be5aeb99b9dbd8c9a9d4d89a4087aa84cfb34a
parent 12cbf22606c1148c64389449fb607a804cfade27
author Alexey Kardashevskiy <aik@ozlabs.ru> 1445475465 +1100
committer Alexey Kardashevskiy <aik@ozlabs.ru> 1446512425 +1100

documentation: Add a clause about signing off

This adds a reference to the Developer Certificate of Origin (copied below)
to tell people that they have to sign their work and the consequences
this implies.

===
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

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.
===

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
