AppFlowy Docs
We are not accepted into GSoC 2022. If you are interested in participating in a mentorship program and contributing to AppFlowy as a newbie, please check out AppFlowy Mentorship Program

Why does your organization want to participate in Google Summer of Code?

Participating in Google Summer of Code (GSoC) is a great opportunity for us to develop AppFlowy’s community and give back to the broader open-source community. By providing a platform that connects contributors around the world to open source projects, GSoC will help us gain more exposure in the open-source community and identify and bring in new developers to our community. Meanwhile, we will help newbies integrate into the open-source world and make them more competitive in the job market by offering real-world software development opportunities, high-demand technology stack including Flutter and Rust, and effective mentorship from veteran developers.
AppFlowy is a mission-driven organization. Our mission is to make it possible for anyone to create apps that suit their needs well. We are true believers in open source—a fundamentally superior approach to achieve the mission. Contributing to the open-source community is an important part of our journey, and we do so mainly through actively leading and supporting the AppFlowy open-source community, where a diverse group of people is empowered to contribute to the common good.
We know how satisfied and excited people can be when they are a part of a community of dedicated developers in open source. We also understand how overwhelming it can be for newcomers to get started. We would love to partner with GSoC to offer a place for developers to get their foot in the door and for mentorship to thrive.

What would your organization consider to be a successful GSoC program?

We would consider a successful GSoC program for our org to deliver two main results. Firstly, we inspire more and more enthusiastic individuals to get into open source, gain meaningful real-world coding experience, complete their projects successfully, and, for the ones we end up mentoring, stay involved in our community after the program is over. Secondly, we give back to open source by providing projects and mentorship, bringing new blood into our community, and developing skills in mentoring and organizing by guiding more developers to begin participating in open-source projects and to continue contributing long after the program concludes. In addition, more open-source code would be written and released for the benefit of all.

How will you keep mentors engaged with their GSoC contributors?

We will look critically when selecting mentor volunteers. AppFlowy’s co-founder Nathan Foo will take a lead in mentoring contributors. He will dedicate a consistent and significant amount of time for each contributor to make sure they get sufficient help and feedback in a timely manner. In addition, we will recruit mentor volunteers as secondary mentors for each contributor so that every contributor will have at least two mentors. Qualified mentors should be passionate about AppFlowy by actively contributing to the project, and they must have past experience mentoring junior developers.
We will set expectations for mentors. Mentors are expected to
  • Actively participate in the project during every phase of GSoC
  • Dedicate a consistent and significant amount of time, especially during the coding phase
  • Keep the communication with the contributors in the open unless it is a personal matter
  • Make themselves available on Discord and via email and arrange for backup if they need to go missing for a bit
  • Set expectations for time commitments, meetings, reports, and code check-ins, and to clearly communicate these expectations to their GSoC contributors
  • Hold a weekly 1:1 meeting with their contributors and help them prepare a weekly report to be sent out to AppFlowy’s community Submit timely contributor evaluations
  • Hold regular office hours to offer support and help for contributors
  • Establish a few checkpoints for each milestone and take actions
We will establish upfront guidelines for mentors, set up a private communication channel for them to talk to org admins, and make an escalation line available for contributors. The guidelines include:
  • How we select GSoC mentors and contributors
  • The schedule and format for GSoC contributor project updates
  • Mentor time involvement per phase of GSoC Communication best practices
  • Mentor administrative responsibilities
  • Decision process for determining if a GSoC contributor should pass or fail
We will reward and recognize good mentors
  • Reward mentors who meet expectations with the amount our org gets from Google
  • Recognize good mentors in AppFlowy community and offer opportunities to become an AppFlowy Evangelist
We will periodically check-in with individual mentors and contributors and resolve conflict or issues promptly.

How will you keep your GSoC contributors on schedule to complete their projects?

We will ask interested contributors to complete a non-trivial starter task in order to be selected. This requires them to get familiar with our codebase, which helps them ramp up faster and gives us a chance to evaluate them.
Our mentors will spend time with their contributors to create and refine a strategic plan during the application and the community bonding period. The plan will include:
  • Scoping
  • Designing
  • Breaking projects down into several milestones and target completion dates for each milestone
    • Include a date for completion of the strategic plan and add a “Start of Coding” milestone Tasks associated with each milestone
  • Dependencies
  • Risks & mitigation
Mentors will establish a few checkpoints for each milestone and take actions as followed:
  • Check off associated milestone tasks
  • Deliver feedback about contributors’ code, communication, and documentation
  • Come up with actionable items for the next checkpoint
  • If the contributor might miss a deadline or becomes stuck, mentors will understand why, consult with the contributor to come up with a concrete plan, offer more guidance, and increase the frequency of checkpoints.
We will ask our contributors to send out weekly reports to the community and make a point of giving positive feedback.
At the completion of each milestone, our mentors and contributors will take the opportunity to celebrate and reflect. We will also give shoutouts to them publicly in our community.
We will also require our mentors to host regular office hours and check their attendance. This will provide opportunities for contributors to get help to unblock rather than getting stuck on their own and lagging behind the schedule.

How will you get your GSoC contributors involved in your community during GSoC?

Before the contributors submit their proposals or apply for GSoC, they are welcomed to join our community and make small contributions such as submitting feature requests, reporting bugs, or participating in discussions on Discord.
During the community bonding period, they will be introduced to the community officially. Their mentors will ask them to present their ideas to the community, thereby having the chance to interact with others. The contributors also need to continuously solicit feedback from other community members through drafted PRs and posts on our channels and iterate their work by synthesizing gathered inputs during the coding period.
Approaching the final term, our contributors will be required to write an article about their project, and it will be posted in our newsletter, reaching a broader audience in our community and increasing the visibility of their work. In addition, we will encourage them to participate in general discussions on our forum.
Last modified 3mo ago