by Z98 | September 7, 2016
It's been a long but ultimately rewarding journey to the completion of Google Summer of Code 2016 for the ReactOS Project. As a project that seeks to implement an open source operating system based off of the NT architecture and compatible with both NT device drivers and Win32 applications, ReactOS faces some rather distinct challenges compared to other open source OS projects. With an emphasis on compatibility and familiarity, interest in the project has increased substantially after the major revamps the other family of NT operating systems has underwent over the past few years.
This was the first year we were accepted for participation since 2011 and the team selected four projects to pursue, all focusing on trying to iron out rough spots in ReactOS' basic functionality. These were to improve hardware support for newer storage devices by implementing a proper AHCI driver, fixing up the USB stack and the underlying infrastructure such as Plug n Play, improved support for the NTFS filesystem that is the de facto standard for the NT family, and a new TCP driver to allow for a better experience using network applications like web browsers. None of these projects were trivial by any means, and several of the students were new to the world of NT kernel development on top of that.
The trials and tribulations the students encountered were documented in a series of blog posts they made, allowing the community to keep abreast of both their progress and any hiccups that cropped up. It was often entertaining watching the students stumble upon many of the same difficulties ReactOS' own senior developers encountered during their early days, including that ever painful but necessary step to using a proper debugger instead of relying on printf statements in the code. And considering all four students were neck deep in kernel mode for their respective projects, it was not unheard of for them to end up deadlocking or blue-screening the entire OS while testing changes. Lots of coffee was also consumed in the process.
Overall the team is pleased to consider all four of the projects to have completed their principle objectives and is in the process of merging in their fruits. This last step will not be a quick process by any means, some of the changes are dependent on other infrastructure work that is still ongoing, but come the next release of ReactOS we should start seeing the fruits of this summer's labors.
Thank you again to Google for sponsoring ReactOS this summer, for the mentors who put in their time to answer questions and (mostly) attend the daily IRC meetings, and of course the students whom demonstrated excellent workmanship in their projects.