go-zeromq / zmq4

[WIP] Pure-Go implementation of ZeroMQ-4
BSD 3-Clause "New" or "Revised" License
331 stars 56 forks source link

meta: new ZeroMQ/C++ license #145

Open sbinet opened 8 months ago

sbinet commented 8 months ago

with the ZeroMQ C++ project being relicensed under MPL-2:

https://github.com/zeromq/libzmq/pull/4555

we could theoretically rewrite go-zeromq/zmq4 by "just" reading ZeroMQ/C++ code. (that's still a lot of work, but we could almost get into a bug-for-bug state)

ahmetson commented 7 months ago

Yeah let’s do it. But I will change the API interface to match with pebbe/zmq4.

since that is already released, I think there might be more production libraries relying on library. It will be easier to migrate.

ahmetson commented 7 months ago

@sbinet can we open a telegram or some other library? I will write it from scratch.

sbinet commented 7 months ago

@ahmetson if you want to tackle this (great!), I'd advise just to create a branch off the latest go-zeromq/zmq4 main branch, remove all (code) files and add your translated from C++ files.

also, it would be great to keep the Go/CGo compatibility tests :) (I've updated this issue to add the list of ZMQ sockets to implement)

ahmetson commented 7 months ago

@sbinet, how is the CGO compatible with the rewritten zmq?

To make the compatibility, then the current interface must be kept. So, no pebbe/zmq4?

sbinet commented 7 months ago

not necessarily. what I meant was to keep a set of Go/CGo compatibility tests, but we can change the interface to be more in line with pebbe/zmq4's.

ahmetson commented 7 months ago

Okay, I will start in December. Until 10 December, I will be in the hackathon. I will fork this repo and start slowly implementing them. As I start, I will keep you updated.

sbinet commented 7 months ago

Cool, sounds like a plan. Keep us posted.