Skip to main content

OSPP Project Proposal Guidance

This document contains a short guide on how to structure your OpenDAL Open Source Promotion Plan (OSPP) project proposal and how to increase the chance of your project proposal being accepted.

Choosing a project

You should start by deciding on which project do you want to work on. You can use our list of project ideas as an inspiration.

Interacting with the OpenDAL community

If you want to discuss our suggested project ideas, you can do so on the maillist or Discord. Make sure to listen to the feedback of the mentors, and try to incorporate it in your project proposal.

When communicating on the OpenDAL mail list or discord (and when interacting with the OpenDAL community in general), please remember to be polite and uphold the ASF Code of Conduct. Keep in mind that most OpenDAL contributors (and OSPP OpenDAL project mentors) are volunteers, and work on OpenDAL in their free time, so please treat them with respect and avoid spamming.

Creating the project proposal

Ultimately, the project proposal is the main deciding factor on whether your project will be accepted or not, so make sure that you put energy into making it as good as possible.

  • Please carefully read the Project Application Suggestions.
  • Prepare relevant materials based on the project requirements and refer to the Project Application Template.
  • The quality of the project application is the primary criterion for the committee to evaluate whether the student's application is approved or not.
  • This is the time to understand the project details and to become familiar with the community operation and etiquette.

Project information and timeline

This is the most important part of your project proposal. You should include an abstract that explains your project in one or two paragraphs, and then a very detailed description that explains what exactly do you want to achieve in the proposed project. The proposal should also clearly state the designated mentor(s) for your project (you should get in touch with them before submitting the proposal).

  • Describe a brief outline of the work that you plan to do, and try to estimate how will the work be split in the individual weeks of the project.
  • Define milestones that you intend to achieve in specific weeks (e.g. finish X in week 4, deliver Y in the middle of the project, have a final version prepared one week before the end of the project, etc.).
    • You should focus specifically on the midterm point (week 6), because your mentor(s) will evaluate your progress at this time. You should be slightly more than half done at this moment, and have something reasonable to show.
    • In week 11 (one week before the end of the project), you should consider doing a "code freeze", and spend the last week to polish tests and documentation.

Of course, it is quite difficult to predict this timeline exactly in advance, and it is not a problem to modify it while the project runs, but try to guesstimate it to the best of your ability.

Furthermore, let us know what is your intended time commitment for working on the project. How many hours per day can you work on it? Are there specific days of the week when you can work on it? Is there some period of time from May to August where you know in advance that you won't be able to work on it? Please include this information in the proposal.

There is a Community bonding period before the contributors start working on their projects. It is designed to help you learn about the community that you're going to contribute to, and to start familiarizing yourself with the code and/or technology of your project. Please include a short description of preparatory work that you intend to work on during this community bonding period (should your project be accepted).

How to increase your chance of being accepted?

You can demonstrate your dedication (and ability) to work on the selected project proposal by contributing something related to it before your proposal is evaluated. This can encompass e.g. sending a pull request to the relevant repository, fixing a bug, writing documentation, etc. There is no specific template for these kinds of contributions, and it might not be possible to do for all types of projects. You can coordinate with the project mentors to find out if they can suggest some entry-level task for you.

You can also tell us more about your motivation in your proposal. Why did you choose OpenDAL for a OSPP project specifically? Do you like the OpenDAL language? Is the specific project that you want to work on sympathetic to you for some reason? We would like to know!

Don't forget to submit!

You will need to submit your project proposal through the Open Source Promotion Plan website. Please keep the deadline (4th Jun 2024) in mind, as there will be no extensions!

Good luck! :)

How to decrease your chance of being accepted?

There are some actions and behaviours that will make it much less likely that your application will be considered, so you should avoid these. For example:

  • Spamming or harassing mentors or other members of the OpenDAL community.
  • Letting AI automatically generate your project proposal (you should put effort in it, don't be lazy!).
  • Suggesting unreasonably grandiose project proposals, e.g. adding a garbage collector to OpenDAL.
  • Suggesting unreasonably trivial project proposals, e.g. fixing a typo in the OpenDAL documentation.

This guide was inspired by https://github.com/rust-lang/google-summer-of-code/blob/main/proposal-guide.md.