Google Code-in

../_images/gci.png

If you are reading this page you are probably considering OpenWISP as a possible mentoring organization for the Google Code-In, that’s great!

If you are looking for a friendly community where your contribution will have a very tangible positive effect from the first day of your participation and where you can grow your tech skills at 360°, then CONGRATULATIONS! OpenWISP is the right organization for you.

How to run a successful GCI

../_images/success.jpg

Have you read the contest rules yet? If not, please do!

The most important thing to keep in mind is that you may claim only one task at time and if you decide you don’t want to work on it anymore is totally fine but please communicate it to your mentors and remove yourself from the task on the Google Code-In dashboard so that someone else will be able to work on it.

Communication with the rest of the community is vital for a successful Google Code-In, please join our communication channels, presenting yourself on the mailing list and on chat, tell us who you are, what your values are, what is attracting to OpenWISP and don’t be cold like a robot! Stay human :-).

How to become an OpenWISP star

../_images/star.jpg

Here’s a few quick tricks you can use to become a star in our community:

  • read the founding values and goals of OpenWISP, are you on our side?
  • study and follow closely the contributing guidelines
  • be patient in the interaction with your mentors, we are all volunteers, we are taking our time to mentor you from our free time which we usually spend with family and loved ones
  • we know our documentation is incomplete and fragmented, we are working hard to improve it; if you find a passage that is not clear or you have an idea about how to improve it, please let us know!
  • the same happens with the software, if you see something which looks like a bug, reach out, even if it’s not a bug your feedback will help us to improve
  • if we ask you to open an issue in one of our github repository, please take at least 5 minutes of time to write a proper bug report
  • watch the OpenWISP 2 presentation at the OpenWRT Summit 2017 and read the slides of this more technical OpenWISP 2 talk
  • try using OpenWISP in real use case scenarios (find out if there’s a free wifi community near your area), spend time reading its code, ask questions
  • try to participate in the community, if a fellow member is in need of help and you know how to help him, please do so, we will reward you

Evaluation criteria

These are the evaluation criterias we will use to decide the finalist and vote for the winners.

Progression of Skills

Students should start with simple tasks and gradually progress to more difficult tasks.

Hint: push yourself gradually to harder tasks once you become confident. Leave easy tasks for beginners.

Quality over Quantity

We care more about the quality and impact of your work rather than the quantity of completed tasks.

How we define quality?

Strict adherence to our contributing guidelines, clean readable code, simplicity, elegance, good commit messages.

How we define impact?

Adding a new feature that was highly requested by the community, improving the UX, improve the documentation to help newcomers, anything that facilitates the life of our users has a positive impact on the community.

Hint: find out where the highest impact can be made. Some tasks are more important than others.

Community

Open source is not only about producing code, being active in the community (mailing list, chat, github), helping out fellow students and helping out new users who ask beginner questions is also very important to maintain a healthy community.

Hint: fully embrace the open source community, be helpful to one another. This is the true spirit of open source development.

Gradual Independence

Over time we expect you to improve and need less micro-managing from mentors, we expect you to become more independent and learn to solve problems on your own.

Hint: do your own research before asking obvious questions; search in the mailing list, in the documentation, on github, on google. Send tasks for review only when you consider your work of good quality. You don’t need to rush, keep in mind we value more quality and impact rather than number of completed tasks.

Learn to use OpenWISP

The best contributors are those who actively use the software; students may not have a specific need to use OpenWISP but they can simulate it in order to learn.

Hint: we will appreciate students who will demonstrate good knowledge of how OpenWISP can be used and will help us to write more documentation and tutorials on how to use it.

Full stack knowledge

OpenWISP is really a full-stack software project, there’s everything: python, django, javascript, openwrt, lua, shell scripting, openvpn, freeradius, ansible.

The best contributors are not afraid to learn new technologies and contribute on different fronts.

Hint: we will appreciate students who will spend effort in improving their skills on multiple fronts, rather than focusing exclusively on one specific technology or programming language.

Time to start hacking

../_images/technology.gif

If you are not familiar with the following concepts and technologies yet, take the time to read these resources, it will help you to speed up and raise to the top!

Programming languages and frameworks:
Networking concepts:
Configuration management:

FAQs

Please refer to the Google Code-in FAQs before participating.

Note

You can ask for help whenever needed, but please don’t copy someone else’s work. Google Code-in has zero tolerance policy regarding cheating and plagiarism. There are some tasks which require a creative mind like designing logos and T-shirts, which you need to do by yourself. Remember, learning is more important than winning.

We wish you good luck for the contest!