Hi everyone,

Right now we keep all of the language implementations in SVN together and release everything in a single source release, which I think is getting a little awkward for releases. I'd like to discuss the idea of separating some of the languages out on their own and moving to Apache git servers instead of SVN.

The motivation for separating languages out is to allow quicker releases that aren't blocked on problems in other languages. For example, we recently found license documentation issues through most of the codebase. That's currently blocking the global 1.8.0 release until we have time to figure out how to fix the LICENSE and NOTICE included in each convenience binary artifact. That, in turn, is blocking downstream projects like parquet-avro that would like to depend on features in 1.8.0.

We're also seeing an influx of new implementations: Microsoft has pinged the issue to donate their C# implementation, Miki Tebeka is interested in merging fastavro, and Matthieu Monsch has kindly offered a fast node-js implementation as well. These are great for expanding the community and I want to make sure these new projects aren't blocked when they are used to a faster release cycle.

I propose we allow implementations to use separate repositories, like avro-python or avro-java, and to make separate releases. This would allow some languages to have more agile release cycles and would allow us to version APIs more effectively, using semver for each language and fixing format compatibility at version 1.

Thoughts and discussion?

rb


--
Ryan Blue

Reply via email to