wiki:GSoC

RTEMS Summer Of Code

RTEMS is proud to have in multiple editions of the Google Summer of Code and European Space Agency Summer of Code in Space. We are applying to be a participating organization in Google Summer of Code 2024.

Currently, there has not been an announcement regarding editions of the European Space Agency Summer of Code In Space.

Please use this page as a jumping off point for participating in these programs with RTEMS and ask questions. We want you to be a part of the RTEMS community!

APPLYING GSOC CONTRIBUTORS MUST FILL OUT A Google APPLICATION AND FILL IN AN ENTRY ON THE RTEMS GSOC 2024 TRACKING PAGE

!!! MORE DETAILS BELOW !!!

Potential Contributors:

  • Read through all the material on this page.
  • Talk to us on Discord or the RTEMS mailing lists. The best place to get your questions answered is the #gsoc channel in the Discord! The devel mailing list is also good but sometimes takes longer to get a reply.
  • You will also need to fill in and later update the information found on the RTEMS GSoC tracking page.
  • We also require you build RTEMS, create an application, run it and post the result to the RTEMS mailing list. The GSoC Getting Started page has some more information. To ensure you have a working RTEMS environment and can submit patches, we require that you complete the Hello World exercise. This is a requirement for participation, and should also help you to get going. The patch should be submitted to the devel@ mailing list and the screen snapshot of the program in gdb should be sent to a mentor. Ask on Discord for details.
  • Pick a project from the list at Open Projects. This is by no means an all-inclusive list and we are open to suggestions. Submissions of ports to new architectures, new BSPs, new device drivers, and test improvements are always welcomed. Mentors can be reached by Discord or the devel mailing list.
  • Code your heart out and have a great summer!

Potential Mentors:

  • Share your knowledge and pledge to help a contributor.
  • Help the contributor succeed!

General Program Information and Guidance


RTEMS Specific Information

  • GSoC Getting Started - getting up to speed with RTEMS development for potential GSoC contributors.

Be sure to add yourself to the table below.

Writing Proposals and Doing Projects

The RTEMS Project has a proposal template but we expect it to include both information about yourself, include a timeline with milestones, and address the following concerns.

Problem: Over the years of participating in Summers of Code, the RTEMS project has noticed some recurring themes with Summer of Code projects:

  1. Projects would not meet the needs of the RTEMS project (and so would not be upstreamed).
  2. Projects would be completed in such a way as they were not maintainable (external projects would make use of the RTEMS build system see:LUA, as opposed to using the external software's own build system see:rtems-addon-packages), or projects would be hardcoded based on the RTEMS tree at one point in time see:BuildingMingwTools? the NSIS installer.
  3. Projects would be partially done without enough information for the next Summer of Code (or Google Code-In) contributor to continue the work. For example: a change would be made for one architecture, but the way to generalize for the others was not documented.
  4. Projects would be submitted as one giant patch at the end of summer, if rtems-devel reviewed the patch, the contributor would be busy with other work when it was time to make changes.
  5. Projects were not documented well enough for someone to verify it works.
  6. Projects would be done over and over again (instead of being new).

Solution: In the proposal the following MUST be included:

  1. A paragraph explaining what the project is trying to accomplish
    1. What is the core problem being solved?
    2. Why is this better than what we have already done?
  2. A sentence explaining how this project could be maintained (given developers have little time to maintain the code)
  3. Make documenting how the next summer of code contributor will pick up with developing the project in later years a project deliverable
  4. Break the project up into increments, so that if time runs out, each increment could be upstreamed, or at least written up on a wiki page so the next year's contributor could get farther faster.
  5. Make writing a tutorial to include a deliverable
  6. Email the first draft to devel@… for feedback, and make adjustments before submitting (THIS IS A CRITICAL REQUIREMENT!!!)

Expect the following questions from the email list:

  1. We really need something else specific done instead... could you do something else specific?
  2. What's the maintenance plan?
  3. How will we test it?
  4. We did this already... How is this an improvement?
  5. This is too much for you to complete in a summer... please remove these pieces from your proposal

In addition, the RTEMS project will furnish not only a mentor, but a co-mentor, and one or two additional people to help with keeping the project on a topic that is both meaningful for the contributor, and for RTEMS.

We really want your project to be the first step in your successful and long term participation in our project.


Contributor Information

Visit Open Projects to find an interesting project, or propose your own! Ask about your project idea on the email list or IRC. The project descriptions often require additional knowledge to flesh out a project proposal. Scoping a project is especially challenging as each contributor brings their own experience and capabilities to bear. Work with potential mentors to appropriately scope projects for the time available through the program.

We want you to hit the ground running, so you need to build RTEMS, modify it a little, and run samples as a prerequisite. Please visit the RTEMS GSoC Getting Started page for details.

RTEMS is an operating system targeting embedded systems that are cross-compiled, meaning that you develop on a host system and run programs on a target system. In general, contributors working on code require no special hardware, because RTEMS runs on simulators like gdb, skyeye, and qemu. The development can all be done and tested using a GNU/Linux or other suitable host.

Please read through the SoC Project Management page to get a sense of our expectations from you for the summer of code.

Fill out the official Google application and fill out an entry in the tracking page linked above.


References


Historical Information

The RTEMS Community is proud to have participated in previous editions of the Google Summer of Code as well as Google Code-in (GCI).

Information for prior years:

Additionally, we have participated in multiple editions of the European Space Agency Summer of Code in Space:

Information for prior years:

Last modified on 01/05/24 at 20:42:51 Last modified on 01/05/24 20:42:51

Attachments (1)

Download all attachments as: .zip