Google Summer of Code, Q&A

Total Page:16

File Type:pdf, Size:1020Kb

Google Summer of Code, Q&A Google Summer of Code, Q&A Google Summer of Code is a very prestigious programme held every year to bring student developers into open source development. Many students have a lot of queries about the programme. We have Divyanshu Mahajan (2018B3A80820P) who qualified for the Google Summer of Code 2020 answering some of the most asked questions about GSoC and how the students can ace it. Q. When did you first year about Google Summer of Code and what motivated you to apply for it? A: It was sometime around May 2019 when I heard the news of a senior getting selected into GSoC. Back then, I wasn't aware of the program, so I talked directly to this senior. He told me everything about the program. As I understood the nature of such open-source programs and the fact that the learning curve associated with it was steep, I decided to give it a shot next year. Q. When did you start contributing seriously for the programme? In your opinion, how much time before should a student start preparing? A: It was by the end of December 2019 when Google announced GSoC 2020 and its timeline. I started looking for organizations a week or two post the announcement. It took me more than two weeks to filter out the organizations and the projects I wanted to work on. And subsequently, I started contributing in late January. Generally, there’s no ideal time to start contributing. Most of the students start looking for organizations and contributing around January, while some start during March after Google announces the mentoring organizations. However, the earlier you start, the more time you have to learn new things and figure out stuff you aren’t aware of. Q. How did you start working with the organization? Can you share some pointers on how students can efficiently work on such open source projects? A: Once I picked up the project, I tried to familiarize myself by playing around with it. As I got used to the product/app, I looked through its documentation and contribution guidelines. It is important to know about the contribution guidelines and code of conduct as organizations expect contributors to follow their standard protocols. Afterwards, I picked up some open issues to understand the project’s codebase and to fix them. I was also in touch with the mentors and other community members to discuss my queries and know their expectations for the student they’d wish to select. First things first, take enough time to understand the project and its goals. Most new contributors directly jump on solving issues and providing meaningless patches/fixes, which often annoys the mentors and maintainers. Secondly, involve yourself in healthy and relevant discussions with the mentors and community members. Make sure you follow proper communication etiquette. Lastly, don’t treat GSoC like a competition or a contest such that you need to solve the most issues or overdo things. Q. While contributing, did you face any difficulties with the college coursework? How did you manage both of them? A: Things were not that difficult to manage. It was a bit hectic before midsems, as I had to deal with acads, club projects, and my GSoC project. Post midsems, since we went on a break due to CoVID, the academic workload came close to nothing, and I mostly spent my time on GSoC-related stuff and the club projects. While on campus, I utilized the breaks between lectures/classes (only the ones I attended :P) to go through the project tickets I was working on and followed up on organization discussions. My lectures would have wrapped up during the afternoon, so I spent most of the remaining time completing those project tickets, club projects, and an hour or two covering acads. Q. How did you know which organization to choose? A: I didn’t. I just went for shortlisting from all the available projects based on specific criteria, rather than choosing an organization first and then selecting their project. For projects, you can filter them based on a particular tech stack you like or a domain such as bioinformatics, astronomy, etc. I took the former approach as I wanted to work on a JavaScript-based project. I filtered all the JavaScript projects and prepared an initial list. Afterwards, I started going through each project, read its outline/description, and further shortlisted the ones that seemed interesting. After spending more than two weeks doing this, I picked a project. I also kept the list of other projects to switch to if I want to move from my current project in the future. Q. How did you start contributing to their projects? A: Before Google announced the organizations, I worked on a different project. Unfortunately, the organization mentoring that project couldn’t move to the list of selected organizations. So, I switched to another project on my list. Once I had gone through all the project details, I introduced myself to the community and got in touch with my mentor. As the project idea I picked was yet to be built by the shortlisted student and was primarily research-oriented, there were no initial code contributions. So, my work was mostly about researching, investigating, and proposing solutions covering the project’s implementation details before my selection. Apart from the research work, I also took the time to code a prototype that could solidify the idea and serve as a proof of concept. Meanwhile, I was discussing my work with my mentor, which helped in perceiving his expectations for the project, refining my mental model, and eventually expanding the project. All of these served the same purpose of code contributions, i.e., to understand the project and its goals in-depth. Q. Once you have selected an organization, how did you approach it to let you work with them? A: Generally, there are no restrictions on working with an open-source organization, as long as you follow their guidelines and code of conduct. Open source encourages collaboration, and so does GSoC. However, it is recommended to get in touch with the organization members and mentors before working on their project. Ensure that you have understood the project idea clearly before your first interaction. Most of the maintainers and mentors like to answer students’ queries as long as they are relevant to the project (obviously, don’t just ask to ask). So, if the first interaction involves clarifying your doubts, don’t hesitate to put those forward. You can then start contributing to the project by solving a straightforward issue and gradually picking up the tougher ones to become comfortable with the project. Also, talk to the mentors beforehand about the issue you want to fix so that they formally assign that issue to you. Q. Are there any resources you took help from while applying to organizations? What does an ideal project proposal look like? A: To apply for an organization, you need to submit a proposal for at least one project idea. While preparing my proposal, I looked through the “Student Guide” on the official GSoC website. It was pretty helpful as it gave insights on how a proposal should be. Besides, I consulted a few previous GSoC participants who helped a lot in refining my proposal. I also used their proposals for reference. Yeah, so ideally, your proposal should be able to answer these four questions concisely: what, how, when, and why. “What” describes the core idea behind the project and the project itself in your own words. The “How” part is the longest of all, covering in-depth the implementation details, the tools and technologies you’ll use, and the way you’ll integrate all of that. The “When” part is the project timeline. In this, you frame the weekly goals and deliverables and the plan you’ll follow if you get selected. The “why” part is self- explanatory, i.e., your reason to work on the project and why you should be considered amongst other candidates. If your proposal can answer these four questions, you’re in a good spot. Also, please don’t treat this as a TechRe Report or some course assignment. Try to keep it clean and concise. Q. Can you share a rough timeline from the announcement of the organizations to the result of the selection? A: Sure! The mentoring organizations are announced sometime between late February and early March. After the announcement, you have two weeks in between and before the student application period. This period usually lasts two weeks and is utilized to prepare a proposal. You also need to submit your proposals by the end of this period. The selected students' results are announced a month later, which also marks the beginning of community bonding period. Q. How important does the role of the mentor play? A: Your mentor is probably the most important person in your GSoC journey. He/she has a major stake in deciding your selection because they’re the ones to be paired with you throughout the program. Having a good bonding with your mentor is important and is the key to successful participation. Mentors are also important because they have much more experienced and will teach you a lot of stuff you probably didn’t know, all of that while you work on your project. They’ll review your work, give constructive feedback, and suggestions to overcome challenges you’ll face during the program. There’s more to it, but having someone to mentor you is invaluable in any scenario. Q. What was your experience while working on the project? You must be having PS-1 along with your GSoC too.
Recommended publications
  • ROADS and BRIDGES: the UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface
    Roads and Bridges:The Unseen Labor Behind Our Digital Infrastructure WRITTEN BY Nadia Eghbal 2 Open up your phone. Your social media, your news, your medical records, your bank: they are all using free and public code. Contents 3 Table of Contents 4 Preface 58 Challenges Facing Digital Infrastructure 5 Foreword 59 Open source’s complicated relationship with money 8 Executive Summary 66 Why digital infrastructure support 11 Introduction problems are accelerating 77 The hidden costs of ignoring infrastructure 18 History and Background of Digital Infrastructure 89 Sustaining Digital Infrastructure 19 How software gets built 90 Business models for digital infrastructure 23 How not charging for software transformed society 97 Finding a sponsor or donor for an infrastructure project 29 A brief history of free and public software and the people who made it 106 Why is it so hard to fund these projects? 109 Institutional efforts to support digital infrastructure 37 How The Current System Works 38 What is digital infrastructure, and how 124 Opportunities Ahead does it get built? 125 Developing effective support strategies 46 How are digital infrastructure projects managed and supported? 127 Priming the landscape 136 The crossroads we face 53 Why do people keep contributing to these projects, when they’re not getting paid for it? 139 Appendix 140 Glossary 142 Acknowledgements ROADS AND BRIDGES: THE UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface Our modern society—everything from hospitals to stock markets to newspapers to social media—runs on software. But take a closer look, and you’ll find that the tools we use to build software are buckling under demand.
    [Show full text]
  • Google Summer of Code 2019
    Google Summer of Code 2019 Contributing for: The Terasology Foundation Biome-centric Gameplay Template / Enhancements for Terasology! 1 ABOUT ME Name Hassaan Ali (TheHxn) Email [email protected] Discord @TheHxn (#3124) GitHub - https://github.com/TheHxn Profiles Forum - https://forum.terasology.org/members/thehxn.3148/ 2 BIOME-CENTRIC GAMEPLAY ENHANCEMENTS 2.1 OVERVIEW This Idea has been chosen from Terasology’s GSoC Ready Ideas board from Trello [1]. Currently biomes are used in a few game settings, but not with a huge impact to gameplay. This idea aims to support greater variety, meaning to biomes and to help make worlds more "alive" as said by Brylie on the forum. 2.2 INTEREST My interest in this project comes from the fact that not many GSoC students are interested in it, so it definitely needs work as it is a very good idea for Terasology giving the game engine a unique feel to it. Also because I have worked very much with terrains, used World Machine, L3DT, Terresculptor terrain generators to generate climate based terrains. I am very interested as to how the world and life biomes could be improved in Terasology. 2.3 PROJECT FUNCTIONS 1. Inspection tool: When a player encounters a plant or animal, they might use an 'inspection' tool. It can show the details of the entity, we can use WordlyToolTip module to give such information. These details could include health, hunger, biome preferences, and genomic information for the inspected entity. 2. Transplant/Transport: Plants and animals can be transplanted between biomes. Animals could be transplanted using the GooKeeper module as a catch-and-release tool.
    [Show full text]
  • Ultimate++ Forum - Mentoring How to Ing-Howto/Index.Html
    Subject: Google Summer of Code Posted by koldo on Mon, 08 Mar 2010 11:08:17 GMT View Forum Message <> Reply to Message Hello all Google Summer of Code is a program that awards with money students that work in approved Open Source projects. To participate in it first the open source project has to apply to it as a "mentor organization". The deadline for this is this Friday 12. Main things to do are: - Open a "ideas" page in web - Fill the mentor organization questionnaire There is few time and few opportunities to be approved but some of us think that we would have to try it. If you can help please answer to this post ASAP. We have only 4 days, so we have to be very constructive talking ONLY about "Applying to GSoC as a Mentoring Organization". Please put other discussions in other posts. If you cannot participate this week but you have an idea for a project please post it, including: - Project description - Experience required to do it Do not forget that there is few time to do the project ("summer of code") so please be specific including only projects to be finished in short time. Some links: - Google Summer of Code 2010 FAQ http://socghop.appspot.com/document/show/gsoc_program/google /gsoc2010 - "ideas" page examples: -- https://svn.boost.org/trac/boost/wiki/soc2009 -- http://wiki.winehq.org/SummerOfCode -- http://wiki.wxwidgets.org/Development:_Student_Projects - Selection criteria http://socghop.appspot.com/document/show/program/google/gsoc 2009/orgcriteria - Advices for mentor organization http://code.google.com/p/google-summer-of-code/wiki/Advicefo
    [Show full text]
  • Phpmyadmin Documentation Release 5.1.2-Dev
    phpMyAdmin Documentation Release 5.1.2-dev The phpMyAdmin devel team Sep 29, 2021 Contents 1 Introduction 3 1.1 Supported features............................................3 1.2 Shortcut keys...............................................4 1.3 A word about users............................................4 2 Requirements 5 2.1 Web server................................................5 2.2 PHP....................................................5 2.3 Database.................................................6 2.4 Web browser...............................................6 3 Installation 7 3.1 Linux distributions............................................7 3.2 Installing on Windows..........................................8 3.3 Installing from Git............................................8 3.4 Installing using Composer........................................9 3.5 Installing using Docker..........................................9 3.6 IBM Cloud................................................ 14 3.7 Quick Install............................................... 14 3.8 Verifying phpMyAdmin releases..................................... 16 3.9 phpMyAdmin configuration storage................................... 17 3.10 Upgrading from an older version..................................... 19 3.11 Using authentication modes....................................... 19 3.12 Securing your phpMyAdmin installation................................ 26 3.13 Using SSL for connection to database server.............................. 27 3.14 Known issues..............................................
    [Show full text]
  • MEDES and Google Summer of Code
    MEDES and Google Summer Of Code All students and developers are welcome to participate in the Google Summer of Code program, with MEDES. Google Summer of Code is a program that offers student developers stipends to write code for various open source projects. For its activities, MEDES has developed an innovative data collection tool based on Open Source technologies: the Imogene solution. This tool has enabled the deployment of information systems in various contexts that are now operational. The platform allows to rapidly design a data collection system and, based on MDA technologies, it allows to generate a set of applications fulfilling the needs specified by the model. The applications generated include: * a Web application, * an Android application, * a Desktop application. Both Android and Desktop applications can work offline and have bi-directionnal synchronization processes. They integrate remote update mechanisms. Read more about Imogene on our website or at code.google.com/p/imogene All our applications are developed using the Java programing language. You will have to work with Eclipse as Imogene is an Eclipse Plugin itself. A good knowledge of Java is required to apply to one of these projects. The ideas below were contributed by our team. If you wish to submit a proposal based on these ideas, you can contact us and find out more about the particular suggestion you're looking at. Project: Unit test project for the web generated application using Selenium Brief explanation: Each time a web application is generated using Imogene, the application needs to be tested. By generating a unit test project, this would automate the unit tests for a generated application allowing the users to validate the application functionalities.
    [Show full text]
  • Facebook's Libra
    JULY 2019 Facebook’s Libra AND THE FUTURE OF DIGITAL IDENTITIES Page 6 (Feature Story) Apple launches its own digital ID program 9Page 9 (News and Trends) The challenges of digital IDs in the mobile space 13Page 13 (Deep Dive) © 2019 PYMNTS.com All Rights Reserved WHAT'S INSIDE Digital ID developers race to provide better, 03 more secure solutions FEATURE STORY Wayne Vaughan, co-founder of the 06 Decentralized Identity Foundation, on Facebook’s Libra cryptocurrency and how it will impact the digital identity industry NEWS AND TRENDS METHODOLOGY The latest headlines from around the digital Who’s on top and how they got there, including 09 identity space, including Apple's new digital ID 15 three sets of top provider rankings program, 3D finger vein scanners at hospitals and more DEEP DIVE SCORECARD An in-depth look at mobile digital IDs and the The results are in. See the highest-ranked 13 issues world governments have faced during 16 companies in a provider directory featuring implementation more than 200 major digital identity players. ABOUT 89 Information about PYMNTS.com and Jumio TABLE OF CONTENTS ACKNOWLEDGMENT The Digital Identity Tracker is done in collaboration with Jumio, and PYMNTS is grateful for the company’s support and insight. PYMNTS.com retains full editorial control over the presented findings, methodology and data analysis. WHAT’S INSIDE The digital identity market is expected to reach $15 billion paralysis of choice with so many options available. One by 2024, and giants such as Google and Apple are rac- potential solution is a decentralized, self-sovereign stan- ing to improve identity verification experiences.
    [Show full text]
  • Harvesting the Twittersphere: Qualitative Research Methods Using Twitter
    Fall 08 Spring 13 Harvesting the Twittersphere: Qualitative Research Methods Using Twitter By: Anthony La Rosa [email protected] May 2013 Marketing Advisor: Deborah Fain Marketing-Lubin School of Business Pace University i Abstract: Harvesting the Twittersphere explores the current state of research, by comparing quantitative to qualitative and analyzing the current market. In a consumer driven market, it seems that most businesses are neglecting performing qualitative research. It could be because of the falling cost and increasing convenience of quantitative research methods provided by cloud systems such as: Salesforce.com, IBM, SAP, and McKinsey. Another reason may be that there is no efficient or inexpensive way to conduct qualitative research on a digital platform. While certain companies try to conduct qualitative studies online by using chat rooms, discussion boards or Facebook prompts, there is no method that is as widespread or respective as the traditional methods. While focus groups and participant observation offer unique insights into consumers, both methods can be costly and difficult to set up. Harvesting the Twittersphere proposes a new methodology of using Twitter to conduct a qualitative study. By search a specific term, a researcher can search through the constantly generated tweets to see what people are saying about the term. The tweets should be captured, sorted and analyzed in order to provide a unique insight from the consumer. By nature, Twitter offers feelings of users since what they tweet is usually their individual perspective on a subject. This is the perfect field in order to conduct a qualitative study since it is about sharing emotions, sentiments and feelings, rather than numbers, facts or statistics.
    [Show full text]
  • Zvonimir Rakamaric June, 2021
    Zvonimir Rakamari´c June, 2021 CONTACT Address: School of Computing, 50 South Central Campus Drive, Rm 3424 INFORMATION University of Utah, Salt Lake City, UT 84112-9205, USA Phone: +1 (801) 581-6139 E-mail: [email protected] WWW: www.zvonimir.info, www.soarlab.org PROFESSIONAL Amazon Web Services (AWS), Seattle, WA, USA APPOINTMENTS Principal Applied Scientist May 2021 – present School of Computing, University of Utah, Salt Lake City, UT, USA Associate Professor (leave of absence) Jul 2018 – present School of Computing, University of Utah, Salt Lake City, UT, USA Assistant Professor Jun 2012 – Jun 2018 Carnegie Mellon University, Silicon Valley Campus, NASA Ames Research Park, CA, USA Postdoctoral Fellow Mar 2011 – Mar 2012 Dept. of Computer Science, University of British Columbia, Vancouver, BC, Canada Research Assistant Sep 2006 – Mar 2011 Software Reliability Research Group, Microsoft Research, Redmond, WA, USA Research Intern Jul 2006 – Oct 2006, Oct 2008 – Jan 2009, Nov 2009 – Feb 2010 Dept. of Computer Science, University of British Columbia, Vancouver, BC, Canada Research Assistant May 2005 – Aug 2006 TIS.kis, Zagreb, Croatia Software Engineer Mar 2003 – Aug 2004 EDUCATION University of British Columbia, Vancouver, BC, Canada Ph.D. in Computer Science, Mar 2011 • Thesis: Modular Verification of Shared-Memory Concurrent System Software • Supervisor: Alan J. Hu M.Sc. in Computer Science, Aug 2006 • Thesis: A Logic and Decision Procedure for Verification of Heap-Manipulating Programs • Supervisor: Alan J. Hu Faculty of Electrical
    [Show full text]
  • Open Source and Sustainability
    OPEN SOURCE AND SUSTAINABILITY: THE ROLE OF UNIVERSITY Dr. Giorgio F. SIGNORINI, PhD Dipartimento di Chimica, Università di Firenze via della Lastruccia, 3 I-50019 Sesto F. (Firenze), Italy giorgio.signorini@unifi.it Abstract One important goal in sustainability is making technologies available to the maximum possi- ble number of individuals, and especially to those living in less developed areas (Goal 9 of SDG). However, the diffusion of technical knowledge is hindered by a number of factors, among which the Intellectual Property Rights (IPR) system plays a primary role. While opinions about the real effect of IPRs in stimulating and disseminating innovation differ, there is a growing number of authors arguing that a different approach may be more effective in promoting global development. The success of the Open Source (OS) model in the field of software has led analysts to speculate whether this paradigm can be extended to other fields. Key to this model are both free access to knowledge and the right to use other people’s results. After reviewing the main features of the OS model, we explore different areas where it can be profitably applied, such as hardware design and production; we finally discuss how academical in- stitutions can (and should) help diffusing the OS philosophy and practice. Widespread use of OS software, fostering of research projects aimed to use and develop OS software and hardware, the use of open education tools, and a strong commitment to open access publishing are some of the discussed examples. Keywords Open Source, Sustainable Development, University, Open Education, Open Access arXiv:1910.06073v1 [cs.CY] 8 Oct 2019 1 Introduction What is sustainability about? According to the widely accepted definition of the Brundtland Report (Brundtland 1987), human development is sustainable when it can satisfy the needs of the current gener- ation without compromising the ability of future generations to do the same.
    [Show full text]
  • A Microkernel Written in Rust
    Objectives Introduction Rust Redox A microkernel written in Rust Porting the UNIX-like Redox OS to Arm v8.0 Robin Randhawa Arm February 2019 Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox I want to talk about on Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox Redox is written in Rust - a fairly new programming language Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox So it is important to discuss Rust too Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox My goals with this presentation are ● Lightweight intro to the Rust language ● Unique features that make it shine To primarily ● Explain why Rust is interesting for arm talk about ● Rust’s support for arm designs these ● Introduce Redox’s history, design, community ● Status, plans … and some relevant anecdotes from the industry Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox Open Source Software Division System Software Architecture Team Safety Track Track Charter Firmware Kernel Middleware Platform “Promote the uptake of Arm IP in safety critical domains using open source software as a medium” Robin Randhawa (arm) FOSDEM 2019 A microkernel written in Rust Objectives Introduction Rust Redox My areas of Interest Systems programming languages Operating Arm system architecture design extensions Arm based Open source system communities design Software
    [Show full text]
  • Free Applications
    1 Free Applications Hundreds of Apps with Potential to Enhance Professional Development, Technical Assistance, and Dissemination Activities and Results By Larry Edelman [email protected] Note: This document (v. 9 – 2/28/11) is updated frequently. Updates and related discussions are posted at: http://exploringtech.wordpress.com/ Why should we use technology for PD, TA, and Dissemination? • In particular, technology can help us to efficiently, effectively, and creatively: 1. Create content; 2. Share knowledge; and 3. Build and support relationships. We should consider ALL applications that are available to us. This includes applications that are expensive, moderately priced, inexpensive (shareware), and free (freeware). This includes software that we download to our computers and software that runs on the web. Some expensive applications enable us to us to communicate in very unique and effective ways, while the functions of other expensive applications can be easily replicated, or even improved upon, by the use of freeware. Likewise, some free applications are all we need to get the job done, while other free applications have significant limitations or involve the use of paid advertisements that detract from our purposes. I use some relatively expensive applications for tasks such as video editing and authoring online learning modules. But I also use many free applications for things such as document sharing, web conferencing, video conferencing, media transcoding, audio editing, screen capturing, media posting, and building and hosting wikis, blogs, and web sites. Why, in particular, should we explore free applications? • Sometimes, free applications are all that we need. Why purchase or license expensive software when there are free solutions? • The budgets in PD and TA programs are being dramatically reduced.
    [Show full text]
  • Summer of Code & Hackathons for Community Building in Scientific
    Community Code Engagements: Summer of Code & Hackathons for Community Building in Scientific Software Erik H. Trainer, Chalalai Chaihirunkarn, Arun Kalyanasundaram, James D. Herbsleb Institute for Software Research Carnegie Mellon University 5000 Forbes Avenue, Pittsburgh, PA 15213 {etrainer, cchaihir, arunkaly, jdh}@cs.cmu.edu ABSTRACT the software’s future may not be addressed, e.g.: in 4 years’ time, Community code engagements — short-term, intensive software will the software still be available? Will it work? Will there be development events — are used by some scientific communities pool of participants with the right set of technical skills who can to create new software features and promote community building. respond to bug reports and feature requests? Successful But there is as yet little empirical support for their effectiveness. communities find ways to get code contributions from their This paper presents a qualitative study of two types of community members and to incorporate successive generations of newcomers code engagements: Google Summer of Code (GSoC) and after the original developers leave [30]. hackathons. We investigated the range of outcomes these There is an additional twist for software that scientists write. engagements produce and the underlying practices that lead to Although scientists are directly funded to produce new these outcomes. In GSoC, the vision and experience of core knowledge, they spend significant time searching for, using, and members of the community influence project selection, and the developing software that enables those results. The sustainability intensive mentoring process facilitates creation of strong ties. of scientific software – the ability to maintain the software in a Most GSoC projects result in stable features.
    [Show full text]