Skip to content

Community Bonding Period

Ismail Sunni edited this page May 27, 2019 · 4 revisions

Community Bonding Period

Overview

The community bonding period started from 6 May 2019 until 26 May 2019. In this community bonding period, my mentor, Martin Dobias, helps me to start the introduction [1] to the mailing list. I introduce myself and the project that I will work on [2]. I have already explained the project and asked for feedback before the proposal submission to the developer mailing list [3]. I also sent a similar email to the SOC [4].

With my mentors (Martin and Peter), we have met twice virtually via video call during the community bonding. For some quick questions, we also use a messaging platform. For the coding period, we agree to meet twice a week. Additionally, I have met with both of my mentors offline before the community bonding/GSoC announcement.

In term of the QGIS project, I have already set up my developer environment (and build frequently). I have been quite familiar with the development process (repository, pull request, issue tracker, documentation, QEP, communication, the organization, etc).

For the technical aspect, my main task in the project is learning about 3D programming and fresh my Qt C++. For this, my mentor suggested me to learn from LearnOpenGL [5]. I also did some coding with Qt 3D with C++. The code can be checked in my Github Repository [6]. Perhaps can be useful for others since I couldn't find a good Qt 3D C++ tutorial out there.

Additionally, I tried to go to the QGIS 3D codebase and do some research about the implementation (e.g. QDial for the on-screen navigation [7])

Regarding the project, I also made a Github issue to track my progress for my first improvement (On-Screen Navigation)[8]. I made a mockup for it also.

Lastly, on the GSoC itself, I have made a Wiki to put everything related to my project [9]. I will update it regularly (or weekly).

Checklist

Here some checklist that I have done in the community bonding period:

  • Request writing access to the OSGeo wiki, you need it to edit all info related to your project
  • Get to know your mentors, establish with them a way of communication, that can be video call, chat, email, etc. You are supposed to communicate regularly and often with your mentors.
  • Familiarize with the community practices and processes: how does the community communicate? Where is the source code published? How does the bug tracker work?
  • Introduce yourself and your project in SOC mailing list as well as the mailing list used by your software community, and start a public dialogue to gather feedback and refine your project accordingly.
  • Redefine your project with more detailed weekly milestones, with the help of your mentors and the feedback of the community, embedding the 3 evaluation periods in your timetable, adding more details, figuring out potential issues, etc.

    We agree to follow the original timeline that we put in the proposal.

  • Become familiar with the developer manuals
  • Study material relevant for your project
  • Install the developer environment and get ready to start coding
  • Participate in Mailing Lists / IRC / etc, try and help users

    I was trying to do it (reading the mailing list often), but unfortunately, I couldn't answer the questions that came up

  • Start coding for bug fixes NOT necessarily related to your project: it is a good exercise to become familiar with the code base. Include these bug fixes into your report due at the end of bonding period.

    No. My mentors suggested me to learn the 3D code base instead.

  • Set up your repository and wiki page for your project. You are free to blog/tweet about it too, if you wish. Don’t forget to include these info in the report due at the end of the bonding period.
  • Ask your mentors for guidance on how to commit to the project repository. Bear in mind that you should commit often, not just at evaluation periods. However, depending on the policy given by your mentors, you might be requested to commit in your own repository and make a PR only when the code is mature to be included in the main repo. Discuss the details with your mentors.