Dear ReactOS Users, Testers and Developers,
I've chosen to write up a small letter with some recent news on ReactOS' development. I'm hoping that putting my name behind it will increase the number of people interested and informed.
- First of all, a small update on the kernel. I'm currently working on Ob, the Object Manager. I have a large patch that I've split up into 4. The first patch addresses several bugs and adds more security paths and checks that will be required for later functionality. The second patch adds some lacking functionality to the Object Manager which might have caused bugs in the I/O Manager. The third patch adds locking and scalability improvements to the Object Manager, and fixes multiple race conditions which could've led to random crashes. The last patch should cleanup and remaining bugs/fixmes apart from non-implemented but not-critical functionality.
After this is done, I plan on working in the Kernel itself to make sure that ReactOS boots on VMWare 6.0 and VMWare Server 1.1 (my current Vmware testing platforms). I generally use KQEMU, so VMWare bugs are usually hidden from me. I also have a nice piece of code from one of our older developers (blight/Gregor Anich) which should allow me to fix Mesa, aka OpenGL.
After these low-level regressions have been fixed, I will then commit my new LPC code, and start working on cleaning up some old Ex code. These changes will basically make ReactOS more compatible and reliable, by auditing for broken code.
- Secondly, on the topic of regression testing. I'm hoping most of you are now using the official RosBE, the ReactOS Building Environment. If you're not, please do so (on Windows). It is the *only* supported environment. If you're having problems with headers, compiling, or are seeing boot failures, please do not come to ask us for help until you are using the RosBE. This will help us avoid many compiler incompatibilities and make us bettter able to help you in a timely fashion.
Because such problems can also arise from badly configured emulators, I will create the RosTE, or ReactOS Testing Environment. This will be a packaged version of KQEMU along with several helpful utilities and scripts, which will allow you to mount and unmount your qemu image, use make_install properly, use make install_registry properly, test ReactOS and the LiveCD/BootCD in the latest patched QEMU with the KQEMU Accelerator module in full-kernel mode (an improvement of 4x+ over standard QEMU), as well as the Serial Port Redirection Gateway which will allow you to get qemu's output in a telnet box with unlimited easy scrolling, as well as the ability to copy/paste text from it, which is normally impossible with QEMU. This version will also support using WinDBG to debug ReactOS, when our kernel implements Kd.
In the end, the RosBE and RosTE should make it a lot easier to identify the source of some common problems experienced by testers. I cannot offer a similar TE for VMWare unfortunately, since that's a commercial product, and VMWare still offers an interesting testing framework because it behaves differently from QEmu in many ways. However, if you have an issue in VMWare, I strongly suggest you then try out to reproduce it in RosTE, once it will be available. That way, we'll be able to isolate the bug to an emulator.
- I have been invited as a speaker to multiple conferences this year, where I will have a chance to talk about, and present ReactOS, in hopes of making stronger ties with the FOSS community, raise awareness for the project, and get more developers/support. One of them is the SOCAL 2007 Expo in Los Angeles in Feburary this year, and another one is the Intertional Free Software Forum in April, in Brazil. There also remains the possibility of other such expos.
Because these conferences are not commercial, even speakers do not usually have their air fare or hotel costs covered. As I am a student, travel fare to these places makes a large dent in my savings, since a single conference alone can cost me 1500$ or more including air travel, hotel, food, transporation, etc. As a result, your donations would be greatly appreciated.
The ReactOS Foundation should start an official fundraiser tomorrow or later this week as soon as the new webpage is properly working. I urge you to donate and help me out so that I can have the chance to promote ReactOS. Additionally, the money you donate will also help ReactOS with bandwidth costs, server upgrades, etc, so it's not a personal Alex fund.
- Finally, Aleksey made some suggestions on my behalf recently, as well as posted some requests. I will re-address the latter here, because these are really important to me:
1) Someone please look at rbuild's dependency code and make it output a dependency tree, that can be read by a human. This should let me see things such as "oh ok, ntdll needs libfoo, and libfoo needs libbar". Or "oh, this 10KB application requires a 100MB library, can we do something better here?".
2) Someone please look at rbuild's XML parsing and "Component/module" creation so that it is possible to build an entire directory as a component. For example, "make drivers" should work, as well as "make base". -
That's all, thank you for your time.