For general information about the program, check the main page at Google for Summer of Code. This will be the first time Nomad is applying for GSoC.
All Nomad-related organizational Summer of Code discussion happens on the mailing list nomad-users@nongnu.org (subscription info here). Feel free to subscribe if you want to be involved, either as a mentor or student.
We have an idea list for Nomad-related projects for students to implement as part of the Summer of Code. Please read the information on this page too! We've tried to ensure that each project:
The definition of “student” used by Google is reasonably broad. If you know somone who already works on a GNU project and meets the eligibility requirements, please encourage them to submit a proposal.
If you are an eligible and interested student, read through the list and note the projects you are interested in. You, as the student programmer, then submit a proposal to Google, as described in the following.
First, submit your application early. By doing so, it will be given a greater share of attention than is possible for applications submitted at the last minute. Many applications are submitted in the last few days; there is no time for us to to give such last-minute student submitters feedback on how to improve their proposal.
You might submit a proposal unchanged (though you will need to include additional information, as described below), or you might adapt it. Changes to the proposal could include:
You like the basic idea of the project but it's not such a good fit for the skills that you have; in this case please feel free to suggest an alternative, but try to remember that the idea is for the software to be useful for its existing and potential users (for example, enhancing GNU find to allow the filesystem to be searched using Prolog may be interesting but is unlikely to set the user base afire with enthusiasm).
In any case, it is wise to talk with the existing maintainers and other developers first. You can find the current contacts for a package using the mailing lists and the Nomad website. Nomad has IRC channel as well.
Please remember the suggested projects are not coursework assignments. If you'd like to work on the Summer of Code, you should satisfy yourself that you understand the project you propose to work on, and that you have a good chance of completing the necessary work within the time available.
Finally, please put the project name as the first word of the one-line Title/Summary of your application (e.g. 'Logo - Improve design'). Thanks!
Proposals are submitted via the Google Summer of Code 2020 web site. When proposing your project, please make sure you include the following information. You must follow this project template in order to have your proposal considered!
If we include your work in the GNU Project and a copyright declaration is required. You can also use a nickname.
We need to be able to communicate with you!
If your project is from the ideas list, please use the same title, unless a change is needed to reflect the fact that your propsal is not quite the same as the suggestion.
Please include this, rather than just referring to the suggestion, to help avoid misunderstanding.
Please explain how users will benefit from your project. How will the Nomad itself benefit?
What software will be added or changed? What parts of the project's code will be affected? Which documentation will you update? When we read this section of your proposal, we will be trying to figure out how well you understand what needs to be done. We're more likely to accept proposals from students who show us that they know what needs to be done.
Please indicate how you and your mentor will track your progress as you work on the project, and how the mid-term evaluation of your project will be made. An important part of the mid-term evaluation is that it's the point where everybody has to make a judgement about whether the project is going to be completed in time. It's important to have specific criteria for both the mid-term evaluation point and the for the fully-completed project (that is: how will you know where you're half-way, and how will you know when you're done?)
What will you be working on, and how long will each part of the work take? What objective results will be visible at each stage? How will you know if you are ahead or behind schedule? If you are unable to complete the project, are the results from part-way through still useful? How?
How will everybody know whether things are on-track at the half-way evaluation point?
Remember to mention any periods during the summer when you won't actually be available to work on the project (though remember, the Summer of Code project is expected to be your main activity).
Our experience with earlier Summer of Code projects is that good communication is essential to students' success. Students who communicate clearly and frequently with their mentor are more likely to be successful. Please indicate the ways in which you will contact your mentor (and a schedule for doing it) to ensure that they're always aware of your progress. While email is useful, real-time forms of contact help a lot. Also, how will your mentor be able to see your code as it progresses?
Why did this project appeal to you? How will you benefit from it? Why are you particularly suited to work on this? What will you do once the project is "finished"? Have you worked on any Free Software before? Of the skills that you will need to complete the project, which do you already have? What will you need to learn?
The Nomad Project has standards relating to how software is developed and how it is documented. These are designed to make the resulting software useful, maintainable, easy to install, and most importantly make sure that it will remain free (as in freedom). You need to do several things:
For the actual project suggestions, please see the separate page with the list of Summer of Code GNU project ideas. We'll be updating this list as new projects are identified (until the proposal deadline).
Even if you are not an eligible student, coming up with good projects meeting the criteria above that benefit Nomad is very welcome (the sooner the better). If you do, please contact the maintainer for Nomad. If you can find a mentor for the project (or can mentor it yourself, with the maintainer's consent), then email the idea to us at nomad-users@nongnu.org.
There are other lists of things that need to be done on the GNU project. This list is not intended to replace them. However, the other task lists are mostly more open-ended, include larger and more complex tasks, and the tasks on the other lists don't come with a mentor; you will need to find one, if you need one.