Skip to content
This repository has been archived by the owner on May 8, 2020. It is now read-only.

Latest commit

 

History

History
45 lines (31 loc) · 2.54 KB

README.md

File metadata and controls

45 lines (31 loc) · 2.54 KB

IMPORTANT

Development and tracker moved to SourceHut

OxZMQ (oxzmq)

OxZMQ is an implementation of ZeroMQ in pure Rust. Its high-level goals are as follows, ordered by priority.

  1. Fool-proof, impossible-to-misuse API
  2. As efficient as possible, hopefully one day on par with libzmq
  3. Match the functionality of libzmq

The name is pronounced "oxy-em-queue" because "oxy" is kind of like "oxygenation", which is kind of like Rust.

License — MPL 2.0

This project is licensed under the MPL, Version 2 (license FAQ here). I chose the MPL in spite of the fact that Rust projects overwhelmingly use a duel MIT/Apache-2 license. However, it is a non-viral license, so hopefully members of the Rust community won't be afraid to use it in their projects.

Reasons I chose the MPL:

  • It ensures that all changes made to downstream forks can be reintegrated into the project.
  • It isn't viral—you can license "larger works" under an arbitrary license.
  • I was swayed by the arguments Peter Hintjens made in the ZeroMQ guide.
  • The ZeroMQ project generally intends to move to the MPL and recommends it for all new projects.

Project Maintenance — C4

In the spirit of ZeroMQ, this project will do its best to adhere to the principles of C4. The exact protocol for C4 is described in its specification. This has a few consequences worth mentioning here:

  • Anyone who submits an accepted patch can become a maintainer.
  • We will only have a single branch on this repo, which we'll call "master".
  • No one, without exception, can merge their own patch. This will take effect one there's more than a single maintainer on the project.
  • All patches should solve exactly one issue, and that issue should have a clear statement of a real and current problem identified with the project.

The C4 specification has more detailed information, and the ZeroMQ Guide gives justifications for the process.