27 following

gsoc

Public Lab has received support for fellows to work on Public Lab software projects via several "Summer of Code" style programs including [Google's Summer of Code program](https://summerofcode.withgoogle.com) -- 2019 is our sixth great year of open source coding with GSoC! In 2017 and 2018 we also joined the [Rails Girls Summer of Code](https://railsgirlssummerofcode.org/) program, and in 2018 we participated in [Outreachy](https://outreachy.org). This is a key way that we are able to develop our collaborative platform (this website) as well as [other Public Lab coding projects](/developers). > We especially welcome contributions from people from groups underrepresented in free and open source software! ## How to apply Want to get involved? As a first step, **we ask everyone to complete a “first-timers-only” issue**, which you can find on our Welcome page at https://code.publiclab.org. While it’s helpful to have some experience with the Git version tracking system, we have [guides to help you go through this process](/developers#Resources), and will be there to help you get your code posted. Almost all of our code is in Ruby on Rails and JavaScript, so basic familiarity with these systems is a plus. We have a chatroom at https://publiclab.org/chat where you can get help pretty much any time. ### Brainstorming project ideas We kick off each season with a big brainstorm of ideas. You can find this year's discussion here: https://publiclab.org/notes/warren/01-02-2019/brainstorming-for-summer-of-code-2019 Our [Summer of Code Ideas Page](/gsoc-ideas) will list the final brainstormed ideas that come out of this process. ### Call for proposals Our 2019 call for proposals at Outreachy is open! Read here: https://github.com/publiclab/plots2/issues/6285 You can see past years' calls for proposals lists here: https://publiclab.org/tag/call-for-proposals The call for proposals asks people to post their proposals using this template: https://publiclab.org/gsoc-application-template We encourage people to leave comments, encouragement, tips, and questions on each others' proposals in a community fashion, and to be **friendly and welcoming** to one another! ## How we work Over recent years, we’ve steadily refined a workflow that helps new contributors get plugged into our community and code with a warm welcome, and aims to support building skills incrementally and cooperatively. We’re always looking for ways to improve, and welcome feedback! Once you are comfortable with our workflow by completing a `first-timers-only` issue (see above) we’d like to ask that you compile your project steps into a planning issue, which [you can learn about here](/notes/warren/01-18-2018/software-outreach-modularity-is-great-for-collaboration). You can see examples here: https://github.com/publiclab/plots2/labels/planning At this point, we recommend you begin going through the task list, creating a pull request like a mini-project for each task. Each one will ideally have tests, and we can help you develop these. As you progress, we encourage contributors to grow as leaders by reviewing others’ pull requests, helping troubleshoot, and also taking small parts of your project to post as “first-timers-issues” for someone else. You can read more about these steps at https://publiclab.org/software-outreach and https://github.com/publiclab/plots2/labels/support. Your code will be reviewed, supported and troubleshooted (troubleshot?) and potentially published to our live site as often as once a week, and you’ll be able to see it running and get feedback from people about it to inform your work. Towards the end of your project, we’ll encourage you to take remaining pieces you’d like to see followed-up on in the future, and describe them with enough information for others to take up and complete. This could be in the form of “first-timers-only” issues, or “break-me-up” issues that list out steps that can be adapted into small stand-alone tasks. ### Evaluations We've posted various guidance on how we do evaluations in our Summer of Code programs. Here is a short collection of suggestions and info! * https://github.com/publiclab/plots2/issues/5930 * https://publiclab.org/notes/warren/08-20-2019/wrapping-up-outreachy-and-gsoc-2019 **** ## Questions [questions:soc] ## Activities [activities:soc] **** ### Mentoring What does it mean to be a mentor? Mentors **check in with a student at least once per week** roughly from May-August, and offer some project management guidance and encouragement... while relying on the [plots-dev list](/wiki/developers) and the `@publiclab/reviewers` group on GitHub to provide code-specific input, so that we share the burden of specific technical support. This means that **to be a mentor you don't necessarily need to know how to code** -- we need mentors who know Public Lab's community and practices well, and who can encourage students to speak up when they get stuck, and to ask the community for input and testing of their work. Students often get stuck when they don't know how something should look, or how a feature might be used by the community -- contextual info! If you're interested in being a mentor, email the developers list or jeff@publiclab.org -- and read over our [software outreach resources](/software-outreach) to get an idea of how we work! Some more resources on mentoring: * our [Summer of Code workflow](https://opensource.googleblog.com/2016/12/google-summer-of-code-2016-wrap-up_21.html) * read [different ways to mentor in this post](/notes/warren/11-08-2016/help-public-lab-s-software-grow-by-joining-a-supportive-team) -- we need various types! * read about [what reviewers do day-to-day on Public Lab code projects](/wiki/developers#Reviewers) * read about [our commitment to modularity](/notes/warren/01-18-2018/software-outreach-modularity-is-great-for-collaboration), very important in how we ask contributors to work * read over our [software outreach strategies](/software-outreach) * http://write.flossmanuals.net/gsoc-mentoring/ also has a lot of resources on mentoring, though not specific to Public Lab **** ### Communication We do occasional chat or video sessions, and mentors rely on each other quite a bit, in [the chatroom](/chat) and [on the plots-gsoc list](/developers). ### Benefits Our code contributor community is built on a commitment to mutual benefit -- we can’t create good software without welcoming in newcomers, and we are deeply invested in supporting contributors to learn new skills and grow as coders, designers, project leaders, and “cooperators”. Unlike many open source communities, much of our capacity is aimed at helping people become proficient coders, and to learn and apply principles such as code modularity, test-driven development, and more, as outlined at https://publiclab.org/software-outreach. But we also seek to change coding culture by recognizing how important communication, mutual support, and affirmative and welcoming tone are. As part of this, we seek to improve ourselves and help contributors learn how to support one another, welcome in a diverse and inclusive community, and build a more positive and equitable society by doing things a little differently. **** ### Past years * 2019: #soc-2019 #outreachy-2019 * 2018: #soc-2018 #outreachy-2018 * Starting in 2017, we began using tags to organize content, such as #soc-2017 * [Call for proposals](/notes/warren/02-28-2017/call-for-proposals) and [wrap-up](/notes/warren/09-07-2017/wrapping-up-google-summer-of-code-2017-at-public-lab) * [GSOC 2016](/wiki/gsoc-2016) program, projects, students and mentors * [GSOC 2015](/wiki/gsoc-2015) program (application only), projects, students and mentors * [GSoC 2014](/wiki/gsoc-2014) program, projects, students and mentors * [GSoC 2013](/wiki/gsoc-2013) program * [GSoC 2013 mentors & proposals](http://publiclab.org/wiki/gsoc-2013-mentors-and-student-proposals) **** ### Updates [notes:soc]

Follow
Learn more »

Contributors for gsoc

180 contributors

246 research notes

0 wiki pages

People who've posted Notes
warren Notes »
mathew Notes »
liz Notes »
gonzoearth Notes »
danbeavers Notes »
patcoyle Notes »
nedhorning Notes »
jbreen Notes »
eustatic Notes »
ives Notes »
cfastie Notes »
btbonval Notes »
donblair Notes »
Becki Notes »
wward1400 Notes »
dusjagr Notes »
stoft Notes »
SkyHigh Notes »
Mohit Notes »
costin.carabas Notes »
qtstc Notes »
Sreyanth Notes »
PascalW Notes »
amirberAgain Notes »
lot Notes »
bgamari Notes »
anishshah101 Notes »
xvidun Notes »
mj7007 Notes »
aduma Notes »
tbhargav Notes »
justinmanley Notes »
mercyorangi Notes »
walkerjeffd Notes »
stevie Notes »
zengirl2 Notes »
mihow Notes »
devinb Notes »
navonod Notes »
dhenrynola Notes »
ddileona Notes »
klie Notes »
kinasmith Notes »
icarito Notes »
Ujitha Notes »
david-days Notes »
jiteshxyz Notes »
ananyo2012 Notes »
Franktank Notes »
Lalithr95 Notes »
diadatp Notes »
ZhanLiangUF Notes »
rmeister Notes »
sudheesh001 Notes »
nmz787 Notes »
ryzokuken Notes »
ashwinvasudevan Notes »
xose Notes »
mridulnagpal Notes »
MaggPi Notes »
Ashan Notes »
mkashyap354 Notes »
ccpandhare Notes »
bansal_sidharth2996 Notes »
inzamam Notes »
aayushgupta1 Notes »
500swapnil Notes »
calvrix Notes »
Khamba Notes »
vaibhavgeek Notes »
siaw23 Notes »
yachao Notes »
stella Notes »
bash Notes »
plotsbot Notes »
gauravano Notes »
amitsin6h Notes »
sagarpreet Notes »
vidit Notes »
Parsamparham Notes »
Supun Notes »
namangupta Notes »
tech4gt Notes »
souravirus Notes »
sukhbir Notes »
vishesh Notes »
stefannibrasil Notes »
Raounak Notes »
milaaraujo Notes »
cess Notes »
sid2111995 Notes »
ritika_1998 Notes »
meghana-07 Notes »
soniya2903 Notes »
jasnow Notes »
rishabh07 Notes »
naman18996 Notes »
jywarren Notes »
alfachemistry22 Notes »
shinchan Notes »
nataliajohnson Notes »
amangarg Notes »
abusaud23 Notes »
geekychaser Notes »
igniteeng000 Notes »
rbhatia46 Notes »
singhav Notes »
silentsairam Notes »
aashnaaashna Notes »
icode365 Notes »
sashadev-sky Notes »
aleidaperez Notes »
jainsubhahu Notes »
oorjit_chowdhary Notes »
rexagod Notes »
kvaswani2012 Notes »
davetlight Notes »
IshaGupta18 Notes »
IgorWilbert Notes »
vibhordelgupta Notes »
himanshudewan599 Notes »
jainaman224 Notes »
manas_man95 Notes »
niravasher Notes »
dhirajsharma Notes »
sidntrivedi012 Notes »
harshithpabbati Notes »
sk9366693 Notes »
shritejkhopade8 Notes »
tricksallhindi Notes »
govindjeevan7 Notes »
alaxallves Notes »
kaustubh_nair Notes »
rkpattnaik780 Notes »
lohithabhagam123 Notes »
lekhidugtal Notes »
anan12 Notes »
lit2017001 Notes »
divyabaid16 Notes »
asianfanfics68 Notes »
jonessophie273 Notes »
f20171066 Notes »
gautami_gg Notes »
kevinkally Notes »
mguarand Notes »
mukeshtonk8 Notes »
dotkickpra1 Notes »
dagaranupam Notes »
puneetbindal8989 Notes »
ltuse163 Notes »
sauvzi13397 Notes »
ayan00 Notes »
jodie77 Notes »
shakebameen Notes »
ssmitasen Notes »
Geor97 Notes »
kelukaliya Notes »
Jjjjjj Notes »
molangmuir10 Notes »
bjatawa Notes »
directordada01 Notes »
ellazara255 Notes »
Govtjobofassam Notes »
saad111 Notes »
akheelbm Notes »
aadhirabisht Notes »
payalrajputescort Notes »
gustavopguto Notes »
ekosetyautm Notes »
raipurmodel Notes »
ThatBoxCo Notes »
iranalexa95 Notes »
rakib_uddin Notes »
shivparkash05 Notes »
mahesh_jain Notes »
kamalkhandelwal29 Notes »
shahzad235v Notes »
lindajohn91 Notes »
dailyworxsolutions Notes »
ddvsg Notes »


Public Lab is open for anyone and will always be free. By signing up you'll join a diverse group of community researchers and tap into a lot of grassroots expertise.

Sign up