gsoc and outreachy - fedora summer of code and outrea… · project ideas improve gpio support in...

69
in Fedora Jona Azizaj Presented by Fedora Ambassador GSoC and Outreachy

Upload: others

Post on 02-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

in Fedora

Jona AzizajPresented by

Fedora Ambassador

GSoC and Outreachy

Page 2: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App
Page 3: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

What is Google Summer of Code?

Page 4: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Google Summer of Code (GSoC) is a global program that matches

students up with open source, free software and technology-related organizations to write

code and get paid to do it!

Page 5: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Why Should you Apply?

Page 6: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

→ An absolutely amazing learning experience

Page 7: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

→ Sense of achievement

Page 8: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

→ Hone your developer skills

Page 9: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

→ Getting involved and building your network

Page 10: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

→ Your spring-board to the open source world

Page 11: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

-> For the love of code

Page 12: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

-> The stipend, the fame and the t-shirt

Page 13: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Am I good enough?

Page 14: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

You fid out where to oo oor help with techiical questiois

You take aid respoid well to oeedback

You cai work iidepeideitly

You kiow whei to ask questiois

The soft skills

Page 15: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Do you think you already know everything about everything in

the world of open source programming?

Page 16: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Then you probably aren’t good enough for GSoC!

Page 17: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

You cai iistall aid coifoure sootware packaoes oi your owi

You have access to a ouictioiiio computer 40 hours a week

You’ve oot experieice usiio the proorammiio laiouaoe aid operatiio system oo the project

The technical stuff

Page 18: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Pro Tip: Don’t be afraid to apply to projects where you only meet 51% of the listed

requirements.

Page 19: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Making First Contact

Page 20: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Joii mailiio lists

Read the mailiio list archives

Joii the projects IRC chaiiel

aid lurk oor a bit

Read all the available iioormatioi oi past GSoC projects

Take a stab at ooiio throuoh the project documeitatioi, at least to the poiit where you oeel like you cai ask questiois that are iot already exteisively covered ii the docs

Community interactions

Page 21: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

At the end of your “listening and research” phase

you’ll understand how, where and when the community interacts and know the best way to ask

questions.

Page 22: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Iitroduce yourselo!

Ask questiois

Be humble

Doi’t be iitimidated

How to begin participating in conversations?

Page 23: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

>>Engage<< with multiple communities once the participating organizations are chosen to get a feel for how

diferent groups work.

Page 24: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Choosing an Organization!

Page 25: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Who Am I?

Who are they?

Two important questions

Page 26: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

What open source software do you use?

What are your professional interests?

What are your hobbies?

What is your skill set?

What do you want to get out of GSoC?

Who am I?

Page 27: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

compile a list of organizations based on your answers above

take some time to learn more about what they do (i.e., Google them!)

the organization’s mission, it’s size etc

browse the list of project ideas for each of the organizations for which you are interested

Who are they?

Page 28: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Pro Tip: The earlier you apply, the better.

Submitting your proposal early helps you get early

feedback.

Page 29: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Writing a proposal

Page 30: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Make sure you meet Google’s formal requirements for participation in Summer of Code

Inventory your time - GSoC should be treated as a full-time job

If you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you

If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application

The Basics

Page 31: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Name and Contact Information

Title

Synopsis (short summary)

Benefits to Community

Deliverables - Include a brief, clear work breakdown structure with milestones and deadlines.

Related Work

Biographical Information

Follow the Rules

Elements of a Quality Proposal

Page 32: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Submit a Draft Proposal early

Page 33: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Submitting a Final PDF Proposal

Page 34: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Student Application Period

March 12 - 27, 2018

Page 35: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Projects without a mentor

Projects that better belong with other Summer of Code organizations

Projects that represent too large a scope

Incoherent proposals

Projects that are “inappropriate” for legal or social reasons

Boring projects

Stuff that’s already been done to death

Outside the Project List

Page 36: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Being Turned Down

Page 37: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Keep trying!

Page 38: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

“Never give up. It took me 3 years and 12 proposals to finally get into the program. If none of your proposals gets accepted, sit back and relax. You have a whole year ahead to improve your role with the open-source community by writing more code.”

Kamran Khan, Ubuntu, GSoC Student 2010

Page 39: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

GSoC – student guide https://google.github.io/gsocguides/student/

Page 40: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Make your frst steps in Fedora

Page 41: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

What is Fedora?Fedora is an operating system based on the Linux

kernel, developed by the community-supported Fedora Project and sponsored by Red Hat.

Page 42: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Our missionFedora creates an innovative platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users.

Page 43: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

What is Fedora all about?The Fedora community includes thousands of individuals with different views and approaches, but together we share some common values. We call these the “Four Foundations”:

Freedom, Friends, Features, and First.

Page 44: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Who We Truly Are

Photo by Joe Brockmeier, CC BY-SA 2.0.

Page 45: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Quick Steps to JoinStart by creatiio a Fedora accouit. See joii.oedoraproject.oro

Fiid a team or project you're iiterested ii. Joii their mailiio list aid seid ai iitroductioi e-mail. Thei start workiio oi somethiio.

Keep up with the latest iews arouid Fedora.

Doi't be aoraid to ask questiois!

Page 46: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Whatcanidoforfedora.org

Page 47: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Join the community!

Page 48: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Start with Fedora Badges

Page 49: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App
Page 50: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Project ideasImprove GPIO support in Fedora in general and particularly on the Raspberry Pi

Improve Fedora Android App - UI/UX Research and Design

Improve Fedora Android App - Backend

Metrics : fedmsg plugin for perceval

Pagure: A git based source repository

ASP.NET Core web application for /r/Fedora subreddit and Discord.

Fedora Packets: Fedora Happiness Packets

Atomic IoT (likely useful in numerous other Atomic ideas) host upgrade daemon

Fedora Dockerfile linter leveraging Container Best Practices

Advanced test cases for images running in OpenShift using conu

Complete support for OpenShift and Kubernetes as a backend in conu

Open Ideas From Previous Years

Continuous Integration for Fedora Media Writer + Tests

ARM uBoot Support in Fedora Media Writer

Page 51: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Mailing List (GSoC-related): [email protected]

Mailing List (Technical): [email protected]

IRC: #oedora-summer-codiio or #oedora-devel oi Freeiode

Commuiicatioi

Page 52: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Fedora Packets: Fedora Happiness Packets

Difficulty: Intermediate – Expert

Technology: Python, HTML/CSS/JS, knowledge of fedmsg optional: Cloud / Ansible, UI UX skills graphic design

Summary: Add Fedora user account authentication and fedmsg integration to Happiness Packets to deploy in Fedora’s infrastructure

Page 53: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Primary deliverablesAdd back-end support for Ipsilon authentication

Push the application upstream

Integrate fedmsg publishing

Create Fedora Badge rule file to automatically award badges

Page 54: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Secondary deliverablesAdd support for video messages

Add support for emojis

Explore major social media APIs (for example, Twitter, Facebook, Reddit) to allow sharing on social networks

Twitter

Facebook

Page 55: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

More info:

https://docs.fedoraproject.org/mentored-projects/gsoc/2018/ideas.html

Page 56: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App
Page 57: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Outreachy internships

are open internationally to women (cis and trans), trans men, and genderqueer people. Internships are also open to residents and

nationals of the United States of any gender who are Black/African American,

Hispanic/Latin@, Native American/American Indian, Alaska Native, Native Hawaiian, or

Pacific Islander.

Page 58: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Outreachygives three-month paid internships for persons that are underrepresented in tech. Interns are

paid a stipend of $5,500 and have a $500 travel stipend available to them.

Page 59: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Make sure you're elioible to apply oor Outreachy

Pick 1-2 projects

Make small, coisisteit coitributiois to the project(s) you've chosei

Record ii-prooress coitributiois oi the Outreachy website

Complete your fial applicatioi

How to apply:

Page 60: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Start your application at least 2-3 weeks before the Outreachy

application deadline (22 March)!

Page 61: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Why Apply to Outreachy?

Page 62: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App
Page 63: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App
Page 64: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

You Start Early iot procrastiiate till like a week →beoore the deadliie

Narrow dowi your project choices to two at the most

Set your ooals

Eioaoe with the commuiity aid project Meitors orequeitly

Focus oi prooress iot peroectioi

Remember the process is much more importait thai the outcome

Get the most out of your Outreachy Intern application process

Page 65: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Fedora project #1 Build a fedmsg plugin for perceval - a data gathering metrics tool

Python experience (required)

Python libraries such as requests, urllib, etc (preferred)

Understanding of HTML, JSON, Parsing (Nice to have)

Beginner tasks: https://pagure.io/fedmsg-perceval-plugin

Page 66: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Getting into Summer of Code

Programs!!!

Page 67: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Tips:Read what is already there and Ask what is not!

I am not a good programmer/coder can I try?

In simple words, Yes.

Choosing project/organization

Yes, it is immensely important! You should choose a project for which you have deep passion.

Don’t ask to ask, Just ask

There is nothing like a stupid question

“If you ask a question it makes you look stupid for 5 minutes – but if you don’t ask – you stay stupid for fifty years”, so always ask questions in your life.

Page 68: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Tips:Community matters a lot

Keep remember ‘The More Eyes, The Better!’.

One Secret :)

First thing, Forget the Fear of Failure!

If you deadly want it, you will put huge efforts in it and will make it possible!

Good luck! ☘️️���

Page 69: GSoC and Outreachy - Fedora Summer of Code and Outrea… · Project ideas Improve GPIO support in Fedora in general and particularly on the Raspberry Pi Improve Fedora Android App

Questions?

[email protected]@azizaj.com

Contact: