Google Summer of Code 2007
From Open Watcom
This page contains some ideas for reasonable Google Summer of Code student projects. These projects should keep a student busy for about three months. Don't forget that it takes a few weeks for any new developer to get up to speed.
The Open Watcom project is in the process of creating its own implementation of the C++ standard template library (called OWSTL). This project is partially complete with maybe 50% of the STL currently implemented. There are plenty of opportunities for a student to help finish OWSTL. One advantage to working on this project is that a student could make a useful contribution with a relatively small amount of effort, and yet there is plenty of work to keep even the most ambitious student busy. This is because the STL components are largely independent of each other. Some components are small, making it easy to get started, but implementing (and testing) all of the currently unfinished components would require quite a bit of effort.
Open Watcom currently uses an "old style" IOStreams library. It is in serious need of updating to Standard IOStreams. The plan is to implement a new IOStreams library "from scratch" (with the understanding that we'd be borrowing as much code as possible from the existing implementation) instead of trying to incrementally upgrade the current library. The new library would be created in a temporary namespace so that while it is being developed it could coexist with the existing library. This is a large project but the student would not necessarily be working on it alone. In any case, even a partial solution would be very helpful.
While Open Watcom does support Linux, the Linux multihreading part of the OpenWatcom clib is not implemented. For someone familiar with Linux programming, this would be challenging but quite doable. The number of files affected doesn't look too large (about 4 in clib\mthread), plus adding clib support for a few more linux syscalls, I believe clone(120), gettid(224) and futex(240) in sys386.h. Familiarity with multithreading, futexes, semaphores etc would be a definite plus. References include an on-line syscall reference, LinuxSysCalls.pdf, and a futex description .
Removing old DOS tools from build
Currently the Open Watcom build process contains old DOS tools that need to be replaced to make the system more portable and faster. One of these tools is parsedlg.exe used to convert Win32 resource files (.rc) files to OS/2 resource files. Formulas for coordinate conversions have already been solved (search newsgroup). Familiarity with resource files and parsing would be a definite plus.
There is a document (gui.pdf) that gives a detailed specification of what must be done to enable the OpenWatcom GUI-based tools like the WDW and IDE to work on Linux using GTK . The estimated times are also given, to a total of 620 hours (78 days). This would be just a little too long for GSoC.

