User:QEDK/GSoC 2020/The journey to one internship

*insert witty xkcd comic*

I’m going to keep it kinda short, and kinda raw. Simply put, the tech industry is cut-throat — when it comes down to anything. There is an almost limitless bar of innovation in this new era of technology and every company is riding the wave. But, a good question to ask at any point is what is really fuelling this? A good answer would probably be the Internet, high-speed internet at that and the likes, but the world has matured a lot since then, so what changed? In the spirit of getting it right, Google would like to refer to us as “independent student developers”, internship is intended as a catch-all term.

The inevitability of open-sourcing
At one time, every browser on the market was proprietary but that seems to be a far-fetched reality now when almost every browser on the market is now open-sourced. In fact, the dangers of closed-source user-facing necessarily private applications like browsers are becoming increasingly obvious.

Free software permits students to learn how software works… To learn to write good code, students need to read lots of code and write lots of code. They need to read and understand real programs that people really use. Only free software permits this.

Free and open-source software (FOSS) is probably the last bastion of truly-free and truly-private technology. Now, don’t get me wrong, it is entirely possible that many tech companies are doing amazing innovative work and they should have rights over their creations — but the flip-side of not open-sourcing is that it is inherently based on a level of trust the person has on a product or entity and not an objective assessment of what they are using. This is probably (!) coming off as grand writing this on a MacBook, but even Apple (!!) open-sourced the innards of macOS (among others) a long while back. It’s still proprietary but it’s still a forward step and it shows that even the most closely-guarded companies see the benefits of open-sourcing their software.

Back to reality
Ever since my rejection last year, this year’s season was on my mind, until of course, it dissolved in with the copious amounts of coursework and whatnot. Still, managed to start off the year strong, just getting back from Kolkata, won a bit; here, there (the highlight was winning an MLH track at a hackathon, no doubt) and then the fest season arrives and for just a few weeks, you live like there is no tomorrow, working away at something or the other, trying to meet deadlines. Soon enough, things quieten down, semester break approaches, and coronavirus has just started making its away around, things here are still pretty okay (that’s what I thought then, unfortunately). Midway through my break, I remember what I put in the back of my mind approximately a year ago — and that was the fact that I committed to put in every ounce of effort to get into this iteration of Google Summer of Code — and so I did.

I did like my proposal last year which I sent to CERN-HSF (yep, that CERN), I thought it was good, but then I read the proposal that was accepted and right away I understood why they were selected. Even if I did consider my proposal objectively good, it missed the completeness and finesse of the accepted submission. So, the journey is really about being the best. This time, I wanted to do things differently. I have been a contributor to Wikipedia for ~9 years and in that time, I have been involved in Wikimedia Foundation (the behind-the-scenes management, to give a crude explanation) in small, little ways, interacting with developers on occasion and submitting patches for gadgets used by contributors. I decided that it was time to give back to the community — now you might think 9 years is a long time, but for some, it’s a way of life (I have colleagues who are 20-year veterans, to provide some contrast). And so I decided that I will focus on one organization and one proposal, I was only mildly late, so to speak, so I did what I did best — I wrote code, I wrote about the code, lastly, I showed the code (there’s a difference). Compared to my last proposal, I was focused on a proper demo, a clean code-base and a simple explanation of core concepts. Most importantly, I focused on working with mentor feedback, my mentors were incredibly helpful and ensured that my proposal was up to the mark — for which I’m quite glad.

And before I knew it, I was in! Just kidding, I was quite worried as the date approached but I was content with knowing that I wrote the best proposal I had to offer. I was around in the community doing patches, helping people, that’s the spirit of open-sourcing after-all — and yes, before I knew it my proposal was accepted.

A note on the community
One of the most significant aspect of a person’s experience within an organization is the community. It is probably the single-most defining aspect among other factors (even in a remote workplace culture). Job satisfaction is a major concern for most organizations and a good community goes a long way towards the same. I’m glad to be a part of a community that is inclusive and open to people from all walks of life, where every person is free to be themselves.

The Wikimedia community has a simple vision — Imagine a world in which every single human being can freely share in the sum of all knowledge. That’s our commitment.

That’s a big commitment but slowly, one person at a time, we go one step closer to fulfilling it. If you want to be a part of this journey, I’ll put a few links at the end. (Google Season of Docs is coming up, so why not!) To end on a cheery note, here’s a picture from our welcome party (no points for identifying me) —

Hope this was a good read, drop by in the comments if you have something to add! There will be more to this series. 😊
 * Want to be a new developer? See https://www.mediawiki.org/wiki/New_Developers
 * Want to learn more about Google Season of Docs 2020? See https://developers.google.com/season-of-docs
 * Want to interact with people of the Wikimedia Outreach community? Come visit us at Zulipchat.


 * Phabricator tasking
 * Improve logging
 * Writing log-tests using nose
 * PuppetSWAT commit (https://gerrit.wikimedia.org/r/c/operations/puppet/+/593747)