Google Code-In 2018: ROCK ON!

148 views
Skip to first unread message

Federico Capoano

unread,
Aug 29, 2018, 4:51:54 PM8/29/18
to OpenWISP
Hi everyone,

I think the last Google Code-In was great for our community, it pushed us to improve our documentation, fix a lot of issues, add new features and helped us to grow our community.
Moreover, one of the winners, Aarnav is still very actively helping us to improve and grow.

Last year the main complaints we had from students was that there weren't enough mentors to help out, it would be wonderful if this year we could fix this by expanding our pool of mentors!
The mentor who will be voted the best by students will win a trip to San Francisco to meet the GCI winners at Google Headquarters in San Francisco and or Mountain View (this year we visited both offices).
The privileged mentor chosen by students will stay in a great hotel, eat great food, attend to very interesting presentations given by Google employees about interesting topics (this year they talked about Kubernetees, Open source licenses, AI, self-drived cars and many more incredibly cutting-edge and interesting topics).
This year they let us eat in the Mountain View HQ with the rest of the employees, it was a really nice experience, it felt a bit like being in "The Interns" movie EHEH.

If you're interested in helping us out please read on, below is the official communication from the Google crew.

Federico

---------- Forwarded message ---------
From: 'sttaylor' via Google Summer of Code Mentors List <google-summer-of-...@googlegroups.com>
Date: Wed, Aug 29, 2018 at 9:35 PM
Subject: [GSoC Mentors] Google Code-in 2018 is on - org apps open Sept 6-17
To: Google Summer of Code Mentors List <google-summer-of-...@googlegroups.com>


Hello GSoC mentors,

We are pleased to announce Google Code-in (GCI) 2018, the 9th consecutive year of our contest for pre-university students ages 13-17. Please be aware GCI will start about a month earlier this year than in previous years - the contest starts for students October 23rd!

The GCI timeline, FAQs, Rules and flyers have been updated on the contest site.

Organizations -- If you would like to apply for the 2018 program please start thinking about the tasks you would like students to work on and reach out to your community members to ask if they would like to be mentors for the program. Organization applications open for GCI orgs next week on Thursday, September 6th, and close less than 2 weeks later on Monday, September 17th. We will announce organizations on Tuesday, September 18th giving orgs 5 weeks to create their tasks before the contest begins on October 23rd.

The major changes for GCI 2018 are:

  • Orgs will evaluate the 20 students completing the most tasks with their org when deciding on finalists and winners

  • Orgs will choose 6 finalists (instead of 5)

  • We have renamed the User Interface category to Design

  • Students will have to wait until Google reviews their Parental Consent form before they can claim their first task. This will slow things down but it is a requirement to be able to continue the program.

  • No tasks asking for personal information about students will be allowed (this includes tasks asking for students to introduce themselves with info like what country they are from, or photos of the students, etc.).

We are looking to continue the growth of this program and reach a record number of teenagers this year! Read more on today’s blog post.

If you have any questions about Google Code-in please contact us at gci-s...@google.com

Best,

Stephanie and Mary

Federico Capoano

unread,
Aug 30, 2018, 3:57:31 AM8/30/18
to OpenWISP
I will begin discussing potential ideas for GCI tasks on this thread.

I like what Marco did with Vagrant OpenWISP 2, I would like to propose something like that but with the aim of helping new contributors.

First of all, we need a documentation page that explains the python and django tools that are normally used by experienced developers, I use these tools regularly but I'm not sure if all the contributors are using them:
  • django-extensions (I can't live without the "shell_plus" command anymore)
  • django-debug-toolbar
  • bpython or ipython
  • ipdb
Second, I wonder if it would be possible to create a vagrant configuration that brings up a VM with all the repositories of the openwisp2 modules cloned (eg: /home/username/openwisp), a python3 virtual environment created with all the dependencies and development tools installed, the openwisp2 modules installed with `python setup.py develop` and I wonder if it makes sense to also install a default editor in the VM, like Atom, with packages like `flake8`, `jshint` and others pre-installed.

This would be huge! It could help contributors get up to speed a lot faster. 

Do you have interesting ideas for tasks?
Keep in mind: it will be important to open many small issues on precise things to improve in each openwisp module, the smaller and better defined the task, the better (teenagers are not exprienced developers and they need precise instructions to get stuff done).

Federico

A Stanley

unread,
Aug 30, 2018, 3:10:08 PM8/30/18
to open...@googlegroups.com
Along the lines of a full vagrant development environment. I spent a
good bit of time creating a working environment with freeradius and
mysql to work with django-freeradius. I used docker compose with
tricks I learned from using django-cookiecutter but a consistent setup
for contributors would be helpful.

v/r,

Andrew
> --
> You received this message because you are subscribed to the Google Groups
> "OpenWISP" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to openwisp+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Federico Capoano

unread,
Sep 2, 2018, 7:16:10 AM9/2/18
to open...@googlegroups.com
Yes that's  good idea as well.
Maybe it could be built on top of the vagrant development environment configuration, so by enabling the full freeradius module we'd have freeradius installed and configured too.

Federico

Aarnav Bos

unread,
Sep 10, 2018, 2:59:50 PM9/10/18
to OpenWISP
Are we still going to have those introductory tasks? Like "Write a small DRF API" with tutorials? I'd like to write some content as I feel this will help me as a developer.

aashish gaba

unread,
Sep 10, 2018, 8:59:17 PM9/10/18
to OpenWISP
Hi everyone,
I am new to OpenWisp. I would like to contribute to OpenWisp as well as would be greatful if I get the opportunity to be a mentor for the upcoming Google Code In. What exactly is the procedure for the application of mentor ?. Am i eligible for it ?

Open Source Experience -- I currently did GSOC '18 with Oppia. Here is the link to my work.
I would love to gain experience by contributing to OpenWIsp.

Thanks,
Aashish
Message has been deleted

Oliver Kraitschy

unread,
Sep 11, 2018, 12:52:27 AM9/11/18
to open...@googlegroups.com
Hi Federico,

I just had an idea for for a possible task for someone already a bit
familiar how developing with python works.

The python community is slowly moving from using virtualenv (or
virtualenvwrapper or other derivatives) and requirements.txt files to using
pipenv and pipfiles.

pipenv is a tool written by Kenneth Reitz (author of the well known
requests library) which manages both virtual environments and package
dependencies:

https://pipenv.readthedocs.io/en/latest/

I think pipenv would make it easier both for beginners and intermediates to
get started with OpenWISP development. So I think we should migrate our
projects to using pipfiles and pipenv. pipenv even creates an equivalent
Pipfile if it encounters an existing requirements.txt file!

What do you think about it?

Greetings,
Oliver

Federico Capoano

unread,
Sep 11, 2018, 2:42:06 PM9/11/18
to open...@googlegroups.com
@Aarnav: yes we should prepare some of those again, those were good to help students to learn, we could also design them to be executed in succession, eg:
  1. install linux
  2. setup development environment
  3. python tutorial
  4. django tutorial
  5. DRF tutorial
@okraits: sounds like a great time to start upgrading to pipenv! In practice what would the task consist in?
Do we have to change the code of each project or what?

To the new comers: welcome!
Last year we had many people joining only to mentor GCI students. It was nice to have some helping hands but these new mentors needed training as well and that added even more burdened to our already burdened contributors.
In order to avoid adding even more burden to the stable contributors I advise to get involved in OpenWISP, once you understand how OpenWISP works and you show that you are able to contribute it will be natural for you to become mentor.
The people of Google Open Source Program Office explicitly advised me to avoid accepting mentors who don't have experience and knowledge of the project.

Federico


Oliver Kraitschy

unread,
Sep 11, 2018, 3:11:49 PM9/11/18
to open...@googlegroups.com
On Tue, Sep 11, 2018 at 08:41:51PM +0200, Federico Capoano wrote:

> @okraits: sounds like a great time to start upgrading to pipenv! In practice
> what would the task consist in?
> Do we have to change the code of each project or what?

For each project, we basically have to replace requirements.txt with a
Pipfile and update the README accordingly. I have to check if there is
anything more to do (for example, to not break pip packaging), but those
are the main steps AFAIK.

I can come up with a PR for one project as an example, to get an
understanding of the needed effort, ok?

BTW, I didn't find it right now, but pipenv is actually the tool
recommended by python.org for virtual environments. There's also a
tutorial available:

https://packaging.python.org/tutorials/managing-dependencies/#managing-dependencies

Greetings,
Oliver

Federico Capoano

unread,
Sep 11, 2018, 3:18:05 PM9/11/18
to OpenWISP
The requirements file is read by the setup.py (eg: check this out) so probably also that would have to be changed.
I wonder if pipenv is supported yet by requirements.io, that service is pretty useful to monitor which dependencies are outdated or insecure.

For sure we can have a task that asks the beginners to install pipenv and start using it (instead of virtualenv).

Fed

Oliver Kraitschy

unread,
Sep 11, 2018, 3:31:43 PM9/11/18
to open...@googlegroups.com
On Tue, Sep 11, 2018 at 12:18:05PM -0700, Federico Capoano wrote:

> The requirements file is read by the setup.py (eg: check this out) so probably
> also that would have to be changed.

Sure, I will have a look at that.

> I wonder if pipenv is supported yet by requirements.io, that service is pretty
> useful to monitor which dependencies are outdated or insecure.

http://shiningpanda.com/pipenv-support.html

It seems they already support it. Those two files they mention are called
'Pipfile' and Pipfile.lock', though.

> For sure we can have a task that asks the beginners to install pipenv and start
> using it (instead of virtualenv).

As proposed, I will try to migrate one project and then we'll see how that
turns out.

Greetings,
Oliver

Oliver Kraitschy

unread,
Sep 12, 2018, 12:13:01 PM9/12/18
to open...@googlegroups.com
On Tue, Sep 11, 2018 at 09:31:42PM +0200, Oliver Kraitschy wrote:

> As proposed, I will try to migrate one project and then we'll see how that
> turns out.

For the record, here is the PR:

https://github.com/openwisp/openwisp-controller/pull/38

Greetings,
Oliver

Federico Capoano

unread,
Sep 14, 2018, 9:37:01 AM9/14/18
to OpenWISP
To anyone wanting to help: please be active in the chat and help us to fill the spreadsheet with the task samples.

The application deadline is on monday.

Federico
Message has been deleted

Oliver Kraitschy

unread,
Sep 15, 2018, 3:07:56 AM9/15/18
to Federico Capoano, OpenWISP
Hi Federico,

You could add a task for the migration to pipenv to the list if you think it is suitable.

Greetings,
Oliver


-------- Ursprüngliche Nachricht --------
Von: Federico Capoano
Datum:14.09.2018 15:37 (GMT+01:00)
An: OpenWISP
Betreff: [openwisp] Re: Google Code-In 2018: ROCK ON!

To anyone wanting to help: please be active in the chat and help us to fill the spreadsheet with the task samples.

The application deadline is on monday.

Federico

--

Federico Capoano

unread,
Sep 15, 2018, 6:12:15 AM9/15/18
to OpenWISP
Raul, read again what I wrote in one of my last messages:


"To the new comers: welcome!
Last year we had many people joining only to mentor GCI students. It was nice to have some helping hands but these new mentors needed training as well and that added even more burden to our already burdened contributors.
In order to avoid adding even more burden to the stable contributors I advise to get involved in OpenWISP, once you understand how OpenWISP works and you show that you are able to contribute it will be natural for you to become mentor.
The people of Google Open Source Program Office explicitly advised me to avoid accepting mentors who don't have experience and knowledge of the project."

For getting involved I mean be active on chat and contribute to OpenWISP in the ways that are explained in these pages:
If you are not getting involved in those ways there's no point in being mentor for OpenWISP, because you would need training as well and we don't have time to train mentors while we are also train students. Our resources are limited.

This does not apply for those ones who want to mentor tasks for a specific sub-proejct they already know and we act as a kind of umbrella org, which happened last year for some tasks related to projects and  dependencies we use (django-rest-framework-gis, netjson, the pyroma website).

Federico
Message has been deleted

Federico Capoano

unread,
Sep 15, 2018, 2:20:32 PM9/15/18
to open...@googlegroups.com
PS: here's the tasks of OpenWISP from last year, they could serve for inspiration:

We can replicate verbatim some of the recurring ones.

On Sat, Sep 15, 2018 at 12:40 PM Rahul Bothra <rrbo...@gmail.com> wrote:
Hi Federico,

Thanks for reminding, but I won't be applying for mentoring anyways.
I just wanted to share the list of tasks which I had thought would be a good fit for GCI.

Regards
Rahul Bothra


--
You received this message because you are subscribed to the Google Groups "OpenWISP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openwisp+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Federico Capoano

unread,
Oct 6, 2018, 9:32:41 AM10/6/18
to OpenWISP
Hi everyone,

we have 64 proposed tasks (the text of some tasks need further details and or needs to be completed) which is starting to look good.
There are many issues open on github that we could promote to GCI tasks so if anyone wants to help out with that it would be very helpful.
I think we should aim at starting out with 70-80 tasks, with at least 10 training tasks for beginners.

Federico
Reply all
Reply to author
Forward
0 new messages