This is a comprehensive list of GSoC projects our community has worked upon / recommends. We have tried to add our completion blog as well wherever relevant. We have a separate Open Source guide to get you started.
(Projects marked with a * are still active and in need of contributors.)
- Terasology - MovingBlocks - Originated from an open-source Minecraft demo, it has become a stable platform which offers immense gameplay possibilities in the voxel world.
- Sunpy - Open Astronomy - Very friendly small group of people, great project, mixture of all flavours of programming. Actively developed via GSoC every year.
- GNURadio - GNURadio - a software radio project, used extensively in the IIT Bombay course EE340. Very good project if you like signal processing and communication systems.
- Extension of PEcAn API - Tezan Sahu, PEcAn Project - The prime objective of this project is to create & extend the PEcAn (Predictive Ecosystem Analyser) API package to achieve its full functionality. This involves leveraging some of the existing library functions & creating new endpoints as per requirement for getting & submitting workflows, visualization purposes along with other PEcAn capabilities.
- Open Data Kit: Migrate the Database and Integrate ODK-X Push Notifications into ODK-X Tool Suite - Vyankatesh Sawalpurkar, Digital Impact Alliance (DIAL) at UN Foundation - This project involves the migration databases from the firebase realtime database to the sync-endpoint sever. It also includes the addition of some new features to both Desktop and Mobile applications to improve the user experience.
- Restoration 100 - E Aakash, Terasology - Health is one of the fundamental logic for any game. The proposal is to make the Health component, which takes care of the health of the player and other NPCs, more extensible by moving it to a separate module and adding more logic flow into it.
- FormSet Improvements - Parth Patil, Django - This project aims to improve the FormSet Class in Django, thus enhancing its functionality and ease of use. Django currently has a formset class which is used as a collection instance for the forms. It’s a layer of abstraction which makes it easier to work with multiple forms.
- Light and Shadow Remastered - Darshan Tank, Terasology - The aim of this project would be to enhance and complete the basic gameplay mode which would be a fast-paced Capture The Flag set up in the Dark Fantasy world of Light and Shadow. One has to choose between the game’s two major factions and try to capture opposition's flag. The gameplay will also include features like in-game shop, defence towers and magic wands.
- Multiple Worlds* - Sarthak Khandelwal, MovingBlocks: Terasology - Terasology is an open world, open source game but it’s open in the sense that one can explore a single world as much as possible. The idea of this proposal is to add multiple worlds to the game and enable teleportation between two worlds. This project will serve to be a proof of concept of multiple worlds and efficient entity pool splitting.
- Variational Autoencoders* - Atharva Khandait, Mlpack - Mlpack is a fast, flexible machine learning library, written in C++, that aims to provide extensible implementations of cutting-edge machine learning algorithms. This proposal aims to add a framework for Variational Autoencoders to the library.
- Extended Visualization : Focus on GLSL - Kumar Ashutosh, DIPY: Python Software Foundation - DIPY is a python toolbox for analysis of MR diffusion imaging. The aim of the project is to add visualizations using Shaders. This would make the process of rendering data super fast and would require the use of GPU over the conventional CPUs.
- Improved Pulse Inspecttor Backend - Yashvardhan Didwania, Mozilla - Taskcluster-events is a service that allows web clients to listen for pulse messages without RabbitMQ credentials and without the need for a TCP connection to the RabbitMQ server. However, currently, taskcluster-events is old and poorly designed, without protocol specification. This proposal aims to completely rebuild taskcluster-events from scratch, ensuring it is robust and free of major bugs / failures.
- Anatomy system and Genome integrations - Arpan Banerjee, MovingBlocks: Terasology - Developed a basic anatomy system which could be easily extended to add a variety of new creatures. Remodeled the Health system based on the new anatomy system. Added genetics and mating in animals.
- Exploration World-Improved Gameplay - Nihal Singh, MovingBlocks: Terasology - Add WildAnimals, Puzzles, Exploration and other content to create a new gameplay module. The new gameplay module would pack together the best of whatever is created yet, to create a new gameplay setting that would add meaning and purpose to the end user.
- Improving the Accessibility for Visually Impaired Musicians - Divya Raghunathan, MuseScore - The project improves the accessibility of MuseScore, an open source music notation software so that visually impaired users can use it for score creation as well as score reading.
- Learner Dashboard - Arunabh Ghosh, Oppia - This project tracks the progress of all the learners as well as suggests new lessons to play as well. Learners can mark lessons they would like to play later and also keep track of the feedback they had submitted.
- TaskCluster Jobs in Treeherder - Kalpesh Krishna, Mozilla - A project based on Mozilla's testing infrastructure. Work was split across multiple repositories and required a final integration.
- A Lightweight UI for Medical Visualizations* - Ranveer Aggarwal, DIPY (Python Software Foundation) - Currently, if you have an OpenGL interface, you need to use Qt/GTK or some UI library to create a window and focus out of the OpenGL window to do simple UI tasks like fill forms, click on a button, save a file, etc. Our idea was to get rid of the external interfaces and have the UI built in. So, all the interaction happens within the 3D world interface.
- Tiled maps loader for KivEnt - Meet Udeshi, Kivy (Python Software Foundation) - Tiled maps are the most famous format for designing game maps. This project involved building an automatic loader for Tiled maps for the KivEnt game engine.
- SymEngine Polynomial with FLINT / Piranha - Srajan Garg, Sympy - This project deals with introducing much needed functionality to the SymEngine polynomial module. It improves upon the already existing univariate polynomial class, and also implementing a new multivariate polynomial class.
- Booting the eCos RTOS on the ArchC Simulator - Jainesh Doshi, ArchC - This project is aimed at porting a (cut down version priority) operating system on a simulator to understand the actual performances when implemented on hardware platforms. Functional simulators like ArchC are otherwise ISA dependent that does not give the whole picture needed for the benchmark performance on the actual hardware. This will benefit as direct performance details onto the scheduler and the benchmark programs running on the OS can be extracted from the simulation.
- Enabling Cesium for Liquid Galaxy - Abhishek Potnis, Liquid Galaxy Project - This project aimed at enabling Cesium - an open source virtual globe for Liquid Galaxy. The Liquid Galaxy project started off by making use of Google Earth for the panoramic system. The idea of this project was to enable Cesium to run across the multiple displays, providing an immersive and a riveting experience to the users. This project focused on endowing Cesium with features such as Camera Synchronization, Content Synchronization across the displays and Space Navigation Camera Control.
- FMI model exchange and co-simulation standard - Devyesh Tandon, MBDyn - Free MultiBody Dynamics Simulation Software - The Functional Mockup Interface (FMI) is a tool independent standard for the exchange of dynamic models and for co-simulation. The main objective of this project is to create an interface for model exchange and perform co-simulation.
- Cycloidal rotor module improvements - Kuldeep Singh, MBDyn - Free MultiBody Dynamics Simulation Software - The main focus is to solve the airflow over the cyclocopter rotor. There are multiple methodsto solve flow over the cyclocopter rotor, but each has its own pros and cons. The task alloted to me was to find the inflow at each angular location in the upstream and downstream half of the rotor.
- Implementing polynomial module in CSymPy (now SymEngine) - Sumith Kulal, Python Software Foundation - CSymPy currently lacks a polynomial module which is very essential in achieving CSymPy's goal of being the fastest CAS ever. Having a polynomial module is a core concern and implementing a fast module also help in achieving a fast series module and other modules. Once implemented, CSymPy will be more capable as a fast optional SymPy core which I think is good to ship before 1.0 at the same time being a powerful CAS on it's own.
- Package Install for 3rd Party Applications - Ranveer Aggarwal, KDE - KDE software needs to install plugins in various applications. Using packagekit this was implemented in 5 different KDE applications.