If you plan to apply to work on any of the projects listed in this site, you should start by sending an email to the contact points listed at the top of every project description. The purpose of this email is to introduce yourself to the NetBSD community if you are new to it, and to explain in a great level of detail how you will work on the project (e.g. the overall plan, milestones, schedule, etc.) This is particularly important if the project is up for funding or if it is a Google Summer of Code project.
The sections below include a guideline on the kind of information we are interested in hearing in your initial communication. The level of detail involved will depend on how how familiar you are with the NetBSD Project and the developer community.
If you are a newcomer (e.g. you are a Google Summer of Code student that has just installed NetBSD for the first time), you are encouraged to answer as many questions as possible. If you are an old-timer, however, you can skip the most obvious questions and focus on preparing a detailed project specification instead.
About your project
What is the goal of the project? (Short overview)
What will be the deliverables of the project? (Code, documentation, ...)
Give an overview of how you intend to reach the project's goal in the form of milestones and a schedule.
Is similar software already available elsewhere, e.g. for Linux or any other BSD?
Is the project a port of software, or a rewrite? (remember: No GPL in the NetBSD kernel!)
About your project and NetBSD
If your working area is the core NetBSD operating system: have you installed NetBSD and made first experiences with hands-on configuration? Have you rebuilt the kernel and the userland, either in full or in parts? If you plan to work on pkgsrc, have you installed packages from source and binary? Have you created a package on your own?
Have you found the relevant places that your project is based on in the source code, and read through it?
How will your project integrate into NetBSD? (Userland tool, kernel subsystem, driver, patch set, pkgsrc, ...)
What interfaces in NetBSD will your project use? (Go into details here! What module/file names, functions, data structures etc. are of relevance for your project?)
To what degree are you familiar with those interfaces? (not/some/very, details?)
Is knowledge on other topics required for this project, e.g. on hardware, software other than NetBSD, APIs, protocols, etc.? If so, give details and references.
To what degree are you familiar with those? (not/some/very, details?)
If the project involves hardware (e.g. writing drivers, doing a port to new hardware, ...): do you own the hardware or have access to?
About you
Can you list some prior projects that you have worked on so far? Include details like programming language, duration, number of people involved, project goal, if you used CVS, SVN or similar, and whatever else we may find thrilling! If you have a CV/resume online, feel free to include a link.
Do you have any prior experience with programming NetBSD? In what area? If you did send some problem reports (PRs) or patches, please include references.
Have you previously discussed your project within NetBSD, either on a mailing list or with some specific developers? If so, please give us either the names/email addresses of those developers or point us towards the discussions on our list (via http://mail-index.NetBSD.org/).
How do we contact you for question, comments, suggestions, etc.?
Is there anything else you'd like us to know? Did we forget any important details or questions?