Posted on

What a year!

What a year, huh? There was something about 2022 that was different for me than the previous years. There were lots of things to celebrate and many to be sad about. This is my GNOME blog, but I am more and more convinced that I can’t separate my whole self from my ~work persona~. Life beyond the computer happens and shapes everything we do.

Putin’s invasion of Ukraine has been in my mind a lot lately. I live relatively close to the conflict here in the Czech Republic, and you might not know, but Ukrainians were already the biggest immigrant community in here. I have many Ukrainians being part of my life and it breaks my heart seeing the pain they are going through. I feel the world has gone numb to the suffering of everyday life people and the conversations have become abstract, touching more on the ideological and political aspect of events than its impact on human life.

Across the Atlantic my people in Brazil have experienced a significant decrease on their life standards and the news of people in my life enduring poverty and disease have kept me awake many nights this year. The sadness morphed into frustration and anger at those that have the means to revert this situation but instead choose to profit from it. Accountability won’t bring back the lives of  the almost 1 million Brazilians that have passed in the last couple of years due to the government’s disturbing decision to NOT take action to alleviate the consequences of the pandemic.

But I don’t want to end this post in a sad note. There were plenty of things in my life in 2022 that brought me joy and made me a better person.

The pandemic put lots of things in my life to a hold. I haven’t visited Brazil in 5 years until this summer, where I went there for a couple of weeks to celebrate my thirtieth anniversary with friends and family.

This summer I also went to Mexico to our very first GUADEC in Latin America! This truly made me proud. Being in Mexico felt like being back in Brazil. There were so many cultural and behavioral aspects we could relate, that made me feel like the conversations I had with people I just met over there were as if we were friends for many years already at that point. I loved Mexico and its people, and I am looking forward to be back, visit more, learn more.

This year also taught me important lessons about happiness and contentment. We rethought our entire plan for our farmhouse reconstruction based on our experiences living here for the past two years. The lesson is that happiness is about living on the now, not in the future. Appreciating the things we have, the small everyday life things is what really keeps me going other than chasing the carrot. Lots of the construction space we initially wanted to allocate for comfort is going to be purposed for living. Spaces to work on activities that bring us joy such as gardening, woodworking, and handcrafts. I also learned more about the value of time vs money, and the rewarding feeling of building something on your own for yourself.

I wish you all a great new year and I hope we can be together in more opportunities as the world opens up to traveling again!

Posted on

Proposing internship project ideas

GNOME yearly participates in both Outreachy and Google Summer of Code. These internship programs basically consist on having new contributors working on a well-scoped project alongside an experienced mentor.

Defining project ideas is not as easy as it might sound. One needs to consider the perspective of a newcomer approaching the project for the first time, having a schedule where they are expected to onboard, work, and produce contributions that benefit the project.

Instead of my yearly call for project ideas, I would like us to maintain a permanent collection of project ideas that can be discussed and iterated over for a longer period of time. Sometimes an idea can depend on prior work, some UI mockup, or the availability of someone to mentor.

The Internship Project Ideas GitLab repository is now the place for these conversations to take place. The repository’s issue tracker should work well for cross-linking to issues in the repository of our components, as well as allow for tagging individuals that can provide valuable input on the composition of a project idea.

Both internship programs allow for the applicants to propose their very own project ideas, so whenever you get contacted by a potential future intern, ask them to file an issue on our Internship Project Ideas repository for further discussions.

Lastly,  Don’t Be That Person: Don’t propose projects that neither you nor anyone else wants to mentor. 😉

Posted on

Get ready for Google Summer of Code 2023 with GNOME!

Google has recently announced the 2023 edition of Google Summer of Code.

The 2022 changes in the program’s format have been successful and are continuing for 2023, with just a small adjustment around eligibility (described in the link above).

GNOME is certainly going to apply to be a mentoring organization, and we hope to once again be part of the program.

If you are a new contributor interested in a summer sponsorship to work in the GNOME project, this is a great time to start preparing!

Visit our Newcomers tutorial to learn how to make your first contribution, join our communication channels to discuss ideas with the community, and stay tuned to our gsoc.gnome.org website!

If you have any doubts/questions, feel free to open a topic in our Discourse tag.

Posted on

Google Summer of Code 2022: It’s a wrap!

Google Summer of Code logo

Another program year is ending and we are extremely happy with the resulting work of our contributors!

This year GNOME had nine Google Summer of Code projects covering various areas, from improving apps in our ecosystem to standardizing our web presence. We hope our interns had a glimpse of our community that motivated them to continue engaged with their projects and involved with the broad GNOME ecosystem.

A special thanks goes to our mentors that are the front-line of this initiative, sharing their knowledge and introducing our community to the new contributors. Thank you so much!

We encourage interns now to contemplate their future after GSoC. If you want to continue with us, speak to your mentor about your interests and ask for some tips on how you can continue participating in the project. Also, there are opportunities of employment that can help you build a career in open source.

Thanks for choosing GNOME for your internship! We were lucky to have you!

Posted on

GNOME will be mentoring 9 new contributors in Google Summer of Code 2022!

We are happy to announce that GNOME was assigned nine slots for Google Summer of Code projects this year!

GSoC is a program focused on bringing new contributors into open source software development. A number of long term GNOME developers are former GSoC interns, making the program a very valuable entry point for new members in our project.

In 2022 we will mentoring the following projects:

Project Title Contributor Assigned Mentor(s)
Reworking Sync Options for Health amankrx Rasmus Thomsen
Chromecast support for GNOME Network Displays Anupam Kumar Claudio Wunder and Benjaming Berg
Pitivi: Port UI to GTK4 Aryan Kaushik Alex Băluț and Yatin
Faces of GNOME – Continuing the Development of the Platform Asmit Malakannawar Claudio Wunder and Caroline Henriksen
Revamp “New Document” submenu Ignacy Kuchciński and Utkarsh Gandhi António Fernandes
Fractal: Media history viewer Marco Melorio Julian Sparber
GNOME Websites Framework – Part 2 Pooja Patel Claudio Wunder and Caroline Henriksen
Pitivi Timeline Enhancements Thejas Kiran P S Alex Băluț and Fabián Orccón

As part of the contributor’s acceptance into GSoC they are expected to actively participate in the Community Bonding period (May 20 – June 12). The Community Bonding period is intended to help prepare contributors to start contributing at full speed starting June 13.

The new contributors will soon get their blogs added to Planet GNOME making it easy for the GNOME community to get to know them and the projects that they will be working on.

We would like to also thank our mentors for supporting GSoC and helping new contributors enter our project.

If you have any doubts, feel free to reply to this Discourse topic or message us privately at soc-admins@gnome.org

** This is a repost from https://discourse.gnome.org/t/announcement-gnome-will-be-mentoring-9-new-contributors-in-google-summer-of-code-2022/9918

Posted on

GNOME Foundation Board Elections 2022

My involvement with GNOME started in my teens and has continued over the years where it influenced my studies, career, and even the place I chose to live. One of my desires in my journey has been to help the GNOME project achieve its goals and fulfill its vision of building an open source desktop environment that is accessible and easy to use to a general audience. Sitting on the Board has enabled me to contribute to these efforts more directly and has also taught me plenty about community governance and nonprofit sustainability.

My Board term is ending now and will not run for reelection for a few reasons: firstly, I believe that a rotation of board members can help increase community engagement and transparency. The current model our Board has of renewing parts of its members every year IMO does a great job at ensuring continuity of board programs while allowing for new voices and perspectives to onboard and maximize the impact.

Another reason why I will not be running for reelection is that I am convinced I can be more beneficial to the GNOME project by contributing to more operational tasks and running some of our programs, instead of the position of governance and oversight expected of the Board members. I would like for my seat on the Board to be filled by someone with skills and enthusiasm for reaching out to broader audiences beyond GNOME, someone capable of bridging our plans and vision with opportunities that can bring funding, diversity, and sustainability to the Foundation.

I am not going anywhere. You will still see me around the chat channels, forums, and conferences. I want to focus on improving our Newcomers onboarding experience as well as increase our conversion rate of Outreachy/GSoC interns that become long-term contributors. This also involves helping application developers monetize their work and making sure volunteers are given employment opportunities that allow them to continue working on open source software. I also want to refocus on my coding contributions, while learning new things and keeping up with modern technologies.

All in all, I am looking forward to meeting my fellow GNOME friends in GUADEC this year after such a long time with no travel. o/

Posted on

GSoC 2022: GNOME Foundation has been accepted as a mentor organization!

Google Summer of Code logo

We are happy to announce that GNOME has been accepted as a mentor organization for Google Summer of Code 2022!

New contributors will be reaching out in our communication channels for information about the program and to discuss project ideas, please point them to gsoc.gnome.org.

If you have any questions/doubts you can open a topic in our Discourse community, send an email to soc-admins@gnome.org, or reach out in our GSoC Matrix chat room.

Posted on

Call for project ideas and mentors for Google Summer of Code 2022

Google Summer of Code Logo

It is that time of the year again when we start gathering ideas and mentors for Google Summer Code .

Google Summer of Code 2022 will bring some changes. Our main highlights are:

Please, submit your project ideas as issues in our gitlab repository by March 1st. Make sure you answer all the questions in the issue template (Project-Proposal template).

The GNOME Foundation recognizes that mentoring is a time consuming effort, and for this reason, we will be giving accepted mentors an option to receive the $500 USD stipend that Google pays the organization for each contributor. Mentors can choose to revert the fund into a donation to the GNOME Foundation. Some payment restrictions may apply (please contact us for questions).

Proposals will be reviewed by the GNOME GSoC Admins and posted in our Project Ideas page.

If you have any doubts, please don’t hesitate to contact the GNOME GSoC Admins on this very same forum or on Matrix in the channel #soc:gnome.org

Posted on

Integrating sandboxed Vala apps with the host system through xdg-desktop-portals

Portals are a mechanism through which applications can interact with the host environment from within a sandbox. They give the ability to interact with data, files, and services without the need to add sandbox permissions.

Examples of capabilities that can be accessed through portals include opening files through a file chooser dialog, or printing. More information about portals can be found in Sandbox Permissions.

Some portals, such as the FileChooser one, provide an almost seamless experience without much extra code on the app side. For other portals, you usually need some code to talk to the portal’s DBus interface or use libportal.

Vala was designed specifically for the development of GNOME apps, and it has some nice syntax-sugar that makes the communication with DBus pretty simple to implement.

GNOME Boxes is written in Vala and, for this reason, instead of consuming libportal, I introduced a small singleton Portal class that centralizes the whole portal communication logic for the app. This turned out to be quite convenient, so I am copy-pasting it in other Vala apps I work on, and sharing this here in case it can be useful to you too. 🙂

This works because in Vala you can define a namespace matching the desired DBus interface name and with annotations, you can bind objects, properties, and methods to a DBus service. See the Vala DBus Client Samples for more examples.

With the Portal singleton, a call to the Background portal requesting permission for the app to run in the background gets as simple as:

var portals = Portals.get_default ();
yield portals.request_to_run_in_background ((response, results) => {
    if (response == 0)
        // do something...
});

Notice that this is an async call and you may pass a callback to handle its response.

Nothing written here is new, but I thought it was worth sharing this snippet to help others make their apps integrate with xdg-desktop-portals and reduce the unnecessary exposition of user data in sandboxed environments.