Difference between revisions of "Summer of Code 2007"

Jump to navigation Jump to search
700 bytes added ,  17:32, 19 March 2007
no edit summary
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 (though we have a separate project for that)
* 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 =
== 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.
=== End-to-end Encryption ===
Add e2e encryption based on
* [http://www.xmpp.org/extensions/xep-0200.html XEP-0200: Stanza Encryption]
* [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: Chat Session Negotiation]
* [http://www.xmpp.org/extensions/xep-0116.html XEP-0116: Encrypted Session Negotiation]
to a existing open source library and/or existing OS client.


=== Publish-Subscribe Based Package Management System for an Open-Source Operating System ===
=== Publish-Subscribe Based Package Management System for an Open-Source Operating System ===
81

edits

Navigation menu