58 | | Be sure to add yourself to the table below. |
| 58 | Be sure to add yourself to the table below.== Writing Proposals and Doing Projects == |
| 59 | |
| 60 | '''Problem:''' Over the years of participating in Summers of Code, the RTEMS project has noticed some recurring themes with Summer of Code projects: |
| 61 | # Projects would not meet the needs of the RTEMS project (and so would not be upstreamed). |
| 62 | # Projects would be completed in such a way as they were not maintainable (external projects would make use of the RTEMS build system [http://home.gwu.edu/~cssmith/LuaRtems/ see:LUA], as opposed to using the external software's own build system [http://git.rtems.org/rtems-addon-packages/ see:rtems-addon-packages]), or projects would be hardcoded based on the RTEMS tree at one point in time see:[wiki:Building/MingwTools BuildingMingwTools] the NSIS installer. |
| 63 | # Projects would be partially done without enough information for the next summer of code (or google code in) student 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. |
| 64 | # Projects would be submitted as one giant patch at the end of summer, if rtems-devel reviewed the patch, the student would be busy with schoolwork when it was time to make changes. |
| 65 | # Projects were not documented well enough for someone to verify it works. |
| 66 | # Projects would be done over and over again (instead of being new) |
| 67 | |
| 68 | '''Solution:''' In the proposal the following MUST be included: |
| 69 | # A paragraph explaining what the project is trying to accomplish |
| 70 | ## What is the core problem being solved? |
| 71 | ## Why is this better than what we have already done? |
| 72 | # A sentence explaining how this project could be maintained (given developers have little time to maintain the code) |
| 73 | # Make documenting how the next summer of code student will pick up with developing the project in later years a project deliverable |
| 74 | # 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 student could get farther faster. |
| 75 | # Make writing a tutorial to include a deliverable |
| 76 | # email the first draft to rtems-devel@rtems.org for feedback, and make adjustments before submitting '''(THIS IS A CRITICAL REQUIREMENT!!!)''' |
| 77 | |
| 78 | Expect the following questions from the email list: |
| 79 | # We really need ''something else specific'' done instead... could you do ''something else specific''? |
| 80 | # What's the maintainence plan? |
| 81 | # How will we test it? |
| 82 | # We did this already... How is this an improvement? |
| 83 | # This is too much for you to complete in a summer... please remove these pieces from your proposal |
| 84 | |
| 85 | 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 student, and for RTEMS. |