Audit

From ReactOS Wiki
Revision as of 14:22, 3 August 2006 by Coviti (talk | contribs)
Jump to: navigation, search

Introduction

Due to recent pressing concerns, upheaval, plagues, famine, and general unpleasantness originating within the project about the legal defensibility of some reverse-engineering practices, the repository is undergoing an audit of all existing code in order to ensure that it complies with known allowed methods in the United States. Currently, the chosen way of accomplishing this will be to freeze modules in the repository from further commits until they are cleared.

Proposed standards for the audit

0. Everyone needs to commit all documentation if they have reverse enginered something, so that someone else can reimplement it. Filip has some nice docs at

http://www.volny.cz/xnavara/doc_trash/

There is stuff I posted on the Wiki and Bugzilla. Can someone make a api-documentation module in svn and commit all this stuff to there?

1. A function is deemed to have been implemented in a non-clean manner if

- "unknown" arguments given values
- functions for which there is NO DOCUMENTATION
- functions with no test cases available either in ReactOS or somewhere on the internet
- functions with undocumented magic numbers
- functions with excessive gotos

NO DOCUMENTATION means it cannot be found on MSDN, Google, sysinternals, osronline, any book published by Microsoft Press or any other publication.

2. The following does not count

- functions of 5 or less lines of code
- functions for which every basic unit corresponds to a clause in the official
- functions which mimic those implemented in other libraries and that work similarly

3. Even if the function body is not clean, the prototype can remain.

Progress

The homepage is updated daily with the current progress. It will take a relatively short time to reach 60%, however once 90% has been reached, expect the progress to slow down considerably.

List of Directories

You can find a listing of all locked files at http://www.reactos.org/generated/locked_files.log.