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>
9 * REVISIONS:
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
file
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.
Examples:
/*
* 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(a)gmail.com)
* REVISIONS:
* 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(a)reactos.org)
* David Welch (welch(a)cwcom.net)
* REVISIONS:
* 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(a)users.sourceforge.net)
* Art Yerkes (arty(a)users.sf.net)
* REVISIONS:
* CSH 01/08-2000 Created
* AY 12/21/2004 Added accept
*/