Difference between revisions of "Google Summer of Code 2019"

From ReactOS Wiki
Jump to: navigation, search
(Our Potential Mentors)
(Accepted students are announced)
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[File:GSoC-logo2016.png|frameless|center|600px|link=https://summerofcode.withgoogle.com/]]
+
[[File:GSoC-logo2016.png|frameless|center|600px|link=https://summerofcode.withgoogle.com/organizations/5144807102480384/]]
 +
 
 +
== What is GSOC? ==
 +
Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3-month programming project during their break from school. [[Google_Summer_of_Code_2019#How_To_Apply| How to apply?]]
 +
 
 +
<!-- Commented out; accepted students are now listed
 +
 
 +
== Potential Students ==
 +
This is the list of potential students who want to participate in ReactOS GSoC 2019. The list is maintained by the community and interested students, and does not reflect official developers position or opinion.
 +
 
 +
Your official proposals should be sent via Google's GSoC interface, details are described below.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Student !! Area of interest !! Links & Contacts !! Small contribution
 +
|-
 +
| Costin Visan || || [https://reactos.org/pipermail/ros-dev/2018-December/019025.html ros-dev e-mail] ||
 +
|-
 +
| Ayush Kumar Sinha || Web development || [https://reactos.org/pipermail/ros-dev/2019-February/019061.html ros-dev e-mail]<br> Mattermost: <code>@ayush_sinha</code> || [https://github-userinterface.herokuapp.com/ prototype of project with server side Js]
 +
|-
 +
| Deepak Singh Rathore || Web development || [https://chat.reactos.org/reactos/pl/q7izy1wep3ramy46thkxdsdc1h Message in chat]<br> Mattermost: <code>@deepakdsr</code> ||
 +
|-
 +
| Akshay Patil || C++, RAPPS || [https://reactos.org/pipermail/ros-dev/2019-March/019067.html ros-dev e-mail]<br> Mattermost: <code>@akshay1612</code> || [https://github.com/reactos/reactos/pull/1447 PR #1447]
 +
|-
 +
| Maxim Smirnov || Kernel, Drivers, UEFI || [https://chat.reactos.org/reactos/pl/hadkoqebufyo3qn8rfwoacpybo Message in chat]<br> Mattermost: <code>@simi4</code> || [https://github.com/reactos/reactos/pull/1438 PR #1438]
 +
|-
 +
| Brock Mammen || Search extension for Explorer || [https://chat.reactos.org/reactos/pl/coi9xon1ftyd5jzmyigydi5u5w Message in chat]<br> Mattermost: <code>@b-r-o-c-k</code> || [https://github.com/reactos/reactos/pull/1434 PR #1434]
 +
|-
 +
| Jatin Kumar || Web development || [https://reactos.org/pipermail/ros-dev/2019-April/019075.html ros-dev e-mail]<br> Mattermost: <code>@awesomeChap</code> || [https://github.com/reactos/web/pull/8 web PR #8]<br>[https://reactos-web.herokuapp.com prototype of project made using Node & ReactJS]
 +
|}
 +
 
 +
-->
 +
 
 +
== Accepted Projects ==
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Project !! Student !! Nick in Mattermost !! Mentor(s)
 +
|-
 +
| Developer Web Interface for ReactOS with Server-side JavaScript || Ayush Kumar Sinha || <code>@ayush_sinha</code> || Victor Perevertkin, Colin Finck, Víctor Martínez Calvo
 +
|-
 +
| File Searching || Brock Mammen || <code>@b-r-o-c-k</code> || Giannis Adamopoulos, David Quintana
 +
|-
 +
| RAPPS || Akshay Patil || <code>@akshay1612</code> || Mark Jansen, Hermes Belusca-Maito
 +
|}
  
 
== How To Apply ==
 
== How To Apply ==
Line 10: Line 54:
  
 
=== Make a small contribution ===  
 
=== Make a small contribution ===  
Before your application can be accepted, it is expected that you submit a patch proposing a code change to the project, and work through the process of getting it merged into the master branch.  Check out the [https://jira.reactos.org/issues/?filter=14803 starter-project label] on Jira for some ideas of what to work on.  You are not required to complete these steps in solitude, and we are happy to help with any part of the process if asked.  Please note that while translations, documentation or comment fixes are an easy way to validate your workflow, they do not count toward this requirement.
+
Before your application can be accepted, it is expected that you submit a patch proposing a code change to the project, and work through the process of getting it merged into the master branch.  Check out the [https://jira.reactos.org/issues/?filter=14803 starter-project label] on JIRA for some ideas of what to work on.  You are not required to complete these steps in solitude, and we are happy to help with any part of the process if asked.  Please note that while translations, documentation or comment fixes are an easy way to validate your workflow, they do not count toward this requirement.
  
 
Go through [[Development Introduction]] to get started with your contribution.
 
Go through [[Development Introduction]] to get started with your contribution.
  
 
=== Reach out ===
 
=== Reach out ===
Effective communication is a key requirement for a successful project. Students should subscribe to the [http://www.reactos.org/mailman/listinfo/ros-dev ros-dev] mailing list and optionally could join the [irc://irc.freenode.net/#reactos-dev #reactos-dev] channel on Freenode’s IRC network for a live discussion with developers.  
+
Effective communication is a key requirement for a successful project. Students should subscribe to the [http://www.reactos.org/mailman/listinfo/ros-dev ros-dev] mailing list and optionally could join the [https://chat.reactos.org/reactos/channels/development Development channel] on our Mattermost chat server for a live discussion with developers.  There is also [irc://irc.freenode.net/#reactos-dev #reactos-dev] channel on Freenode’s IRC network which is bridged with the development channel.
  
Please ensure you've discussed your proposal with a project member on IRC or on the mailing list before final submission.  The developers will have invaluable feedback regarding your project's scope and your approach to it, and your proposal is unlikely to succeed without that feedback.
+
Please ensure you've discussed your proposal with a project member on the chat or on the mailing list before final submission.  The developers will have invaluable feedback regarding your project's scope and your approach to it, and your proposal is unlikely to succeed without that feedback.
  
 
=== Fill out your application ===
 
=== Fill out your application ===
Line 34: Line 78:
 
* Giannis Adamopoulos
 
* Giannis Adamopoulos
 
* [[User:Gigaherz|David Quintana]]
 
* [[User:Gigaherz|David Quintana]]
 +
* Hermes Belusca-Maito
 
* [[User:ThePhysicist|Timo Kreuzer]] (Former GSoC Student)
 
* [[User:ThePhysicist|Timo Kreuzer]] (Former GSoC Student)
  

Latest revision as of 21:52, 6 May 2019

GSoC-logo2016.png

What is GSOC?

Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3-month programming project during their break from school. How to apply?


Accepted Projects

Project Student Nick in Mattermost Mentor(s)
Developer Web Interface for ReactOS with Server-side JavaScript Ayush Kumar Sinha @ayush_sinha Victor Perevertkin, Colin Finck, Víctor Martínez Calvo
File Searching Brock Mammen @b-r-o-c-k Giannis Adamopoulos, David Quintana
RAPPS Akshay Patil @akshay1612 Mark Jansen, Hermes Belusca-Maito

How To Apply

See the Google Summer of Code 2019 Ideas page for more information.

Get familiar with the code

Every student new to ReactOS should begin by obtaining the code through our GitHub repository and performing a first build using our build environment. This environment ensures consistent build results, eliminates the need to set up your own toolchain and makes ReactOS one of the easiest operating systems to build.

Creating a fork of the ReactOS repository on GitHub is recommended for most students. This enables the use of branches and pull requests for contributions.

Make a small contribution

Before your application can be accepted, it is expected that you submit a patch proposing a code change to the project, and work through the process of getting it merged into the master branch. Check out the starter-project label on JIRA for some ideas of what to work on. You are not required to complete these steps in solitude, and we are happy to help with any part of the process if asked. Please note that while translations, documentation or comment fixes are an easy way to validate your workflow, they do not count toward this requirement.

Go through Development Introduction to get started with your contribution.

Reach out

Effective communication is a key requirement for a successful project. Students should subscribe to the ros-dev mailing list and optionally could join the Development channel on our Mattermost chat server for a live discussion with developers. There is also #reactos-dev channel on Freenode’s IRC network which is bridged with the development channel.

Please ensure you've discussed your proposal with a project member on the chat or on the mailing list before final submission. The developers will have invaluable feedback regarding your project's scope and your approach to it, and your proposal is unlikely to succeed without that feedback.

Fill out your application

See the Student Application Form below.

Read the documentation

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. If no documentation exists, students may have to conduct their own research and document the results – following project guidelines on respecting intellectual property. Our mentors can help guide this research process.

Our GSoC Adminstrators

Our Potential Mentors

Student Application Form

Students apply via the Google Summer of Code web site. Please see the information found there about how GSoC works for students, the timeline, and other details.

General Information

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

Time Commitment

You are required to 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. Failure to do so will result in a rejection of your application.

Proposed Project

Please provide a brief description, in your own words, of the project you are interested in

Proposed Milestones

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.

FAQ

What criteria did you use to select the individuals who will act as mentors for your organization?

Our mentors were selected based on availability and familiarity with various parts of the 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 topics 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 thanks to the fact that pretty much all our active contributors are wide-coverage developers.

What steps will you take to encourage students to interact with your project's community before and during 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 required 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.