laimis commented on issue #793:
URL: https://github.com/apache/lucenenet/issues/793#issuecomment-1635760651

   I had to go on a month+ trip but back now. I haven't heard much from 
@NightOwl888 recently, he must be busy with some other commitments. The last 
piece of work I pushed before taking off was this #852 . It's not entirely 
clear if I can pull into main what we have there or if Shad was considering 
more changes to the approach.
   
   Having re-familiarized myself with the project and talking with Shad more 
about why it's been difficult to make a production release, I think I can give 
this explanation for it:
   
   - The goal for the Lucene.NET is to have production releases map one-to-one 
to Lucene releases as much as possible. It makes sense. We want people that 
find java docs or examples online for 4.8.1 version to be compatible with .NET 
version with minor language based tweaks. The API surface and functionality 
should remain the same. We do break API equivalency here and there, but we try 
to do so as little as possible.
   
   The difficulty lies in what to do if we release 4.8.1 and find a bug. OK, we 
make a patch release, 4.8.2 that fixes that bug. But now, Java Lucene does not 
have 4.8.2 version. Worse, what if the issue we discover requires a change 
that's a breaking change, and we in theory would increment the minor version, 
end up with 4.9.x release which would have API/changes that are not compatible 
with Java Lucene 4.9.x releases that exist. And with fixes to those we would 
have releases that don't exist in Java world once again, e.g. 4.9.3.
   
   And I think that's the main issue why Shad has been extremely careful and 
reluctant to do production releases of the project. We know that bugs are 
lurking in the code base, but with each pass they are more and more difficult 
to find, and we can't guarantee that 4.8.1 we release will not require changes.
   
   A careful discussion and consideration is needed here, but one way forward 
would be to come as a group with the remaining committers that still at least 
chime in and perhaps draw a line in the sand and say ok, 4.8.1 prod release we 
are making attempts to be as close as possible to Lucene 4.8.1 release. All 
releases going forward from that will attempt to stay close at the "major" 
version but all the minor/patch releases can and will deviate greatly.
   
   I am not proposing this lightly, but it does seem to offer some sort of way 
forward with making a production release and potentially allowing for a more 
frequent prod update cadence without keeping ourselves accountable for those 
versions to be one-to-one mapped to Java world.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to