[ros-dev] top-level source header

Ged gedmurphy at gmail.com
Wed Oct 19 00:22:30 CEST 2005

Although a standard header was drafted out for the ReactOS source code, 
few people seem to use it and it doesn't seem to be in the wiki.

I would like to get something in the wiki agreed on by everyone which 
should be included in our source files.
I think we firstly need have a vote to see if everyone actually wants a 
standard header, but I put together some info anyway to explain my thoughts

As much of the ReactOS code is licensed under the GPL, it can be reused 
by anyone under the license agreements.
As the BSD code does, I think a ReactOS copyright notice should be 
placed in the header to ensure people know where the original code came 
from. Our current header has no provision for this meaning anyone 
reading ReactOS code away from the project won't have a return point.
I was talking this over with Alex, who suggested everyone might not want 
to give copyright to the foundation. Any suggestions?

Using the existing header, I have drafted a slightly modified version

1 * ReactOS <place holder>
2 * Copyright (C) 2005 ReactOS Foundation
3 *
4 * LICENCE:     <place holder>
5 * PROJECT:     <place holder>
6 * FILE:        <place holder>
7 * PURPOSE:     <place holder>
8 * PROGRAMMERS: <place holder>
10 *             <place holder>
11 *

1. This is a quick line to state the area which the code was written 
for. Examples could include:
       ReactOS Executive
       ReactOS Win32 Subsystem
       ReactOS Win32 Applications

2. The copyright should detail a date when the copyright was initiated 
along with the date when it was last modified. For example:
       1999 - 2004
The proceeding date should be updated each time a revision is made.

4. This line should state the licence used and where to find the COPYING 

5. This line should state what project / binary the code is for. 
Examples could include:
       ReactOS ntdll library
       ReactOS ws2_32 library
       ReactOS arp utility
       ReactOS cache manager
       ReactOS thread scheduler

6. This line should state the location of the file within the repository

7. This line should state the purpose of the project / binary the code 
is intended for

8. This line should state any programmers whom have worked on the code. 
The programmer can also choose to add an email address along with their 
name as a point of contact

9. This line should list any revisions made to the code. The revisions 
should include programmers initials, which can be linked to the 
PROGRAMMERS section, the date the revision was made and a short comment 
describing the revision. This is not meant for bug fixes and small 
modifications, but for feature additions or substantial patches

I think we should put something in the wiki in relation to this.

Does anyone have any other suggestions, or modifications to my header.

Please see the examples below.


* ReactOS Win32 Applications
* Copyright (C) 2005 ReactOS Foundation
* LICENCE:     GPL - See COPYING in the top level directory
* PROJECT:     ReactOS arp utility
* FILE:        apps/utils/net/arp/arp.c
* PURPOSE:     view and manipulate the ARP cache
* PROGRAMMERS: Ged Murphy (gedmurphy at gmail.com)
*              GM 04/10/05 Created

* ReactOS Executive
* Copyright (C) 2005 ReactOS Foundation
* LICENCE:     GPL - See COPYING in the top level directory
* PROJECT:     ReactOS kernel
* FILE:        ntoskrnl/ex/mutant.c
* PURPOSE:     section of the kernel
* PROGRAMMERS: Alex Ionescu (alex at reactos.org)
*              David Welch (welch at cwcom.net)
*              AI 04/10/05 Fix tab/space mismatching, tiny fixes to 
query function and
*               add more debug output.

* ReactOS Network Stack
* Copyright (C) 2000 - 2005 ReactOS Foundation
* LICENCE:     GPL - See COPYING in the top level directory
* PROJECT:     ReactOS TCP/IP protocol driver
* FILE:        transport/tcp/tcp.c
* PURPOSE:     Transmission Control Protocol
* PROGRAMMERS: Casper S. Hornstrup (chorns at users.sourceforge.net)
*              Art Yerkes (arty at users.sf.net)
*              CSH 01/08-2000 Created
*              AY 12/21/2004 Added accept

More information about the Ros-dev mailing list