You are here

GNU Summer of Code 2016

UPDATE: You may be looking for the 2017 edition.

This year GNUnet is participating again in the GNU Summer of Code.

If you have any questions or another project proposal, send a mail to the gnunet-developers list.

Project proposals:

Rust implementation of GNUnet utils

Improve the Rust implementation of GNUnet utils, possibly including adding support for asynchronous IO using mio, or perhaps a higher level asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or gj.

Mentor: Jeff Burdges

Implementation of a replacement for PANDA

Implementation of a replacement for PANDA (see Pond) with better security, and maybe integration with the GNU Name System for key exchange.

Mentor: Jeff Burdges

Tor compatibility for GNUnet

Implement the AnycastExit spec to enable GNUnet clients to connect over Tor.

Mentor: Jeff Burdges

Note: There was a Special TLDs spec to allow Tor to resolve domain names using GNS over Tor too, but currently that's on hold until folks think more about how names should be moved around the local system. We're calling this more collaborative approach NSS2 for now.

RESTful GNUnet

Design and implementation of REST APIs that expose the GNUnet API so that easy, hands-on development is possible. Also, browser-based UIs will be much easier to create on top of REST APIs.

Mentor: Martin Schanzenbach

secushare: Implement social networking features on top of pubsub channels

Implement different place types and file sharing by creating a new place for the shared content.

Place types to be implemented:

  • File: generic file with comments
  • Image: display an image with comments referencing a region of the image
  • Sound: play a sound file with comments referencing a timestamp
  • Directory/Album: pointers to File / Image / Sound places
  • Event: with RSVP
  • Survey: ask your social neighborhood questions in a structured form

Also provide the following UI functionality:

- Fork existing channels, reorganize people into new chatrooms or channels.
- Share a post (edit and repost something elsewhere, on a fan page for example).
- Edit a previously published post + offer edit history to readers.
- Control expiry of channel history.

See also

Mentors: tg, lynX

secushare: Implement a Social Graph API for contact adoption and more

Implement aggregation of distributed state from various channels
in order to provide for a powerful social graph API capable of
producing social network profiles, dashboards, a calendar out of
upcoming event invitations (if available), social search functionality
and most of all to make it easy for users to adopt cryptographic
identities of their contacts/friends simply by finding them in the
social graph of their existing contacts ("This is Linda. You have 11
contacts in common with her. [ADD]").

Related to

Mentors: lynX, t3sserakt

secushare: Implement integration with traditional e-mail

- Emulate IMAP/SMTP protocols as necessary to transform traditional mail
clients into secushare user interfaces.
- Think of ways to map e-mail addresses to secushare identities.
- Encode or translate various e-mail features into secushare equivalents.

Mentors: t3sserakt, lynX