Participate in Google Summer of Code (GSoC) with FOSSASIA

Are you passionate about open source and looking for an opportunity to work on real world tech projects with mentorship from experienced developers? Join Google Summer of Code (GSoC) with FOSSASIA and take your skills to the next level!

🗓 Application Deadline: April 8, 2025 at 18:00 UTC
Don’t wait until the last minute — submit early!

What is GSoC?

Google Summer of Code (GSoC) is a global, remote program sponsored by Google that supports new contributors in working on open source projects. Selected participants are matched with mentors and work on coding projects over several weeks while receiving a stipend. GSoC is open to contributors aged 18+ from any background — whether you’re a student, a working professional, or a hobbyist looking to grow your experience with open source.

Important Dates

The most important deadline to keep in mind: Contributor Applications are open until April 8, 2025 – 18:00 UTC. Don’t wait until the last minute — submit early!

Why Choose FOSSASIA?

FOSSASIA is a long-time GSoC mentoring organization with a strong record of mentoring hundreds of successful contributors over the years. We maintain dozens of actively developed open source projects across areas like:

  • Web and Mobile App Development
  • DevOps and Infrastructure Automation
  • Machine Learning and AI
  • Open Hardware and Embedded Systems
  • Developer Tools, Scientific Apps, and more

Our community is globally distributed, diverse, and incredibly welcoming to newcomers.

Early Engagement Can Boost Your Chances of GSoC Selection

Each year, mentoring organizations receive an overwhelming number of proposals with only a limited number of contributor slots available. To stand out, it’s essential to show your interest and readiness to start. We strongly prioritize proposals from contributors who:

  • Take time to understand the project: We value contributors who genuinely dive into the project, and read documentation. 
  • Install and run the project locally: Setting up the project shows you’re serious and capable of working in a real development environment — it’s the first step to contributing effectively.
  • Explore the codebase: Familiarity with the code helps you identify where and how you can contribute. It also shows initiative and technical curiosity.
  • Submit meaningful pull requests (PRs): Even small fixes count! A PR that solves a real issue demonstrates your ability to understand, code, and collaborate.

How to Get Started

1. Learn About GSoC

Visit the official site: https://summerofcode.withgoogle.com. Read the Contributor Guide to understand the program’s goals and timeline.

2. Explore FOSSASIA Projects

Check out our FOSSASIA organization page: FOSSASIA on GSoC 2025. Browse through our project ideas and see what excites you. Visit our GitHub at https://github.com/fossasia to find respective repositories, open issues, and areas where you can contribute.

3. Start Contributing

  • Follow FOSSASIA development guide 
  • Install the project locally
  • Pick small issues and start making contributions
  • Submit pull requests

4. Write a Proposal

With the assistance of AI tools, crafting a well-structured proposal has become more accessible. However, we seek proposals that are:​

  • Specific and Realistic: Clearly define your project goals and ensure they are achievable within the GSoC timeline.​
  • Evidence-Based: Reference your previous contributions to the project, showcasing your familiarity and involvement. 
  • Detailed: Outline your timeline, milestones, and deliverables. Highlight how you’ve explored the codebase and set it up locally.​

5. Stay Connected

  • Join the FOSSASIA community on Gitter and participate in project-specific chats to stay informed and engaged.
Continue ReadingParticipate in Google Summer of Code (GSoC) with FOSSASIA

Contributing to Open Event Android App

The Open Event Android project consists of two components. The App Generator is a web application that is hosted on a server and generates an event Android app from a zip with JSON and binary files (examples here) or through an API. The second component we are developing in the project is a generic Android app – the output of the app generator. The Android app has a standard configuration file, that sets the details of the app (e.g. color scheme, logo of event, link to JSON app data).

The process for making a contribution in the project starts with making your account on GitHub. Secondly find the open source projects that interest you. Now as for me I started with open-event-android. Then follow these steps:

  1. Go through the project’s README.md file and get information about the various aspects and technologies of the project.
  2. Now fork that repo in your account.
  3. Open or setup the project as per the given information present in its documentation, for example for the sample android app you have to clone the project in your local machine and open it up using Android Studios.

Now you have your version of the project now it’s time for you to use the project on your own.

While doing so you have to work like a tester of the project, so you should explore each and every bit and find out any possible anomaly in the project that you would like to work on. Once you have that you are ready to create an issue.

Following are the steps to create a new issue,

Navigate to the main repo link, you will see an issues section as follows:

  • Click the new issue button and report every detail about the issue. For eg. The first issue that i worked on was Issue-1934
  • Even if you don’t find any problem in the project on your own you can always work on issues created by others, you just have to let the maintainers know that you want to work on the issue by commenting in it Issue 1709.
  • Now the next step is to work on that issue
  • On your machine you don’t have to change the code in the development branch as it’s considered to be as a bad practice. Hence checkout as a new branch. For eg. I checked out for the above issue as ‘crashfixed’
  • Make the necessary changes to that branch and test that the code is compiling and the issue is fixed followed by
  • The add command is used to bring the changes to the staging area so that they are ready to be committed/saved. You can also add individual files with the command
  • Next we want to save the changes that we made till now which can be done through git commit.
  • Finally we would push the changes that we made to our forked repository in github.
  • Now navigate to the repo and you will an option to create a Pull Request.
    Mention the Issue number and description and changes you done ,include screenshots of the fixed app.For eg.My first PR was  Pull Request 1936.

Sending the pull request is asking the maintainers of the code to add your changes to the main project which would be visible to all the contributors. But before getting merged your code may have to pass through several tests as in my case were:

-codacy/pr

-continuous-integration/travis-ci/pr

After your code passes the above tests you you would require one approved review from one of the maintainers of the project to get your code merged into the main one.

If your code is perfect in the very first attempt it would be accepted by the maintainer otherwise you would be asked to do some changes in it. You could carry out the changes on your local machine and once you are done with them you could push them to your forked repository and the changes would be amended in your pull request on its own.

Resources

Continue ReadingContributing to Open Event Android App

Getting Started Developing on Phimpme Android

Phimpme is an Android app for editing photos and sharing them on social media. To participate in project start by learning how people contribute in open source, learning about the version control system Git and other tools like Codacy and Travis.

Firstly, sign up for GitHub. Secondly, find the open source projects that interest you. Now as for me I started with Phimpme. Then follow these steps:

  1. Go through the project ReadMe.md and read all the technologies and tools they are using.
  2. Now fork that repo in your account.
  3. Open the Android Studio/Other applications that are required for that project and import the project through Git.
  4. For Android Studio sync all the Gradle files and other changes and you are all done and ready for the development process.

Install the app and run it on a phone. Now explore each and every bit use this app as a tester, think about the end cases and boundary condition that will make the app ‘ANR’ (App not responding) dialog appear. Congratulations you are ready to create an issue if that is a verified and original and actually is a bug.

Next,

  • Navigate to the main repo link, you will see an issues section as follows:
  • Create a new issue and report every detail about the issue (logcat, screenshots) For eg. Refer to Issue-1120
  • Now the next step is to work on that issue
  • On your machine, you don’t have to change the code in the development branch as it’s considered to be as a bad practice. Hence checkout as a new branch.
    For eg., I checked out for the above issue as ‘crashfixed’
git checkout -b "Any branch name you want to keep"
  • Make the necessary changes to that branch and test that the code is compiling and the issue is fixed followed by
git add.
git commit -m "Fix #Issue No -Description "
git push origin branch-name
  • Now navigate to the repo and you will an option to create a Pull Request.
    Mention the Issue number and description and changes you done, include screenshots of the fixed app.For eg. Pull Request 1131.

Hence you have done your first contribution in open source while learning with git. The pull request will initiate some checks like Codacy and Travis build and then if everything works it is reviewed and merged by co-developers.

The usual way how this works is, that it should be reviewed by other co-developers. These co-developers do not need merge or write access to the repository. Any developer can review pull requests. This will also help contributors to learn about the project and make the job of core developers easier.

Resources

Continue ReadingGetting Started Developing on Phimpme Android