The following is a page to help with GSoC / SoP / Outreachy coordination.
# GOOGLE SUMMER OF CODE'S PROJECT FOR 2022
## 1. Tor Weather
...
...
@@ -12,6 +11,7 @@ Mentor: Geko
If a relay disappears today, it is unlikely that anyone will notice or even send an email to the operator.
The entire Tor network would benefit from a "Tor Weather" service to notify relay and bridge operators when the state of their relays has changed. This has a number of benefits, including:
- increasing the likelihood that relay operators notice problems and actually mitigate them.
- showing relay operators that someone actually cares if their relays go down or become outdated or have other problems
- giving relay operators information about best-practices, e.g not running outdated versions, fixing their DNS, etc...
...
...
@@ -24,12 +24,13 @@ This project would involve the implementation of an email notification service t
This project already existed and was known as "Tor Weather". It was unfortunately discontinued due to lack of maintenance and resources to keep the project alive. However, we think that this is still a great idea and the most efficient way to achieve and maintain a healthy Tor network on the long run. The resulting service should conform to our current styleguide.
There is a repository, maintained independently from the Tor project, with code that we could think about reusing and expanding upon for implementing this proposal. It's at https://github.com/thingless/torweather/. There are additional resources below which should get evaluated to find the right design choice for a new Tor Weather service.
There is a repository, maintained independently from the Tor project, with code that we could think about reusing and expanding upon for implementing this proposal. It's at <https://github.com/thingless/torweather/>. There are additional resources below which should get evaluated to find the right design choice for a new Tor Weather service.
This notification service should support subscribing via single relay fingerprint or MyFamily groups. Additionally, it should not need any subscription change if a new relay gets added to the family. As this service would store email addresses of potential tor relay operators, they should be kept private and safeguarded. However, a passive observer can collect them by watching outbound email traffic if no TLS is used. As such, this service should suggest using a dedicated email address for this service.
Once a basic email notification service is implemented, these are some ideas for potential notification types that could be implemented within it:
```plaintext
Email me when my node is down - Here we should decide how long before we send a notification?
Email me when my relay is affected by a security vulnerability
Email me when my relay runs an end-of-life version of tor
...
...
@@ -43,23 +44,45 @@ Once a basic email notification service is implemented, these are some ideas for
Email me with monthly/quarterly status information, e.g what is my position in the overall relay list, how much traffic did my relay do during the last month, etc...
Email me about new relay requirements
Email me about tor relay operator events
```
For each notification implemented, there should be a corresponding specification written to describe the meaning of each notification type.
### Resources:
- Current issue in our bug tracker: [https://gitlab.torproject.org/tpo/network-health/team/-/issues/107](https://gitlab.torproject.org/tpo/network-health/team/-/issues/107)
- Another Tor Weather code base: [https://github.com/meejah/tor-weather](https://github.com/meejah/tor-weather)
- Old Tor Weather experience: [https://web.archive.org/web/20141004055709/https://weather.torproject.org/subscribe/](https://web.archive.org/web/20141004055709/https://weather.torproject.org/subscribe/)
- Our old code base: [https://gitweb.torproject.org/weather.git/](https://gitweb.torproject.org/weather.git/)
-----------
- Current issue in our bug tracker: https://gitlab.torproject.org/tpo/network-health/team/-/issues/107
- Another Tor Weather code base: <https://github.com/meejah/tor-weather>
- Old Tor Weather experience: <https://web.archive.org/web/20141004055709/https://weather.torproject.org/subscribe/>
- Our old code base: <https://gitweb.torproject.org/weather.git/>
@@ -300,12 +311,11 @@ For each notification implemented, there should be a corresponding specification
# SoP 2015
For 2015 ran our own program instead of GSoC ([program announcement](https://blog.torproject.org/blog/tor-summer-privacy-apply-now-0), [selected applications](https://blog.torproject.org/blog/tor-summer-privacy-projects)).
* Ask potential mentors for new project ideas and to update old ones
* Make an initial plea-of-marginal-effectiveness
* Follow up a week later with individual nagging
...
...
@@ -691,6 +672,7 @@ The following is a cheat sheet for being an org admin for Google Summer of Code.
## Your Details
### Why does your org want to participate in Google Summer of Code?
We are excited to have the opportunity to participate in GSoC for 2020. We have been involved with GSoC since 2007 and have seen the benefits that participating in this program can provide, both for us as a hosting organization and the students themselves.
Tor has many open development tasks that are well-suited to summer projects, and also many students who are excited to work on them. As a non-profit, we are used to engaging with volunteers for standalone projects which then become part of the larger Tor ecosystem.
...
...
@@ -745,16 +727,7 @@ Yes
=== For each year your organization has participated, provide the counts of successful and total students.===
_See [https://developers.google.com/open-source/gsoc/help/org-profile#descriptions](https://developers.google.com/open-source/gsoc/help/org-profile#descriptions) for an example of how these are used._
_See_[_https://developers.google.com/open-source/gsoc/help/org-profile#descriptions_](https://developers.google.com/open-source/gsoc/help/org-profile#descriptions)_for an example of how these are used._
### Short description
...
...
@@ -837,6 +808,7 @@ The Tor Project is a free-software non-profit project to build an anonymity tool
### Application Instructions
Please use the following template for your application:
- What project would you like to work on?_Use our ideas lists as a starting point or make up your own idea. Your proposal should include high-level descriptions of what you're going to do, with more details about the parts you expect to be tricky. Your proposal should also try to break down the project into tasks of a fairly fine granularity._
- Point us to a code sample: ideally from an existing project.
- Why do you want to work with The Tor Project in particular?
_See [https://developers.google.com/open-source/gsoc/help/org-profile#descriptions](https://developers.google.com/open-source/gsoc/help/org-profile#descriptions) for an example of how these are used._
_See_[_https://developers.google.com/open-source/gsoc/help/org-profile#descriptions_](https://developers.google.com/open-source/gsoc/help/org-profile#descriptions)_for an example of how these are used._
### Short description
...
...
@@ -940,6 +909,7 @@ The Tor Project is a free-software non-profit project to build an anonymity tool
### Application Instructions
Please use the following template for your application:
- What project would you like to work on?_Use our ideas lists as a starting point or make up your own idea. Your proposal should include high-level descriptions of what you're going to do, with more details about the parts you expect to be tricky. Your proposal should also try to break down the project into tasks of a fairly fine granularity._
- Point us to a code sample: ideally from an existing project.
- Why do you want to work with The Tor Project in particular?
We participated in GSoC 2007 through 2014. In 2007 we had a pretty successful group of four students. We had one student working on making Tor servers scale better (and not crash!) on Windows, one working on a library and tool to choose paths through the network according to various rules like "cross at most one ocean", one working on a fuzzing library to look for parsing problems (it's found three so far), and one working on a new way to improve scalability and privacy for Tor hidden services. All four passed and have produced useful code.
The 2008 GSoC was a success, too. One of our successful GSoC 2008 students has written a nice blog post reviewing how GSoC went for him, for the other students, and for the project in general: https://blog.torproject.org/blog/google-summer-code-2008-review
The 2008 GSoC was a success, too. One of our successful GSoC 2008 students has written a nice blog post reviewing how GSoC went for him, for the other students, and for the project in general: <https://blog.torproject.org/blog/google-summer-code-2008-review>
In 2009, we had 5 students to work on Tor, plus 1 more working for The Electronic Frontier Foundation. We had to pick these 6 out of 32 applications, which was a pretty hard process for us. In retrospect, there were at least 2 more students that we'd really have wanted to work on Tor but that we were not able to pick. Fortunately, they stuck with the project anyway, with one writing a neat relay monitor (and who is now our primary gsoc admin!) and one helping reimplement Tor in Java for mobile devices. We wrote a wrap-up report how GSoC 2009 went for us here: https://blog.torproject.org/blog/gsoc-wrapup-2009
In 2009, we had 5 students to work on Tor, plus 1 more working for The Electronic Frontier Foundation. We had to pick these 6 out of 32 applications, which was a pretty hard process for us. In retrospect, there were at least 2 more students that we'd really have wanted to work on Tor but that we were not able to pick. Fortunately, they stuck with the project anyway, with one writing a neat relay monitor (and who is now our primary gsoc admin!) and one helping reimplement Tor in Java for mobile devices. We wrote a wrap-up report how GSoC 2009 went for us here: <https://blog.torproject.org/blog/gsoc-wrapup-2009>
In 2010 we had 4 students work on Tor and 2 more with the EFF. Unfortunately one disappeared shortly after being accepted, but all the rest were successful and greatly benefited the projects they worked on (jtor, soat, torbel, metrics, and switzerland). A couple of these students also wrote blog posts summarizing their summer:
In 2011 we had 6 students to work on Tor and 1 more with the EFF. Two of those students (George and Sathyanarayanan) stayed afterward and became core Tor developers. Everyone was successful and some blogged about their experiences at...
In 2012 we had 6 students work with Tor. One had to leave the program soon after acceptance for personal reasons, but the rest were all successful. Starting this year we had students write bi-weekly status reports, you can find them on...
In 2013 we had 7 students, 2014 had 13 students, and ran the program in a similar fashion.
...
...
@@ -1090,22 +1047,21 @@ Stats for the success rate in prior years is: 4/4 in 2007, 4/7 in 2008, 5/6 in 2
Tor has many open development tasks that are well-suited to summer projects, and also many students who are excited to work on them. GSoC can help these students work on important new free software work while also paying rent. In recent years The Tor Project has continued to grow, offering interesting new opportunities for summer projects. We expect to attract smart students as we did in prior years.
## What is the main development mailing list for your organization?
## What is the main IRC channel for your organization?
irc://irc.oftc.net/tor-dev/
<irc://irc.oftc.net/tor-dev/>
## Twitter URL
https://twitter.com/torproject
<https://twitter.com/torproject>
## What criteria did you use to select your mentors for this year's program? Please be as specific as possible.
Seth Schoen, Peter Eckersley, and Micah Lee, and Dan Auerbach are EFF Staff as listed on http://www.eff.org/about/staff. The remaining individuals have each worked with Tor, most of them for several years, and most of them are in the "core development team" listed on https://www.torproject.org/about/corepeople. Each individual has been leading his or her own projects related to Tor, and they are the most suited for mentoring students working on those modules. Note that five of our mentors and two of our admins are former GSoC students.
Seth Schoen, Peter Eckersley, and Micah Lee, and Dan Auerbach are EFF Staff as listed on <http://www.eff.org/about/staff>. The remaining individuals have each worked with Tor, most of them for several years, and most of them are in the "core development team" listed on <https://www.torproject.org/about/corepeople>. Each individual has been leading his or her own projects related to Tor, and they are the most suited for mentoring students working on those modules. Note that five of our mentors and two of our admins are former GSoC students.
## What is your plan for dealing with disappearing students?