Google Summer of Code 2011

From ReactOS Wiki
Jump to: navigation, search

The ReactOS Project has been accepted into the 2011 Google Summer of Code (see the projects' page) not only to improve ReactOS but also to help increase the pool of developers knowledgeable about Windows system development and interoperability. Unlike platforms like Linux and BSD, Windows is not open to easy experimentation and exploration, resulting in a decreased number of developers familiar with its internals. This often results in complications for open source projects that wish to provide Windows versions of their software due to a lack of expertise on the Windows NT architecture. By providing an open source implementation of the Windows NT family, ReactOS hopes to provide an environment that promotes experimentation and collaboration in Windows system development, thus helping developers from all backgrounds better understand the NT system and adopt better practices for software development targeting Windows.

Accepted Projects

Project Student Mentor(s)
GDI font driver Timo Kreuzer ??
Kernel-Mode Test Suite Thomas Faber ??
TCP/IP diriver replacement for ReactOS, using lwIP Claudiu ??
Themes support Ioannis Adamopoulos ??


See the Google Summer of Code 2011 Ideas page for our project ideas in 2011.

Student Guide

Every student new to ReactOS should begin by obtaining the code through our Subversion repository and performing a first build using our ReactOS Build Environment. This environment ensures consistent build results, eliminates the need to setup your own toolchain and makes ReactOS one of the easiest operating systems to build. These first steps are also exemplified in this video. Also every student should subscribe to the ros-dev mailing list and optionally could join the #reactos channel on Freenode’s IRC network for a live discussion with developers.

By default, students will receive a branch in SVN to work on their code. If you prefer a different version control system like Git or Mercurial, please contact our Summer of Code administrator Ged Murphy.

MSDN and plenty of available Windows publications serve as the primary reference for functionality ReactOS seeks to implement. However, there are parts of Windows that are poorly documented or completely undocumented. In these instances, the ReactOS Techwiki may possess descriptions of the data structures or interfaces. The student may have to conduct some research, following project guidelines on respecting intellectual property, and write some documentation of their own if none exists however, though mentors will try to help with any missing gaps.

Our GSoC Adminstrators

Our Mentor Candidates

Student Application Form

General Information

  • Full Name
  • Languages You Speak
  • Timezone
  • myReactOS Account Name
  • IRC Nickname on Freenode

Time Commitment

Please outline any additional obligations you may have during the summer and how much of your time you will be able to commit to your GSoC project.

Optional (But Suggested)

Proposed Project

Please provide a brief description of, or a link to, the project you are interested in

Proposed Milestones

For projects that are relatively easy to quantify, please propose milestones that can be used to gauge progress on the project.

Legal Requirements

Students are required to affirm that the following is true. I hereby swear that I have not used nor seen the source code to any version of the Windows operating system nor any Microsoft product that may be related to the proposed project that is under a license incompatible with contribution to ReactOS, including but not limited to the leaked Windows 2000 source code and the Windows Research Kernel.


What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible. 

Our mentors were selected based on availability and familiarity with various parts of the Windows NT architecture, including but not limited to networking, filesystems, graphics, the registry, and hardware interfaces. In addition we place emphasis on the ability of a developer to act in a teaching role, who know how to guide students but provide enough freedom to allow the student to explore and learn how to achieve their goals through their own efforts. We will also encourage our mentors to be available to not just their assigned students, but also other students that have projects under ReactOS. Many of our mentor candidates are knowledgeable about a wide range of Windows NT technologies and can provide advice for topics beyond their assigned student’s project.

What is your plan for dealing with disappearing students? 

While every effort will be made to select students who are unlikely to disappear, we recognize that unpredictable circumstances are always possible. As such, we will require that all students provide backup contact information that we will verify as a failsafe in case students drop out of contact and are unable to inform us directly. Based on the situation, we will try to work with the student to accommodate any special circumstances that arise to ensure a project’s success, but if a student is unable to complete their project we will contact the GSoC team to consider any necessary actions, including marking a project as failed.

What is your plan for dealing with disappearing mentors?

While the mentor candidates we have selected are considered highly reliable, we again recognize that life can result in unexpected circumstances. As noted above, the mentor candidates we have selected are knowledgeable in more than just one specific part of Windows NT, and we will encourage students to consult with not just their assigned mentor but also others taking part in the GSoC program. As such, students will always have advisers available to them even if their assigned mentor is unable to continue with the project.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

Students whose projects are selected will be introduced to the greater ReactOS community by their mentors. They will also be put in touch with several community members that are actively engaged in regression and feature testing, whom will be invaluable in helping students find a wider audience for testing their code. Students will also be encouraged to provide status updates to the community, which will provide opportunities for feedback and further engagement. Even after a project is completed, a student will have learned a great deal about Windows development and will know that the ReactOS project is available as a resource for any future development work they may pursue on Windows.

Besides my mentor, who else is available to help me?

Besides developers not directly involved as mentors, we encourage all of our mentors to interact with students. As such, consider any mentor or developer as a resource to field questions and help as needed.