Just pitching in here that this is super important for us, as we are moving 
from WCF to gRPC specifically to allow gradual movement from legacy .NET to 
NET5+. I considered screaming loudly during the initial announcement, but 
apparently other people did that for me in the meantime ;).

After the maintenance period ends, it would be good to retain a way to make 
a release, in case there are some emergency changes that need to go in (and 
can be done without much effort). Or, there should be a natural way for 
people to make the builds on their own build machines if they need to use a 
self-patched version in their products. 

On Tuesday, May 3, 2022 at 12:25:07 PM UTC+3 Jan Tattermusch wrote:

> Hello gRPC C# Users!
>
> In May 2021 we announced <https://grpc.io/blog/grpc-csharp-future/> that 
> Grpc.Core (the original C# implementation of gRPC) became "maintenance 
> only" and that grpc-dotnet will be the recommended implementation going 
> forward. We also announced that Grpc.Core will become deprecated in the 
> future.
>
> While all the above is still the plan, we are making some adjustments 
> based on the user feedback we received. We also wanted to publish more 
> details about the plan and its technical execution. All the important 
> updates are summarized in the following sections of this announcement.
> Grpc.Core maintenance period will be extended by 1 more year (until May 
> 2023)
>
> Originally we planned to deprecate the Grpc.Core implementation in May 
> 2022, but the feedback we received from users has indicated that extending 
> the maintenance period would make sense. Without going too much into the 
> details, the main points of the feedback can be summarized as:
>
>    - 
>    
>    The main blocker for deprecating Grpc.Core is the lack of support of 
>    the legacy .NET Framework in grpc-dotnet. The desire to migrate off the 
>    legacy .NET framework is often there, but migrating workloads from .NET 
>    Framework to .NET Core / .NET 6 simply takes time and effort.
>    - 
>    
>    Grpc.Core is a very important technology for enabling migration off 
>    .NET Framework (since it enables piece-by-piece migration by 
>    interconnecting components on newer .NET platforms with components that 
>    remain on .NET Framework), so supporting it for a little longer can 
>    (somewhat paradoxically) help users migrate off it faster.
>    
>
> As a result, we are delaying the deprecation of Grpc.Core until May 2023 
> (1 year from now, and 2 years after the original announcement). Until 
> then, Grpc.Core will remain to be supported in the "maintenance mode", as 
> described below.
>
> Since the plan to deprecate Grpc.Core has been now publicly known for a 
> while and since the main reason we are extending the maintenance period is 
> to deal with the issues related to the legacy .NET Framework (and migration 
> off it), we also want to clarify what exactly will be covered by the 
> "Grpc.Core maintenance" going forward:
>
>    - 
>    
>    The main goal of keeping Grpc.Core alive is to maintain the ability to 
>    run gRPC C# clients and servers on the legacy .NET Framework on Windows. 
>    This will be taken into account when considering issues / fixes.
>    - 
>    
>    We will only provide critical and security fixes going forward. This 
>    is to minimize the maintenance costs and reflects the fact that 
> grpc-dotnet 
>    is the recommended implementation to use.
>    - 
>    
>    There will be no new features for Grpc.Core. Note that since Grpc.Core 
>    is moving to a maintenance branch (see section below), there will also be 
>    no new features coming from the native C-core layer.
>    - 
>    
>    There will be no new platform support and portability work. The focus 
>    will be on continuing support for the legacy .NET Framework on Windows 
>    (where there is no alternative implementation to use) and the list of 
>    supported platforms will not be expanded (e.g. we will not work towards 
>    better support for Unity, Xamarin, Alpine Linux etc.). We will likely drop 
>    support for platforms that have been so far considered as "experimental"  
>    (e.g. Unity and Xamarin), since they are also hard to test and maintain.
>    - 
>    
>    Work to support new .NET versions (.NET6, NET 7, …) will be kept to a 
>    minimum (or not done at all) since those .NET versions fully support 
>    grpc-dotnet.
>    - 
>    
>    No more performance work: Since the main purpose of Grpc.Core is to 
>    maintain interoperability with legacy .NET framework, there will be less 
>    focus on performance. We do not expect any significant performance drops, 
>    but performance may degrade over time if tradeoffs between performance vs 
>    maintainability are needed.
>    
>
> Grpc.Core moves to a maintenance branch in the grpc/grpc repository (while 
> other actively developed packages move to grpc/grpc-dotnet repository)
>
> To simplify the maintenance of Grpc.Core, we decided to move the the 
> Grpc.Core implementation to a maintenance branch (v1.46.x 
> <https://github.com/grpc/grpc/tree/v1.46.x> on the grpc/grpc repository), 
> where it will continue to receive security and critical fixes, but will not 
> be slowing down the development of the native C-core library it is based on 
> (it will be based on a maintenance version of C-core in the same branch).
>
> Since originally the grpc/grpc <https://github.com/grpc/grpc> repository 
> was a home to more NuGet packages than just Grpc.Core, we are actually 
> doing a split: Grpc.Core and the related packages (e.g. Grpc, Grpc.Core, 
> Grpc.Core.Testing, Grpc.Core.NativeDebug, ...) will be moved to the 
> maintenance branch, while other packages (Grpc.Core.Api, Grpc.Auth, 
> Grpc.HealthCheck, Grpc.Reflection and eventually also Grpc.Tools) will be 
> moved to the grpc/grpc-dotnet <https://github.com/grpc/grpc-dotnet> 
> repository where there will continue to be developed. This technical 
> solution will ensure that Grpc.Core stays stable and maintainable and the 
> other packages that are also used by grpc-dotnet will have a new home going 
> forward and can continue to evolve (and they will already be in the right 
> place once Grpc.Core actually goes out of support in the future).
>
> More details about the solution we chose can be found in the csharp's 
> README <https://github.com/grpc/grpc/blob/master/src/csharp/README.md>.
>
> Feel free to reply to this announcement with follow up questions and 
> requests for clarification. For major issues connected to the 
> migration/deprecation plan, you can file an issue on github as usual.
>
> On behalf of the gRPC team,
>
> Jan
> -- 
>
> Jan Tattermusch
>
> Software Engineer
>
>
> Google Germany GmbH
>
> Erika-Mann-Straße 33
>
> 80636 München
>
> Geschäftsführer: Paul Manicle, Liana Sebastian
>
> Registergericht und -nummer: Hamburg, HRB 86891
>
> Sitz der Gesellschaft: Hamburg
>
> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten 
> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, 
> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, 
> dass die E-Mail an die falsche Person gesendet wurde. 
>
>     
>
> This e-mail is confidential. If you received this communication by 
> mistake, please don't forward it to anyone else, please erase all copies 
> and attachments, and please let me know that it has gone to the wrong 
> person.
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/19e50173-fb04-4879-a8df-5408cba50c7an%40googlegroups.com.

Reply via email to