Hello, We've been working for a few months on using Avro encoded messages between our services in my company.
Our backend heavily relies on PHP, whereas some orbiting services are written in Java/Kotlin/Python. At first glance, the lake of official support for PHP looked like a big no-go for us. I know that there is an official library, embedded in the avro library at https://github.com/apache/avro/tree/master/lang/php/lib. However this library suffers from blocking issues: - It is not available through the de facto standard Composer dependency manager - It is not tested - It does not rely on autoloading PSR - It uses global namespace - It uses unknown php functions - It lacks some spec features (support for logicalType attribute for instance) - It is buggy Despite these issues, latest commit is 1 year old (about a typo), and the one before that is almost 3 years old. Thus, I think it is safe to say that this library is not maintained anymore. Many organizations have realized such issue and have created their own fork of the library, none of them being thoroughly maintained and having the same level of bug fixing. Here are a few examples: - https://github.com/wikimedia/avro-php - https://github.com/flix-tech/avro-php - https://github.com/researchgate/avro-php - https://gitlab.com/Jaumo/avro-php (I am the maintainer of this one) I have tried to contribute to Wikimedia's fork, but they also seem to have dropped support (see activity in https://gerrit.wikimedia.org/r/q/status:open+project:avro-php). The awesome thing is that they have brought a test suite (that we are reusing in our fork)! Flix-tech is doing an awesome job at providing a Schema Registry API client as well as an Avro Serializer/Deserializer using their Schema Registry client. There are great initiatives out there to modernize this library, but none of them trully gather the focus of the many maintainers, scattered through private organizations. I think it is time to give avro-php some love and I would like to help in this matter. My feeling is that the first step should be to open a separate git repository under the hood of the ASF organization. This could either be done through an automatic subtree of https://github.com/apache/avro/tree/master/lang/php/lib to a read-only repository (as Symfony is doing), in order to register it on packagist.org or through the opening of a separate read/write repository (and the removal of the lib from the avro lib repository). Second step is to communicate, directly by contacting fork maintainers annoucing the good news, and through ASF official communication vectors (thinking about ML, Twitter, ...). The goal being to bring back all the PHP avro user to an official implementation of the library. Thank you very much for your answer, And I wish you all fantastic time within friends and family for the end of the year. Best Regards. *Gildas Quéméner*
