4 min read
What is GSoC?
Google Summer of Code is a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.
GNOME Foundation :
GNOME Foundation is a non-profit organization based in Orinda, California, United States, coordinating the efforts in the GNOME project. The GNOME Foundation works to further the goal of the GNOME project: to create a computing platform for use by the general public that is composed entirely of free software.
Hello Everyone 🙂, I am Sriyansh Shivam ♦ 2023 GSoC Intern @ GNOME Foundation ♦ Sophomore pursuing Bachelor's in Computer Science and Engineering from Bharati Vidyapeeth ( Deemed University ) College of Engineering , Pune🧑🏻🎓 ♦ Focused on practicing DSA (Python) and building cool projects 📘 ♦ Inclined towards Web Development 🌐 and UI UX 🖱️ ♦ Completed 14+ certifications and over 20+ projects 🎓 ♦ Experience of 6+ languages and comfortable working on both Windows and Linux 💻 ♦ Open Source Contributor and Technical Writer ✍️ ♦ When not working, you could find me playing video games 🎮 or listening to songs 🎶
My Journey so Far :
My participation in Hacktoberfest 2022 marked the start of my open-source journey. I contributed to several Web development projects. Made no code and low code contributions. I learned how the Git process works, how you make a PR, sometimes receive review and changes requests on your commit, and then your commit gets merged after implementing those changes. I learned about git branching and much more. I heard about Google Summer of Code after discovering the open-source community. Despite having used Git for almost a year, I began using it much more regularly after Hacktoberfest. I started learning more about open source by watching YouTube videos, reading blogs, and enhancing my open-source project-contributing abilities. I occasionally use GitHub to learn about new technologies and to improve my coding abilities by using it as a reference.
In February, I found the Workbench project and immediately contacted my mentor and became the first GSoC applicant to begin working on it. At first, I had a lot of challenges, like installing Linux and learning new technologies, but with the help of my mentor's continuous encouragement, I was able to get past those challenges. I continued to research the project, made my first PR, got feedback, and implemented changes. On Element, I discovered the GNOME community and interacted with my mentors, asked doubts and got involved in discussions related to the project. Working on this project not only taught me new skills, but also taught me about GJS, GLib, and other technologies, I am learning and developing not only as a contributor but as well as an individual developer.
When I was in my freshman year, I remember watching tonnes of tutorials on YouTube and LinkedIn posts about how people cracked GSoC and the great experience they had, and getting accepted into this program the following year is nothing but a dream come true for me. I feel honored to be interning at GNOME.
My Project :
I would be working on Workbench to create demos and also implement functionalities that help ease the development workflow. Below are more specific details about the project.
Learn and prototype with GNOME technologies
Workbench's goal is to let you experiment with GNOME technologies, no matter if tinkering for the first time or building and testing a GTK user interface.
Among other things, Workbench comes with
real-time GTK/CSS preview
library of examples
XML and Blueprint for describing user interface
syntax highlighting, undo/redo, autosave, session restore
code linter and formatter
Goal of my Project:
Create beginner-friendly and easy-to-understand examples/demos for all widgets of GTK 4.10 and Libadwaita 1.3 to help newcomers understand how to use them effectively.
Provide ready-to-use code snippets of the widgets/APIs covered, making it easier for developers to integrate them into their projects.
Cover GLib/GIO and Libportal APIs and create relevant examples to help developers understand how to use them in their applications
Create demos while taking UI and UX design concepts into account to showcase how to make aesthetically pleasing and functional user interfaces.
Cover GNOME HIG Patterns to ensure that the examples and demos follow the GNOME Human Interface Guidelines, making them consistent with other GNOME applications and user-friendly for users
Implement Search function in Workbench
Implement the Keyboard-Shortcuts feature in Workbench to ease the development-workflow
This Project would be beneficial as :
In showcasing GNOME platform capabilities.
Providing an alternative to lengthy tutorials and dense API references.
Providing quick and ready-to-use snippets for GNOME Developers.
Helping on-board new developers into the community.
I'd also be blogging more regularly than before, so consider following me and subscribing to my newsletter to ensure you don't miss any of my upcoming blogs.
If you liked this Blog and want to connect here are my Socials:
Did you find this article valuable?
Support Sriyansh Shivam by becoming a sponsor. Any amount is appreciated!