apache / pulsar

Apache Pulsar - distributed pub-sub messaging system
https://pulsar.apache.org/
Apache License 2.0
14.29k stars 3.59k forks source link

[improve][client] Optimize Third-Party Client Matrix Page #16613

Closed Anonymitaet closed 2 years ago

Anonymitaet commented 2 years ago

Third-Party Client Matrix Page: https://pulsar.apache.org/docs/next/client-libraries

  1. Some clients are obsolete, they have not been updated for a long time, should we still show them?

  2. What's the definition of "obsolete client"? For example, a client was last updated before a certain date or something else?

  3. Can we show the last update time automatically in the third-party client matrix doc as we did in Pulsar README?

    image image
  4. Is it better not to include pulsar in the third-party client name to avoid misrepresentation? For example, the third-party Go client,[pulsar-client-go](https://github.com/Comcast/pulsar-client-go), looks like the official client, while [pulsar-client-go](https://github.com/apache/pulsar-client-go) is the official one.

🔹🔹🔹🔹🔹🔹

Any thoughts or anyone would like to implement? Thank you!

🔹🔹🔹🔹🔹🔹

@BewareMyPower thanks for your suggestions!

dave2wave commented 2 years ago
  1. Obsolete clients? I think that it will be hard to maintain the date of last commit. Instead we should reevaluate each of the clients periodically to see if there is still value to the overall Apache Pulsar community. We should have simple criteria otherwise the rules would imply the PMC's certification of a client. Certification would then imply we create a test suite. This is a much larger discussion and if we did this then our own official clients would also need to pass.
  2. Regarding naming. We could ask the projects with "pulsar" in their name to rename. When a repository is renamed in GitHub old links and references are redirected. When we ask the project we can also make sure that their README.md points that they are responsible and are unaffiliated with the Apache Pulsar PMC. We should contact each maintainer privately.
dave2wave commented 2 years ago

I looked at all of the repositories:

https://github.com/Comcast/pulsar-client-go - Mar 27, 2019 - It supports Pulsar 2.0 along with 1.22.

https://github.com/t2y/go-pulsar - June 14, 2018 - Some functionality are known to be broken, missing or incomplete. The interface may also change.

https://github.com/cr-org/supernova - Oct 23, 2020 - Alpha, under developement

https://github.com/cr-org/neutron - 5 days ago - use at your own risk

https://github.com/CleverCloud/pulsar4s - Mar 22

https://github.com/streamnative/pulsar-rs - 10 days ago - looks to be very active - it is Apache licensed and MIT liceensed

https://github.com/fsprojects/pulsar-client-dotnet - 25 days ago - very active

https://github.com/ayeo-flex-org/pulsar-flex - 2 hours ago

https://github.com/ikilobyte/pulsar-client-php - 3 days ago

To me we should remove the two go clients plus maybe supernova. We should ask the maintainer because it looks like they chose Scala over Haskell internally.

tisonkun commented 2 years ago

I have a related issue about displaying client libararies. It's posted on the pulsar-site repo https://github.com/apache/pulsar-site/issues/146.

github-actions[bot] commented 2 years ago

The issue had no activity for 30 days, mark with Stale label.

tisonkun commented 2 years ago

This issue can be closed by https://github.com/apache/pulsar/pull/17010.

For further improvement, I notice that @momo-jun create a draft proposal #17098 which can supersede this one.

@dave2wave @Anonymitaet please help close this issue :)

Anonymitaet commented 2 years ago

@tisonkun does it make sense to add last commit time to show client's vitality? image

hpvd commented 2 years ago

There is an other issue in this field:

[Doc] (before: Add) list of 3rd party pulsar clients -> Make it findable #17113

https://github.com/apache/pulsar/issues/17113#issuecomment-1216517393

tisonkun commented 2 years ago

@Anonymitaet I'm glad to review a patch with its preview. But if you ask me to implement it, perhaps I'll try to take it later this month. FYI, there're some predefined "GitHub badges" you can use - search with the keyword.

~What if we create a new issue to track this dedicated topic? I don't think it's good we discuss everything about "Optimize Third-Party Client Matrix Page" under this issue without a clear boundary. Open-ended discussions should go to Discussions or mailing lists.~

Well. I see that it's included in the original proposal. It can be helpful. But we don't add too much information to overwhelm users' attention further. (I mean, add one column can be fine, but if we later propose to add more and more columns, it may be bad.)

tisonkun commented 2 years ago

I'm going to replace the "Star" column with a "Badges" column to show badges including stars and last commit. Will investigate a patch by next week.