twitter / finagle

A fault tolerant, protocol-agnostic RPC system
https://twitter.github.io/finagle
Apache License 2.0
8.79k stars 1.46k forks source link

Is Finagle still maintained? #943

Open kiesia-sc opened 1 year ago

kiesia-sc commented 1 year ago

Hi folks 👋 is this project still maintained? I see some housekeeping commits, but will you be actively developing new features?

xin301x commented 1 year ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

felixbr commented 1 year ago

I think the answer at this point is no, at least not publicly on github.

The bigger question is if we should try to fork and maintain the open-source version of Finagle separately going forward. By "we" I mean companies and people that still use Finagle for production deployments and have no immediate interest in replacing it with a different solution anytime soon.

Finagle is still a very robust framework and I haven't seen many alternatives that have the same features or reliability.

I would offer some of my time to keep basic maintenance up (like Scala versions, newer JDK versions, security updates). But I cannot do everything alone as this is a big project and a bus factor of 1 is always bad. My hope would be that devs from other companies which use Finagle will share the responsibility in a collaboration effort.

I'm tagging some people I've had the pleasure to collaborate with on Finagle and related projects in the past who might also still use Finagle and have some thoughts on this: @martijnhoekstra @pjfanning @bpholt @dangerousben

Cheers

pjfanning commented 1 year ago

After spending nearly a year on Apache Pekko - a fork of Akka (due Akka's license change) - I'm not super anxious to get involved in another large fork.

If a Finagle fork is done, would you expect to soon have to fork other Twitter repos like the twitter/util project?

If X/Twitter were amenable and a small community could be formed, it may be feasible to get the code granted to the ASF and a new Incubator podling formed. I am a member of the Apache Incubator PMC and could help with this transfer. In the absence of X/Twitter granting the code to the ASF, it would be difficult to proceed on the ASF route. It would possibly be easier for someone to just fork FInagle themselves and try making a few releases under their own Maven groupId.

felixbr commented 1 year ago

@pjfanning A fork would include twitter/util (as that's the basis for finagle), twitter/finagle, and possibly twitter-server. Of course, I wouldn't expect someone to maintain things they don't use themselves.

I don't think X/Twitter will help in any way, as they haven't even communicated their departure from open-source nor updated the "Status" in readme files. So I expect a fork to be made without their approval or help under a new groupId.

dangerousben commented 1 year ago

I would offer some of my time to keep basic maintenance up (like Scala versions, newer JDK versions, security updates). But I cannot do everything alone as this is a big project and a bus factor of 1 is always bad. My hope would be that devs from other companies which use Finagle will share the responsibility in a collaboration effort.

I'm tagging some people I've had the pleasure to collaborate with on Finagle and related projects in the past who might also still use Finagle and have some thoughts on this: @martijnhoekstra @pjfanning @bpholt @dangerousben

I'm afraid I'll have to regretfully decline: I'm not currently using scala at work and don't have the free time for a side project of this nature.

FWIW, although I'm a bit out of the loop, if I were to start a large scala server project today I'd probably start by looking at the typelevel stack. It's nowhere near as 'batteries included' as finagle, but I believe there are enough third-party additions to bring it up to feature parity. I couldn't comment on performance, but then who can?

I realise this is no help whatsoever to those maintaining large existing finagle codebases. Hopefully there are enough people in that position to at least continue basic maintenance.

felixbr commented 1 year ago

I'm afraid I'll have to regretfully decline: I'm not currently using scala at work and don't have the free time for a side project of this nature.

@dangerousben That's perfectly fine. I'm just asking to see who else is using Finagle in a similar situation. If you don't even use Scala currently then this isn't your concern at all and I apologize for tagging you.

Your assertion of the typelevel stack is spot on and we're already using it heavily in many projects (with and without Finagle).

bpholt commented 1 year ago

I would offer some of my time to keep basic maintenance up (like https://github.com/twitter/util/issues/274, newer JDK versions, security updates). But I cannot do everything alone as this is a big project and a bus factor of 1 is always bad. My hope would be that devs from other companies which use Finagle will share the responsibility in a collaboration effort.

I should be able to help with this kind of basic maintenance, at least for a while, but I can't spend a ton of time on it. My company uses Thrift Finagle, but we've been moving to the Typelevel stack for new applications, and this has sparked conversations about accelerating the transition for existing apps as well.

I'm hoping I'll get some time to work on Scalafix rules or other techniques to make that migration easier. We have the advantage that we never adopted the changes the Scrooge team made to remove the effect parameter in the generated interfaces—in fact, I wrote Scalafix rules to re-introduce the higher kinded type parameter into the generated traits that extend ThriftService.

Actually, that reminds me that IMO twitter/scrooge should also be included in the list of repos to fork.

DieBauer commented 1 year ago

I see more movement here and at twitter/util. @mattdickinson5 do you know what the plans are with open-source Finagle and Util? Can we expect a release, or multiple in the future?

martijnhoekstra commented 1 year ago

My company doesn't use any of the twitter stack, my main interest in keeping up updated before was more of a testbed for scala releases themselves, because it exercises a large part of the stack. If you need any concrete help with anything, I'm happy to take a look, but won't have capacity to coordinate anything.

csaltos commented 8 months ago

Meanwhile at Twitter, the development department released version "23.11.0" and they are scheduling to launch version "24.2.0" soon.

Certainly Twitter is not releasing versions at a fast an massive rate as before but Finagle is not dead ... Scala and Finagle are the main backbone of Twitter for the backend and they have to keep it alive even at a slow pace.

Additionally Finagle is a mature product, it has a lot of features already a lot of hours of work and it's really good, we use it at my company and is very very fast and performant and more over that you can reason about it ... so to be pragmatic, Finagle at this point does not require a crazy development with releases every week, it's a pity Elon Musk decided to cut resources at Twitter but, again, Finagle has to be kept alive for Twitter be alive.

niodice commented 7 months ago

Meanwhile at Twitter, the development department released version "23.11.0" and they are scheduling to launch version "24.2.0" soon.

@csaltos, is this information stated publicly anywhere?