Changes between Version 3 and Version 4 of GoogleSOC

02/27/2012 06:36:47 PM (7 years ago)
Itamar Turner-Trauring

Copied from EtherPad


  • GoogleSOC

    v3 v4  
    1 Some project areas students might work on:
     1For people who like variety:
    3   1. [wiki:IPv6]: We are still missing client TCP, UDP and SSL IPv6 support.
    4   1. Documentation: Can probably come up with some specific projects here.
    5   1. A web-based replacement for gladereactor.
     3  * Finish half-written code, documentation, bug fixes, etc.: We  have >200 tickets that at some point had code written and received at least one code review, but for various reasons never made it in. This is a great way to learn because  you don't have to start from scratch, and there's a variety of tasks  (from minor fixes to documentation to new features) most of which have code reviews as a starting point. See for a list.
     5For people who want a self-contained programming task:
     7  * [wiki:IPv6]: We are still missing SSL, UDP, and client TCP IPv6 support. Add IPv6 support for these transports with a full API and test coverage for these additions. Add relevant examples and documentation.
     8  * Debugging user interface for the networking layer - implement a web-based replacement for gladereactor. The  idea is to have a debugging user interface for running a Twisted  process that shows existing listening ports and open connections, and  allows you to view bytes flowing over the transports. gladereactor is a gtk-based half-finished implementation of this.
     9  * Python 3: Begin working towards Python 3 support. For a start, fix all bugs in Python 3 milestone: and run with no -3 warnings. Then, see how far you can get with actual port.
     10  * PyPy: Have PyPy be a fully supported platform, with all tests passing.
     12For people who want to work on documentation:
     14  * Finish half-done documentation: Merge  existing documentation from elsewhere, e.g. Conch in 60 seconds, or half-finished documentation that is in the tracker (there's the start of  an IMAP howto, for example.)
     15  * lore2sphinx: finish converting our documentation from a custom format (Lore) to the community standard - RestructuredText as used by Sphinx. In particular, resolve all tickets in the lore2sphinx milestone: and then help transition the release process and to Sphinx by participating in a release.
     16  * For a particular subproject, review and improve existing examples and howtos and add missing documentation.Every example needs a description, e.g. has descriptions but doesn't. Every example should document its purpose, how it is run, and what it should do. Examples should use current coding and documentation standards and shouldn't use deprecated code. Documentation should use current coding and documentation standards in code snippets, and should use the preferred APIs. Some subprojects have very little documentation or examples and simply need more. Audit and update relevant man pages.
     18For the detailed-oriented person:
     20  * Coverage: For a particular subproject, go for 100% API documentation and unit test code coverage.
     21  * Test suite cleanup: overall test suite cleanup,  remove deprecations, fix deprecation warnings, get to the bottom of and fix our various recurring Windows errors, fix Windows compiler warnings, fix non-deterministic tests.