Wizard/GUI helping students/interns apply and get started
Description of the project: throughout the application process and first few weeks of programs like Google Summer of Code and Outreachy, applicants typically need to work through many things for the first time, such as creating their own domain name and blog, mail account with proper filters, creating SSH and PGP keys, linking these keys with a Github account, joining mailing lists, IRC and XMPP channels, searching for free software groups in their local area and installing useful development tools on their computer. Daniel Pocock's blog "Want to be selected for GSoC?" lists some of these steps with more details. This project involves creating a Python script with a GUI that helps applicants and interns complete as many of these steps as possible, in less than an hour. Imagine that a student has only just installed Debian, they install this script from a package using Synaptic and an hour later they have all their accounts, communications tools, development tools and a blog (using Jekyll/Git) up and running. After all that is completed, the script could also help the applicant to scan source code on their hard disk, identify their skills and try to help match them to relevant projects and mentors and maybe even help them prepare a project plan to cut and paste into the application form.
Confirmed Mentor: Daniel Pocock
How to contact the mentor: mailto:email@example.com
Confirmed co-mentors: Applicants are asked to find one or two other developers, possibly somebody you know personally or somebody else from the free software community, who will support this project.
Deliverables of the project: a Python script, preferably distributed as a Debian package and uploaded to mentors.debian.net
Desirable skills: Version control systems (Git), Python GUI design (?PyQt)
What the intern will learn: the challenges that many new contributors face becoming engaged in the free software community and ways that we can help them.
Application tasks: propose a Python function that uses a Python API to attempt one of the tasks in the description above.