34
edits
(Add Jingle in Go as an idea and fix list) |
|||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Participation = | = Participation = | ||
The XSF | The XSF has applied to be a mentoring organisation for Google Summer of Code 2021. We will know whether we are accepted or not on March 9th with the official list is published. | ||
XMPP oriented projects should still add project ideas to the below list. | |||
== Dates == | == Dates == | ||
Line 25: | Line 27: | ||
= Project Ideas = | = Project Ideas = | ||
* | == Dino == | ||
''Website:'' https://dino.im/<br/> | |||
''Source Code:'' https://github.com/dino/dino<br/> | |||
''Description:'' Dino is a modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.</br> | |||
''Project Contact:'' [[User:Larma|larma]], fiaxh<br/> | |||
''Relevant readings:'' [https://wiki.gnome.org/Projects/Vala/Tutorial Vala Tutorial]<br/> | |||
''Teaser Tasks:'' [https://github.com/dino/dino/labels/good%20first%20issue Good first issues]<br/> | |||
''Chat:'' [xmpp:chat@dino.im?join chat@dino.im] | |||
=== Inline link preview === | |||
''Brief explanation:'' Add support for attaching and displaying link metadata.<br/> | |||
''Involved Technologies:'' Vala, XMPP, HTML, OpenGraph<br/> | |||
''Relevant readings:'' [http://ogp.me/ OpenGraph protocol]<br/> | |||
''Deliverables / Expected Results:''<br/> | |||
* User interface widget to display metadata, suitable for preview image, title, abstract and the original url/domain. | |||
* Automatic generation of metadata, working with major websites. This should be done in a generic fassion, not targeting a specific website | |||
* Design or reuse a specification for sending metadata with XMPP messages | |||
== Mellium == | |||
''Website:'' https://melluim.im/<br/> | |||
''Source Code:'' https://mellium.im/code<br/> | |||
''Description:'' Mellium is a collection of Go modules related to XMPP.<br/> | |||
''Project Contact:'' [[User:SamWhited|Sam Whited]]<br/> | |||
''Relevant readings:'' [https://golang.org/doc/effective_go Effective Go], [https://mellium.im/docs/ Mellium docs], [https://pkg.go.dev/mellium.im/xmpp Mellium API docs]<br/> | |||
''Teaser Tasks:'' [https://github.com/mellium/xmpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 Good first issues]<br/> | |||
''Chat:'' [xmpp:users@mellium.chat?join users@mellium.chat] | |||
=== Audio/Video Chat === | |||
''Brief explanation:'' Add support for Audio/Video Communication via Jingle.<br/> | |||
''Involved Technologies:'' Go, WebRTC, Jingle<br/> | |||
''Relevant readings:'' [https://xmpp.org/extensions/xep-0167.html XEP-0167], [https://xmpp.org/extensions/xep-0353.html XEP-0353]<br /> | |||
''Deliverables / Expected Results:''<br/> | |||
* A separate Go library for Jingle that is not XMPP specific (probably, we can discuss design later) | |||
* Audio and video chat in mellium.im/xmpp that is compatible with [https://conversations.im Conversations] | |||
* File transfer in in mellium.im/xmpp using Jingle sessions (also compatible with Conversations) | |||
* A demo app to start a conversation | |||
=== Group Chat === | |||
''Brief explanation:'' Add support for group chats using either Multi-User Chat or Mediated Information Exchange (MIX).<br/> | |||
''Involved Technologies:'' Go<br/> | |||
''Relevant readings:'' [https://xmpp.org/extensions/xep-0369.html XEP-0369: Mediated Information eXchange (MIX)], [https://xmpp.org/extensions/xep-0045.html XEP-0045: Multi-User Chat]<br /> | |||
''Deliverables / Expected Results:''<br/> | |||
* A well tested library for joining or serving MUC or MIX and a set of integration tests that work against Prosody or Ejabberd | |||
* A simple component for hosting MUC or MIX chats | |||
=== End-to-End Encryption === | |||
''Brief explanation:'' Add support for end-to-end (E2E) encryption using OMEMO, or MLS<br/> | |||
''Involved Technologies:'' Go, Go Subrepos, OMEMO or MLS<br/> | |||
''Relevant readings:'' [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption], [https://datatracker.ietf.org/doc/draft-ietf-mls-protocol/ The Messaging Layer Security (MLS) Protocol (draft-ietf-mls-protocol)]<br /> | |||
''Deliverables / Expected Results:''<br/> | |||
* If using MLS, an XEP describing behavior and how MLS should be integrated with XMPP | |||
* A well-designed API and well-tested library for encrypting messages with OMEMO or MLS | |||
* Changes to the Go standard library and subrepos to add any missing cryptographic primitives or expose operations that are currently internal only. | |||
= Join the group chat! = | |||
Use a regular XMPP client and join the GSoC chat room '''[xmpp:gsoc@muc.xmpp.org?join gsoc@muc.xmpp.org]'''. | |||
How to join: | |||
* Download and install a client, or [https://xmpp.org/chat?gsoc use a web client] | |||
* Create an account, or use an existing one | |||
* Find, join, and bookmark: [xmpp:gsoc@muc.xmpp.org?join gsoc@muc.xmpp.org]. |
edits