Subject: [nfsv4] code samples in internet drafts

From: "Mike Eisler" <[email-masked]>
Date: Thu, 19 Feb 2009 15:08:58 -0800 (PST)

With the new IPR/Copyright rules for internet-drafts and RFCs, I thought it
might be useful for nfsv4 document editors that are including code to know
how the NFSv4.1 and pNFS document editors ultimately dealt with this
issue.

1. Include a  "Code Components Licensing Notice"

E.g.

http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-dot-x-12#section-1

2. Identify the code components.

One way is to bracket them with <CODE BEGINS> and <CODE ENDS>. E.g.

http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-dot-x-12#section-2

If there are multiple code components, some might object to many
<CODE BEGINS> <CODE ENDS> brackets. If so, it is permissible
provide an alternative, unambiguous way for the reader to identify
the code components.

E.g.

http://tools.ietf.org/html/draft-ietf-nfsv4-pnfs-obj-12#section-2.1

(The text says that anythign prefixed with "///" is a code component).

3. Include the copyright notice that should be in the actual code. E.g.

   /// /*
   ///  * Copyright (c) 2008 IETF Trust and the persons identified
   ///  * as the document authors. All rights reserved.
   ///  *

4. Identify where the reader can find the document authors. E.g.:

   ///  * The document authors are identified in [RFC3530] and
   ///  * [draft-ietf-nfsv4-minorversion1-xx.txt].

5. Include the entire license in the code component. E.g.
http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-dot-x-12#section-2
starts with/ends with:

   ///  * Redistribution and use in source and binary forms, with
   ///  * or without modification, are permitted provided that the
   ///  * following conditions are met:
[...]
   ///  *   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
   ///  *   IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
   ///  *   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   ///  */

Your license should be the same (the above is a BSD license, which
should be GPL compatibile if you are concerned, but IANAL).
If you use a different license, expect
issues when IESG examines your document; IESG members aren't lawyers
either.

6. Include a note within the code component
that says where the code came from:

E.g.
   ///  * This code was derived from IETF RFC &rfc.number.
   [[RFC Editor: please insert RFC number]]
   ///  * Please reproduce this note if possible.

-- 
Mike Eisler, Senior Technical Director, NetApp, 719 599 9026,
http://blogs.netapp.com/eislers_nfs_blog/