81
edits
Line 24: | Line 24: | ||
* Massimiliano Mirra - JavaScript / Mozilla | * Massimiliano Mirra - JavaScript / Mozilla | ||
= Project Ideas = | = Roadmap Project Ideas = | ||
This section lists some project ideas that were suggested for the [http://code.google.com/soc/ Summer of Code 2007]. | This section lists some project ideas that were suggested for the [http://code.google.com/soc/ Summer of Code 2007]. | ||
Line 36: | Line 36: | ||
* [http://www.xmpp.org/extensions/xep-0163.html Personal eventing] support in servers and, along with fun payloads like [http://www.xmpp.org/extensions/xep-0107.html user mood] and [http://www.xmpp.org/extensions/xep-0118.html user tune], in clients | * [http://www.xmpp.org/extensions/xep-0163.html Personal eventing] support in servers and, along with fun payloads like [http://www.xmpp.org/extensions/xep-0107.html user mood] and [http://www.xmpp.org/extensions/xep-0118.html user tune], in clients | ||
* [http://www.xmpp.org/extensions/xep-0136.html Message archiving] support in clients (especially web clients) and servers | * [http://www.xmpp.org/extensions/xep-0136.html Message archiving] support in clients (especially web clients) and servers | ||
* End-to-end encryption | * End-to-end encryption | ||
Most of those priority projects can be done in [http://www.jabber.org/software/clients.shtml clients], [http://www.jabber.org/software/servers.shtml servers], or [http://www.jabber.org/software/libraries.shtml libraries], so there is plenty of opportunity for fun SoC work. We prefer that you contribute to existing open-source codebases instead of starting a new codebase, since it will be easier to find a mentor, so look at the [http://www.jabber.org/software/ existing projects] to find a good fit. If you have questions about an existing codebase, ask the maintainers of that codebase or post to the [http://mail.jabber.org/mailman/listinfo/jdev main developer list]. | Most of those priority projects can be done in [http://www.jabber.org/software/clients.shtml clients], [http://www.jabber.org/software/servers.shtml servers], or [http://www.jabber.org/software/libraries.shtml libraries], so there is plenty of opportunity for fun SoC work. We prefer that you contribute to existing open-source codebases instead of starting a new codebase, since it will be easier to find a mentor, so look at the [http://www.jabber.org/software/ existing projects] to find a good fit. If you have questions about an existing codebase, ask the maintainers of that codebase or post to the [http://mail.jabber.org/mailman/listinfo/jdev main developer list]. | ||
Detailed descriptions of these project ideas are provided below. | |||
== End-to-end Encryption == | |||
We have been working on specifications for end-to-end encryption of XMPP communications. Building support for these technologies is an ambitious project, however it can be broken down into several, more manageable pieces. | |||
First, the following two specifications essentially define a session-based model for XMPP communication. Modifying an existing client or library to properly handle stanza sessions would provide a strong basis for end-to-end encryption, enabling hooks into encryption libraries. | |||
* [http://www.xmpp.org/extensions/xep-0201.html XEP-0201: Best Practices for Message Threads] | |||
* [http://www.xmpp.org/extensions/xep-0155.html XEP-0155: Stanza Session Negotiation] | |||
Second, the following two specifications define methods for the end-to-end encryption itself. It makes sense to implement these specifications in a library so that multiple clients can use the underlying code: | |||
* [http://www.xmpp.org/extensions/xep-0200.html XEP-0200: Stanza Encryption] | |||
* [http://www.xmpp.org/extensions/xep-0116.html XEP-0116: Encrypted Session Negotiation] | |||
== Clients == | == Clients == | ||
Line 66: | Line 82: | ||
Most of the roadmap project ideas described above can be done in any of these servers, so combine a project idea with a codebase and send in a proposal. | Most of the roadmap project ideas described above can be done in any of these servers, so combine a project idea with a codebase and send in a proposal. | ||
== Libraries == | == Libraries == | ||
Line 87: | Line 102: | ||
* [http://www.igniterealtime.org/projects/xiff/ XIFF] (Flash) | * [http://www.igniterealtime.org/projects/xiff/ XIFF] (Flash) | ||
* [http://home.gna.org/xmpp4r/ XMPP4R] (Ruby) | * [http://home.gna.org/xmpp4r/ XMPP4R] (Ruby) | ||
* [http://xmpppy.sourceforge.net/ xmpppy] (Python) | |||
Most of the roadmap project ideas described above can be done in any of these libraries, so combine a project idea with a codebase and send in a proposal. | Most of the roadmap project ideas described above can be done in any of these libraries, so combine a project idea with a codebase and send in a proposal. | ||
= Other Project Ideas = | |||
=== Coccinella: Jingle file transfer === | === Coccinella: Jingle file transfer === | ||
Line 172: | Line 187: | ||
Mentor: Johannes Wagener | Mentor: Johannes Wagener | ||
=== XEP-0033 support === | === XEP-0033 support === | ||
Line 182: | Line 196: | ||
* application to send forms to entities, analyze and store the submitted results | * application to send forms to entities, analyze and store the submitted results | ||
* replace memberbot with this application. | * replace memberbot with this application. | ||
=== Publish-Subscribe Based Package Management System for an Open-Source Operating System === | === Publish-Subscribe Based Package Management System for an Open-Source Operating System === |
edits