Updated Google Summer of Code 2015 (markdown)

Dominik Schürmann 2015-02-10 08:28:03 +01:00
parent 86bd8d7c4f
commit b1f6bfc9fc
1 changed files with 60 additions and 1 deletions

@ -1,4 +1,63 @@
# Tasks
This is a page showing all proposed ideas for our application for the [Google Summer of Code 2015](http://www.google-melange.com/gsoc/homepage/google/gsoc2015).
# About OpenKeychain
OpenKeychain is an OpenPGP implementation for Android.
<img src="http://sufficientlysecure.org/wp-content/uploads/openpgp_device-613x1024.png" alt="Drawing" height="512" "width="306" align="right" />
It serves as a key management tool for encryption, decryption, signature generation, and signature verification. We are working together with K-9 Mail to provide email security according to the OpenPGP standard. It also allows encryption of files and provides an API for other developers to use. Thus, other Android applications will hopefully utilize this API in the future. While we are currently working on the API, there are several open tasks and improvements, which can be done for this project.
OpenKeychain can be installed from [Google Play](https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain) and [F-Droid](https://f-droid.org/app/org.sufficientlysecure.keychain).
### Features
* OpenKeychain is Open Source and Free Software (GPLv3+) (-> verifiable cryptography)
* All basic OpenPGP operations: encrypt/decrypt/sign/verify
* NFC/QR code key exchange
* Key management (import/export/sign/upload)
* Import/export of GPG key rings and exported keys from/to the SD card
* Basic keyserver support
* Easy API
# Prerequisites
* Be a student enrolled at a university
# Contribution Guidelines
1. Join the development mailinglist at http://groups.google.com/d/forum/openpgp-keychain-dev
2. Read the [README](https://github.com/openpgp-keychain/openpgp-keychain/blob/master/README.md), especially the notes about coding style
3. Fork OpenKeychain and contribute code (the best part ;) )
4. If you have questions ask on the mailinglist!
5. Open a pull request on Github. I will help with occurring problems and merge your changes back into the main project.
I am happy about every code contribution and appreciate your effort to help us developing OpenKeychain!
# "One patch" rule
We require one accepted patch (pull request) from each potential GSoC student, before accepting the student for GSoC participation.
The reason for this requirement is that you can show us that you have succeeded in building OpenKeychain, and that you have understood a little piece of OpenKeychain's code and are able to improve it.
This requirement is based on the "two patches" rule applied by projects such as Inkscape and Subsurface.
I sorted out some probably easy issues and tagged them: https://github.com/openpgp-keychain/openpgp-keychain/issues?labels=simple-one-patch&page=1&state=open
# Google Summer of Code Registration Procedure
1. Have one patch accepted in OpenKeychain (see "one patch" rule)
2. Lookout for interesting ideas on this page and choose multiple according to the time you expect to work on them. You can also propose your own ideas
3. Tell us about your plans on the mailinglist
4. [Apply officially on the Google Summer of Code page](https://www.google-melange.com/gsoc/homepage/google/gsoc2014) (**Registration opens on March 10, 2014, 7 p.m. UTC.**)
4. For accepted students participating in the Summer of Code, we encourage to open a blog and write about your progress.
# Evaluation
(Shamelessly copied from [Subsurface](http://trac.hohndel.org/wiki/Subsurface_GSOC_2014_Idea_List))
GSoC has two formal evaluation points, at the mid-term and at the end. These evaluations determine if you receive the stipend from Google. In order to receive a pass for the evaluations you will need to show adequate progress toward your project's goals.
To help you meet your goals and so that your mentor can better evaluate your progress you need to:
* Have frequent, public discussions of your progress. (Don't rely on just your mentor for advice.)
* Have a public OpenKeychain fork for your code to which you commit regularly.
* Give weekly status reports for example via a blog.
For the final pass, you will normally be required to merge your code into OpenKeychain master.
Remember: we want you to succeed and we'd like you to stick around.
# Ideas
## Improve keyserver support
* NetCipher or similar library (OkHttp?) for proxy support and Tor support (shadowing keyserver requests -> more privacy?) (https://github.com/open-keychain/open-keychain/issues/1025)
* Fix pull to refresh with lib: https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh / https://github.com/baoyongzhang/android-PullRefreshLayout, or other