Posted on

Student applications for Google Summer of Code 2021 are now open!

It’s that time of the year when we see an influx of students interested in Google Summer of Code.

Some students may need some pointers to where to get started. I would like to ask GNOME contributors to be patient with the student’s questions and help them find where to get started.

Point them at https://wiki.gnome.org/Outreach/SummerOfCode/Students for overall information regarding the program and our project proposals. Also, help them find mentors through our communication channels.

Many of us have been Outreachy/GSoC interns and the positive experiences we had with our community were certainly an important factor making us long-term contributors.

If you have any doubts, you can ask them in the #soc channel or contact GNOME GSoC administrators.

Happy hacking!

Posted on

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

gsoc logo

 

Yay! We are participating in GSoC once again this year and our org features in the list of this year’s accepted organizations.

If you have any doubt about GSoC, feel free to contact us on #soc IRC/Matrix, email, or Discourse.

Posted on

Save the date: GNOME LATAM 2021, March 27th

I’m happy to spread the word that a GNOME event in Spanish and Portuguese is taking place this month, on the 27th of March. It will be a free virtual event with talks and panels where everybody is welcome.

You can register at https://events.gnome.org/event/82/registrations/33/

You can send talk proposals (in Portuguese and Spanish) at https://events.gnome.org/event/82/abstracts/

See you there!

 

Posted on

Call for Project ideas for Google Summer of Code 2021

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

This time around we will be posting and discussing proposals in GNOME’s GitLab instance. Therefore, if you have a project idea that fits Google Summer of Code, please file an issue at https://gitlab.gnome.org/Teams/Engagement/gsoc-2021/-/issues/new using the “Proposal” template.

Everybody is welcome to add ideas, but it would be nice to verify whether the ideas are realistic and mentorship for it will be available. We encourage you to discuss your ideas with designers in #gnome-design to get their input and plan collaboration, especially if your ideas are related to one of the core GNOME modules.

Keep in mind that there are a few changes in GSoC this year:

  1. Smaller project size all students participating in the 2021 program will be working on a 175 hour project (instead of a 350 hr project). This change will also result in a few other changes including the student stipend being cut in half.
  2. Shortened coding period – the coding period will be 10 weeks with a lot more flexibility for the mentor and student to decide together how they want to spread the work out over the summer. Some folks may choose to stick to a 17-18 hour a week schedule with their students, others may factor in a couple of breaks during the program (for student and mentor) and some may have students focus 30 hours a week on their project so they wrap up in 6 weeks. This also makes it a lot easier for students with finals or other commitments (weddings, etc.) to adjust their schedules.
  3. 2 evaluations (instead of 3) – There will be an evaluation after 5 weeks and the final evaluation will take place after the 10th week. We are also no longer requiring students complete their first evaluation (though we encourage them to do so), so if a student doesn’t complete the first evaluation they will not automatically be removed from the program. They are still required to complete the final evaluation.
  4. Eligibility requirements – In 2020 there are many ways students are learning and we want to acknowledge that so we will be allowing students who are 18 years old AND currently enrolled (or accepted into) a post-secondary academic program as of May 17, 2021 or have graduated from a post-secondary academic program between December 1, 2020 and May 17, 2021 to apply to the GSoC program.

If you have any doubts, please don’t hesitate to contact the GNOME GSoC Admins on Discourse or https://chat.gnome.org/channel/outreach

** This is a repost from https://discourse.gnome.org/t/call-for-project-ideas-for-google-summer-of-code-2021/5454 to reach a broader audience. Please share! **

Posted on

Delivering osinfo-db updates automatically for Flatpak users

If you are familiar with GNOME Boxes internals you are aware that our secret sauce is libosinfo. It does the OS image detection and provides us with a database of devices, preferences, and compatibility for the operating systems we support.

In the world of traditional package management tools, osinfo-db is the package responsible for delivering updates about new operating system’s releases, fixes, and improvements that Boxes will consume. So whenever you wonder why the newest EndlessOS or the newest Debian release isn’t listed in the Boxes download section, it is likely that osinfo-db is outdated.

The pipeline from upstream -> distros -> to users is extremely valuable for apps and libraries. It is our “integration testing” phase. But for data-only packages like osinfo-db, we noticed that most users’ complains are regarding the package being outdated. We rarely see bugs introduced by osinfo-db updates. The very separation of the dataset (osinfo-db) and the library (libosinfo) is the reason for us to feel confident about contentiously delivering the dataset directly to our users.

For this reason, Flatpak users of GNOME Boxes will now benefit from the OsinfoDb Flatpak extension. It allows us to deliver osinfo-db updates direclty to users without updating the entire Boxes Flatpak. If you are receiving automatic updates in GNOME Software, the osinfo-db update is seamlessly.

Boxes still bundles its own osinfo-db data for those that don’t want to consume the extension. This will be updated whenever the Boxes Flatpak is updated, so expect it in a slower cadence.

Nothing is required from users to transition to this. Flatpak will pull the extension for you once you update Boxes.

Posted on

Summertime sadness

Another summer is about to end and with it comes the autumn* with its typical leaf loss. There’s beauty to the leaves falling and turning yellow/orange, but there’s also an association with melancholia. The possibilities and opportunities of the summer are perceived to be gone, and the chill of the winter is on the horizon.

The weather changes set in at the same time our Google Summer of Code season comes to an end this year. For a couple of years, I have planned to write this blog post to our GSoC alumni, and considering the exceptional quality of our projects this year, I feel that another GSoC can’t go without me finally taking a shot at writing this.

Outreachy and GSoC have been critical to various free and open source communities such as ours. By empowering contributors to spend a few months working fulltime in our projects we are not only benefiting from the features that interns are implementing but also having a chance to recruit talent that will continue pushing our project forward as generations pass.

“Volunteer time isn’t fungible” is a catchphrase but there’s lots of truth to it. Many people cannot afford to contribute to FOSS in their free time. Inequality is on the rise everywhere and job security is a privilege. We cannot expect that interns are going to continue delivering with the same bandwidth if they need to provide for themselves, their families, and/or work towards financial stability. Looking at ways to fund contributors is not a new discussion. Our friends at Tidelift and GitHub have been trying to tackle the problem from various fronts. Either making it easier for people to donate to volunteers and/or helping volunteers get fulltime jobs, the truth is that we are still far from sustainability.

So, if you are a mentor, please take some time to reflect on the reasons why your intern won’t continue participating in the project after the internship period ends and see what you can do to help them continue.

Some companies allow their employees to work in FOSS technologies and our alumni have a proven record of their contributions that can definitely help them land entry-level jobs. Therefore referring interns to job opportunities within your company might be a great way to help. Some companies prioritize candidates referred by fellow employees, so your referral can be of great help.

If you are an intern, discuss with us and with your mentor about your next steps. Reflect on your personal goals and on whether you want to build a career in FOSS. My personal advice is to be persistent. Lots of doors will close, but possibly the right one will open. You have a great advantage of having GSoC/Outreachy on your resume and a proven record of your contributions out in the open. Expand your portfolio by contributing bits that are important to you, and eventually recognition may come.

All in all, a career in FOSS isn’t guaranteed, and as branches grow in different ways, remember that the trunk still holds them together. Your roots are in GNOME and we are very proud to see our alumni thrive in the world, even far away from us.

*at least if you live outside the tropics, but that’s a topic I want to address on another blog post: the obstacles to a career in FOSS if you are coming from the global south.

Posted on

GUADEC 2020: Intern lightning talks

This year’s GUADEC was a blast. I miss seeing everybody in person but, at the same time, the online event enabled the participation of many that otherwise wouldn’t be able to attend the conference. I hope we can continue having an online conference alongside our in-person ones, for more people to participate.

During the Intern lightning talks, we had the chance to follow up with the progress of 12 of our 14 GSoC interns and hear from 5 past interns about their experiences after finishing their internships with GNOME.

The past-interns lightning talks session is something I want us to repeat next year. It was a great opportunity for our current interns to inspire themselves with the journey of others that have managed to stay involved with the project. This is extremely important to us because the ultimate goal of having internships is to provide an opportunity for developers to get involved with GNOME long term, becoming the next generation of hackers that will continue pushing our community forward.

Managing a session with 17 different presenters was made easy thanks to Big Blue Button. The recordings are available below.

Posted on

Identifying Operating Systems in GNOME Boxes

One secret sauce of GNOME Boxes is libosinfo. It basically is an umbrella for three components: libosinfo, osinfo-db-tools, and osinfo-db.

libosinfo offers programmatic means to query for information about OSes. osinfo-db-tools is a set of tools that help manipulate and extract information from OS images (such as ISO files). osinfo-db is a database of operating system information describing requirements for virtualized installations as well as virtual drivers and devices that work with each OS in the database.

For a given image file, Boxes will use libosinfo to detect which operating system it contains and assign the appropriate configuration preferences for it.

When an operating system’s data was not present in osinfo-db, we used to treat the image file as an “unknown OS”, which would get set up with the Boxes default configuration preferences. This usually works, but when it fails, it gets really hard for a regular user to use the virtual machine. Think of a wrong virtual video driver causing the guest’s graphic session to hang, or a virtual tablet device getting on the way of gestures being passed to the guest, etc…

For this very reason, we decided to add an extra page in our VM creation assistant that will only get visible for those “unknown” OSes. This page allows you to specify which operating system you intend to install. This way Boxes can use libosinfo to set up your VM with the right configuration preferences for the chosen OS.

screenshot

If you can’t find your OS in the list, try picking a similar one. For instance, if Linux Mint isn’t on the list, you are probably better off telling Boxes it is a Ubuntu or Debian based OS.

Not choosing anything on this page is also fine, in this case, Boxes will go with its defaults.

New operating systems can be added to the osinfo-db by creating merge requests in their GitLab repository.

This (with some more polishing) and other changes will be available in GNOME Boxes 3.38. If you can’t wait, give a go to our *unstable* nightly Flatpak.

Posted on

GUADEC 2020: Intern lightning talks

Hi, I hope you are all enjoying GUADEC! I am just passing by to let you know that on Monday 27th, 18:00 UTC, we will have our traditional Intern lightning talks where you will get to see our Outreachy and Google Summer of Code  interns present their projects.

This year we will also have a few past interns sharing their stories about their experiences as interns and how GNOME has helped their professional careers.

https://events.gnome.org/event/14 (Track 1)

Stay tuned!

Posted on

Let’s welcome our 2020 GSoC interns!

It is Google Summer of Code season again and this year the GNOME project is lucky to have 14 new interns working on various projects ranging from improvements in our app ecosystem to core components and infrastructure.

The first period, from May 4 to June 1, is the Community Bonding period. Interns are expected to flock into our communication channels, ask questions, and get to know our project’s culture. Please, join me in welcoming our students and making sure they feel at home in our community.

This year we will be using Discourse as our main communication channel regarding the program, therefore if you are a mentor or intern, please make sure to check https://discourse.gnome.org/c/community/outreach for announcements. Feel free to create new topics if you have any questions. The GNOME GSoC admins will be monitoring the Outreach category and answering any doubts you might have.

Here is the list of interns and their respective projects https://summerofcode.withgoogle.com/organizations/5428225724907520/#projects

Tips for students

First of all, congratulations! This is just the beginning of your GNOME journey. Our project is almost 23 years old and likely older than some of you, but our community gets constantly renewed with new contributors passionate about software freedom. I encourage you to take some time to watch the recordings of Jonathan Blandford’s “The History of GNOME” talk in GUADEC 2017 so you can grasp how we have grown and evolved since 1997.

The first thing you want to do after celebrating your project’s acceptance is to contact your mentor (if they haven’t contacted you first).

Second, introduce yourself on our “Say Hello” topic! Don’t forget to mention that you are in GSoC 2020, the project you will be working on, and who’s your mentor.

Third, set up a blog where you will be logging your progress and talking directly to the broader community. In case you need help with that, ask your mentors or the GSoC admins. Intern blogs get added to Planet GNOME, which is a feed aggregator of posts written by dozens of GNOME Foundation members.

Many of us read Planet GNOME daily! Besides, some of our active contributors have participated as interns in past editions of GSoC. You can dig for their blogposts and get a better sense of how these progress reports are written.

It is totally normal for you to have questions and doubts about the program, to help with that, we will be hosting a Q&A on May 12 at 17:00 UTC in our RocketChat channel. All of you will receive an invitation by email this week too. If you can’t make it, feel free to join the channel at any time and ask questions there as well.

If during your internship you have a problem with your mentor (lack of communication, or misunderstandings, or deep disagreements, or
anything else), don’t hesitate to report that to the GNOME GSoC administrators.

Last but not least, have fun!