\documentclass[12pt]{article}


\begin{document}

ReactOS status report for January 2006

\section{Preface}
This is the first in what is planned to be a quarterly update letter for the ReactOS Project. Depending on how things are progressing with the project and what projects each developer is working on, these reports may vary in detail from quarter to quarter. Being as this is the first of these status reports it will follow a more general overview than what may just be new in the last quarter.

The ReactOS Foundation USA status report and financial statements will be published as a separate report within 5 days following the publication of the Project Status report.

For information about joining or donating to the ReactOS Project please visit
\begin{verbatim}http://www.reactos.org/wiki/index.php/Main_Page\end{verbatim}


\section{General Status}
On January 1st 2006 the ReactOS Project released version 0.2.9 of the ReactOS System. It is the projects members hope that this will be the last release in the 0.2.x series however if all of the goals for the 0.3.0 release are not meet we are prepared to continue to do 0.2.x releases.

The current ReactOS 0.3.0 TODO list is located at:
\begin{verbatim}http://www.reactos.org/wiki/index.php/0.3.x/0.3.0 \end{verbatim}

The list of planned features for the 0.3.x development line is located at:
\begin{verbatim}http://www.reactos.org/wiki/index.php/0.3.x \end{verbatim}

On going subprojects for the overall project include

\subsection{Networking}
When we speak of Networking the ReactOS Project members use this as a generic term. Our goals for networking in 0.3.x basically mean being able to use a ReactOS system as a network client for http, ftp, ssh, chat and email traffic. 

Thanks to the work of Art Yerkes and many others we have reached most of these goals. By adapting the TCP/IP stack from OS/KIT Mach which is in turn based on FreeBSD, Art was able to give us fully functional TCP/IP support. All of the code is fully encapsulated in a Windows Device driver allowing us to be 100% compatible with the Windows implementation.

At this time we have done some limited work on network services however these are not blockers of the 0.3.0 release. We are happy to note that Firefox is now working on the default ReactOS install. Many other applications such as the Win32 subversion client as well as some IRC clients are also reported to work.

\subsection{Plug and Play}
Much progress has been made on Plug and Play support thanks to Filip Navara and Herv�� Poussineau. The system correctly enumerates the devices and currently notifies the user of detected devices. Support for loading and coping drivers from a vendor provided source such as a compact disk or floppy disk is in progress.

\subsection{USB}
Aleksey Bragin has been developing the USB subsystem for ReactOS as part of the work to support ReactOS on the X-box. His work is done in much of the same method as was used to develop our TCP/IP stack. The USB subsystem is encapsulated in a series of Windows drivers which are based on the Linux 2.6 USB stack.

\subsection{Build System Changes}
The ReactOS build system has been completely overhauled during the 0.2.x cycle thanks to the work of Royce Mitchell III, Casper Hornstrup and other. The new build system called rbuild uses an xml based build system which is up to two times faster than the prior build system and allows support for multiple compiler targets. New developers have jumped on this in recent months and have started adding support to rbuild for Microsoft Visual Studio compilation. The ultimate goal is to be able to build the ReactOS system in a short enough amount of time to allow each commit to the source tree to be build and regression tested via our testing system know as Sin which is Subversion Integration a form of Continuous Integration. In theory, when active any patch that causes any short of break in code or a regression in functionality can be automatically rejected via the CIS system.

\subsection{DirectX and OpenGL}
Much work on DirectX has been done by Magnus Olson and G�� van Geldorp. Currently many DirectX 5 and higher games and applications work. At this time Direct3D 8 and 9 support is still under development. OpenGL support has been fully implemented thanks to the work of Gregor Anich. Gregor implemented the OpenGL.dll based on the Mesa3D resulting in ReactOS being able to run many Windows OpenGL based games.

\subsection{Translation and Internationalization Support}
At this time ReactOS provides support for the English, French, German, Russian, Swedish and Spanish languages as well as partial support for many others. Many users and developers are actively working to fully support ReactOS in their native language.

\subsection{Website}
www.reactos.org has been totally overhauled courtesy of Klemens Friedl who developed our content management system and G�� van Geldorp who has provided hosting of the webspace, bugzilla database, wiki and mailing lists as well as management of these services.

\section{Developer Status}
Individual project developers��� TODO lists are listed following sections. Not all active developers are listed here, developers such as Thomas Weidenmueller and Filip Navara have themselves listed as on sabbatical however they still contribute fixes and features from time to time. For further information as to what projects each developer is working on please visit:

\begin{verbatim}http://www.reactos.org/wiki/index.php/People_of_ReactOS\end{verbatim}


\subsection{Aleksey Bragin}
Goals for the ReactOS system:

\begin{enumerate} \item Get the USB stack working stably, properly and fast, supporting at least one good keyboard and mouse driver. Add support for some 3rd party device's drivers (to support hardware keys for example). Especially USB storage drivers - this one being asked a lot

\item Doing proper support of Cyrillic letters - pack dejavu fonts along with what we have currently, and dynamically switch if user chooses Cyrillic-writing location (Russia, Ukraine, Belarus, Bulgaria etc).

\item Work with GvG more on the Xbox port to get it easily installable, get needed patches to cromwell/freeldr (best if we could agree on some well-known format like multiboot, and cromwell support it out-of-the-box)

\item General work on PnP manager (involves loading win2003's usb stack)
- this is done in parallel with item 1.

\item Keyboard layout switching (most probably together with someone more familiar with win32k than me)
\end{enumerate}

Aleksey is the Translation Coordinator for the project and as such he is involved with in many areas outside of just code

Website:
1. Maintain Russian localization of the website
2. Small fixes to website related to translation
3. Help newcomers working on Internationalization get up to speed with ReactOS and the website (together with Klemens Friedl).

Aleksey has also established the ReactOS Foundation Russia and is currently working on establishing contacts and gathering a base for funding.


\subsection{Andrew Greenwood}
Sound Driver support implementing the Vista driver model.

\subsection{Andrew Munger}
Ongoing Q/A work, maintaining bugzilla and testing new builds

\subsection{Casper Hornstrup}
More work on the Continuous Integration system

\subsection{Klemens Friedl}
Helping to maintain the new website and provide CMS fixes.

\subsection{Alex Ionescu}
Usermode Winsock Rewrite
Object Manager Rewrite

\subsection{Art Yerkes} 
PowerPC Port
Helping with networking development

\subsection{Christoph von Wittich}
Finish up msconfig

\subsection{Eric Kohl}
Further work on services
Further work on Plug and Play

\subsection{Herv�� Poussineau}
Further work on Plug and Play
Help with the USB stack

\subsection{G�� van Geldorp}

Currently: 
fixing bugs listed in Bugzilla

Plans: 
complete Firefox work, 
Items required for 0.3.0
Return to Xbox and Xen ports

\subsection{Royce Mitchell III}
Short term
Currently working to enhance pool stats for the Paged Pool (rpoolmgr)
Developing "rosbar", a C API DLL for docking toolbars and menubars. 
Building a RAD C++ win32 framework on top of rosbar, all with the ultimate goal of porting his Rospaint application

Long term
Refactor rbuild backend support

Magnus Olson:
DirectX Support
Bug Fixing
Patches to Wine

\subsection{Ged Murphy}
Network applications and services
ReactOS Firewall
Visual Studio porting

\subsection{Steven Edwards}
Currently testing Office2000/XP and Office2003
Porting more code from Wine and submitting patches back from time to time
Testing and bug hunting MSVC related issues
Traveling to a few conferences for the Project

\section{Project Coordinators Wish List}
This section is just my thoughts on a few things I think the system needs that new developers and testers might be able to jump on. They are not blocking the 0.3.0 release however if they were implemented it would make 0.3.0 be even better

\subsection{UDFS driver for DVD Filesystems}
This is not really a starter project for a new programmer but an experienced windows driver developer should be able to implement a simple one using our CDFS driver as a base with the help of the Linux UDF driver.

\subsection{Test loading the Windows 3com driver}
3com provides Windows NT/2000/XP drivers on their website. It would be nice to find someone that would be willing to test this for us.
\subsection{Network Cards}
\begin{itemize}
\item Test loading the NForce Network Interface Card Driver
Nvidia also provides drivers for its NForce and Nforce2 chipset cards on the web. As far as I know the network card drivers are untested.
\item Generic 3com Network Interface Card Driver
\item Generic Intel Network Interface Card Driver
\item DEC Tulip Network Interface Card Driver
\item 8139 Realteck 10/100 or ne2100 compatible
\end{itemize}
The drivers listed above are among the most common network cards in existence. The fortunate thing is they are also well documented and drivers exist for Linux, FreeBSD and many other operating systems with source code. An experienced windows driver developer should be able to use our ne2000 or PCnet32 driver as a template for writing any of the above.
\end{document}
