Keep in mind, if this is done outside of Apache, you cannot call it avro-php.  
You will need to find a name that does not use Apache trademarks and would not 
cause confusion with people trying to find the official Avro PHP builds and 
such that are supplied by Apache. 

Dan



> On Dec 21, 2018, at 11:16 PM, Gildas Quéméner <[email protected]> 
> wrote:
> 
> Hello,
> 
> Thanks for your answer.
> 
> After giving a little bit more time to think about this situation, we've
> decided to rewrite the php implementation of the avro library (keeping it
> open sourced).
> We're doing the development on this repository:
> https://gitlab.com/Jaumo/avro-php/merge_requests/1.
> 
> Let's see what we decide to do when we reach a correct level of
> specification coverage (The rewrite relis on the 1.8.2 version).
> 
> The current plan is, besides taking care of the few issues pointed in my
> first mail, to have the schema (de)serialization (from/to json), data
> (de)serialization (from/to avro) and protocol implementation at the end of
> January 2019.
> 
> Any contribution/review is very welcome!
> 
> I'm off now until January 7th, enjoy the rest of the year!
> 
> Best regards.
> 
> *Gildas Quéméner*
> 
> 
> On Thu, Dec 20, 2018 at 6:37 PM Driesprong, Fokko <[email protected]>
> wrote:
> 
>> Hi Gildas,
>> 
>> This would be very welcome. Currently, I'm working on getting the CI to
>> work with a newer base image <https://github.com/apache/avro/pull/390>.
>> But
>> the tests only pass against a specific version of PHP 5.6. Let me know if
>> there is anything that I can do.
>> 
>> You could use git blame
>> <https://github.com/apache/avro/blame/master/lang/php/lib/avro.php> to
>> check who worked on the PHP stuff, but most of it has been migrated from
>> SVN so a lot of history is lost. If you feel confident in taking ownership
>> of the PHP, please do! :-)
>> 
>> Cheers, Fokko
>> 
>> Op di 18 dec. 2018 om 17:26 schreef Gildas Quéméner <
>> [email protected]>:
>> 
>>> Hello Daniel,
>>> 
>>> Thanks for your answer.
>>> 
>>> I will prepare a pull request in the next days (basically more or less
>> with
>>> the content of https://gitlab.com/Jaumo/avro-php/).
>>> 
>>> The most important things to do in order to make this package usable by
>> any
>>> php projects out there is:
>>> 
>>> 1) To synchronize a separate read-only repository with the content of
>>> https://github.com/apache/avro/tree/master/lang/php/lib (I'm looking at
>>> various solution to do so) => required by 3).
>>> 2) To setup a serious CI/CD pipeline which jobs will be to run the tests
>>> (against several php environments), check the code consistency and
>>> synchronize the read only repository.
>>> 3) To register the php package on packagist.org
>>> 
>>> I would gladly take responsibility for these actions as I have experience
>>> in this area and will directly benefit from them.
>>> 
>>> Problem is that this would require some administrative permission on the
>>> org/repository and I would probably need a referent at the ASF to know
>> how
>>> things are done in your organization.
>>> Is there already someone in charge of the PHP implementation I could
>>> contact directly?
>>> If you have some apply process to become an official maintainer as well,
>>> please let me know.
>>> 
>>> Cheers.
>>> 
>>> *Gildas Quéméner*
>>> 
>>> 
>>> On Tue, Dec 18, 2018 at 8:11 PM Daniel Kulp <[email protected]> wrote:
>>> 
>>>> We would definitely welcome any php contributions.   If you have any
>>>> specific fixes or updates or anything, PR’s would be more than welcome.
>>>> It would be great if someone with some PHP expertise could take some
>>>> ownership in collecting various fixes/enhancements from various
>> locations
>>>> and getting pull requests submitted for review.   That would be
>> awesome.
>>>> 
>>>> At this point, we won’t be splitting out the various languages to
>>> separate
>>>> repositories.   We have discussed it in the past and we MAY do it in
>> the
>>>> future, but right now we’re trying to concentrate on getting 1.9 out
>> (and
>>>> then likely a patch or two follow up) and splitting the repo right now
>>>> would be too disruptive to that process.
>>>> 
>>>> 
>>>> Dan
>>>> 
>>>> 
>>>>> On Dec 18, 2018, at 1:26 AM, Gildas Quéméner <
>>> [email protected]>
>>>> wrote:
>>>>> 
>>>>> 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*
>>>> 
>>>> --
>>>> Daniel Kulp
>>>> [email protected] <mailto:[email protected]> - http://dankulp.com/blog <
>>>> http://dankulp.com/blog>
>>>> Talend Community Coder - http://talend.com <http://coders.talend.com/>
>>>> 
>>> 
>> 

-- 
Daniel Kulp
[email protected] <mailto:[email protected]> - http://dankulp.com/blog 
<http://dankulp.com/blog>
Talend Community Coder - http://talend.com <http://coders.talend.com/>

Reply via email to