←back to thread

206 points aaronbrethorst | 1 comments | | HN request time: 0.385s | source

Let's match open source projects that need help with developers looking to contribute. Think of this as "Who's Hiring" but for open source - a monthly thread to surface interesting projects that could use more hands.

Please include: Project name and description (if not widely known); Tech stack; Areas needing help (DOCS, CODE, DESIGN, etc.); Level (BEGINNER-FRIENDLY if applicable); Email address or other means of contacting you.

Ground rules:

Post only if you maintain/run the project

One post per project/suite

No commercial recruitment

No thread complaints

Developers: Only reach out if you actually want to contribute.

1. bitfl0wer ◴[] No.42171842[source]
Polyphony is an in-development chat service, meant to be a direct competitor to and replacement for Discord. Polyphony offers a subset of Discords v9 HTTP API, excluding some of the more bloated features while keeping the fun yet functional experience. Self-hosting and federation are key features of Polyphony and thus are supposed to have a mass-market ready user experience associated with them. For this reason, we are also building polyproto - a new, „boring“, extendable identity and message federation protocol, with polyproto-chat being the general purpose Discord/Matrix-like chat platform protocol for interoperability between different services.

Here is a list of things that we could use some help with: * The core polyproto HTTP API routes need to be streamlined - as in, trying to achieve a similar thing on two different routes should be done in a similar way (https://docs.polyphony.chat/APIs/core/). No code experience needed, just some knowledge on HTTP REST API best practices, if possible. * There are some unfinished polyproto HTTP API routes, which need to be designed snd documented (https://docs.polyphony.chat/APIs/core/). * No code experience needed, just some knowledge on HTTP REST API best practices, if possible. * The entirety of the polyproto HTTP API documentation should be translated into TypeSpec definitions (https://typespec.io). TypeSpec is a modern way to describe APIs, and TypeSpec definitions compile down to OpenAPI 3.0 for easy codegen in all sorts of different programming languages. No prior experience with TypeSpec is required - I am also currently in the process of learning it, and it seems to be quite simple and mostly ergonomic.

* The polyproto Rust crate (https://github.com/polyphony-chat/polyproto-rs) could use general optimizations and most importantly internal refactors to allow for wasm-bindgen to create a JavaScript/TypeScript library directly from our Rust code via an FFI, as the Rust codebase should ideally act as a single source of truth to keep implementations in different languages from exerting different behaviors. This would ideally require knowledge of FFIs/ABIs or an interest in learning about these topics. * In addition to the previous point, C-Bindings from the Rust library would also be extremely useful to easily make polyproto available in other programming languages via the C-ABI and FFIs.

Find us at https://github.com/polyphony-chat and/or join our development Discord at https://discord.gg/4DPuQStJ4s. Yes, we are aware of the irony :)