As many of my exams take place right after Google officially announces all selected organizations I need to do some research in advance. That way I can not only find enough time to learn but also get some information about projects I might be interested in.
I started my research mid January. After attending the Operating Systems lecture during the winter term I discovered my love for hardware controlling code right next to my empathy for Apps and UI design. But I think my Java skills are still greater than my C skills, so it probably makes more sense to watch out for a Java project.
During my research I payed attention to the skill set required to accomplish the project, the license applied to the product, the documentation and sources for help, how active the community is and to my level of interest in the organization as a whole and in the project in particular.
So, here are the organizations and communities I want to give a closer look to:
Kivy https://kivy.org/docs/gsoc.html#
Both the Plyer and the KV Compiler sound like a challenge I’d like to take. But I should keep in mind that I need to refresh my Python skills as it’s been a while since I have used Python. The docs look very promising and will help me getting started with the code. I also like the idea of easing cross platform development.
Contribution guidelines: https://kivy.org/docs/contribute.html
Probably it’s a good Idea to engage with the people on the mailing list https://groups.google.com/forum/#!forum/kivy-dev
Mozilla https://wiki.mozilla.org/SummerOfCode
Especially the Implement WebExtension APIs fits my skills and working on software I use on a daily basis brings an extra motivation bonus. I really like Mozillas’ mission
to ensure the Internet is a global public resource, open and accessible to all
However, I have to think about whether I am comfortable with the idea of participating in a project hosted by such a big organization.
Contribution Guidelines: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction and https://wiki.mozilla.org/Mobile/Get_Involved
The bug list might come in handy https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=&content=android&comments=0
And maybe I can start with this one https://bugzilla.mozilla.org/show_bug.cgi?id=1339884 (useful link for that bug:https://crash-stats.mozilla.com/report/index/19be837a-7fc7-49f6-91d4-3dcc82170215)
OwnCloud https://github.com/owncloud/core/wiki/Google-Summer-of-Code#2017-current
Yes, I know, its C++. But I really like the Desktop sync client integrations with OSS APIs project so I add a link here anyway. Also interesting: https://github.com/owncloud/core/wiki/Project-ideas#Add-ActiveSync-functionality I also tried to read some of the code and to find an entry point to get started. Sadly, after scanning the docs and investigating the source code I have to admit that I find it rather hard to get behind the UI.
Open Street Map http://wiki.openstreetmap.org/wiki/Google_Summer_of_Code/2017/Project_Ideas
Groups, Reactions and Make the website use the API are all worth investigating. Though, I haven’t used Open Street Map till now, so maybe I should check out the whole platform in the first place and consider if I fit in the community. In addition, Ruby will be a new language but as it is on my “Programming Languages To Learn”-List I just add it to this list. The docs are well done and getting into the source code is intuitive for me as Open Street Map uses the Model-View-Controller pattern which I am familiar with.
Honeynet https://www.honeynet.org/gsoc2017/ideas
The two Android Projects Semi-automated DroidBot and Android sandbox detection and countermeasure sound interesting. Plus, they are completely new projects, so I have not to dive in into much existing code – I just need to get to know the technologies to be used. But in turn, the “plus” is also a “minus”, as getting to know the code written by experienced people will enhance my own code style and also sounds like an appealing challenge. And just like Open Street Map, Honeynet is a community which I didn’t know until now. So I should spend some time getting Honeynet and its community to know.
To sum up
I found several interesting communities of different sizes and missions with even more interesting projects hiding in between those projects which I cannot participate in, either due to my interests or due to my skill set. As soon as Google announces all participating organizations officially I can scan their list for additional projects. In any case, I should make my decision as fast as possible so that I have enough time to engage with the community without shortening my exam preparation time. Hence, putting all my efforts into one application sounds like the better approach for me..