You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Are these libraries still under development? #1822
I've been using Rx.NET (and Ix.NET in some projects) since 2014 and really like the programming model. But the last commit here was around 2 years ago. Current issues are discussed among users, pull requests seem to not get merged anymore. And the milestones are all overdue a long time now. I've also not really seen usage of the reactive extensions in other Microsoft products. So is it still being developed? Would you still use it in new projects or is it safer to try to adapt a different programming style, like System.Threading.Channels or plain async/await and IAsyncEnumerable?
I'm not here to troll. I'm genuinely concerned that the library is slowly being abandoned/already has been silently. But I've also just taken a look at this repo now and am a bit concerned by its state.
Reacted by Theodor Zoulias, Ken Okabe, Manuel Rinnhofer, Jason Weinzierl, Laurent Kempé, kronic and George Tsiokos
I think the usual dilemma of OSS ("why isn't this project maintained") only partially applies here, because this repo in particular
originated from within Microsoft
is under the dotnet foundation umbrella and
mentions a "core team" on it's readme (which - disclaimer - I was included in)
and so might give the impression that there is a number of people (maybe even perceived to be with Microsoft) maintaining Rx (possibly even as part of their day jobs).
But there is not.
The last major activity was around 2018/2019 when @ghuntley managed to gather some people around who subsequently did some major rewrites of the Rx operators towards performance and memory-consumption. Occasionally, bugs were fixed and pull requests merged. Requests for new operators were and are usually referred to @akarnokd's extension library. I cannot speak for other contributors, but my efforts were mostly done on company time because we had a major interest in performance gains and lower memory pressure. We met the objective, that's when my efforts in OSS moved on (again, I don't know about anybody else).
This is open source software. If there is concern about the future of this project I'd kindly ask anybody who is serious about this to step up. If anybody would like to volunteer, I'd suggest they ping @clairernovotny and ask for write-access. Although I do have write access to this repo, I wouldn't want to make the decision of onboarding new maintainers solely by myself.
As for Rx.Async: AFAIK the code is clean and pretty and functional, but there's no unit tests. Unfortunately, no unit tests no release.
Reacted by Stefan Reichel, glopesdev, Theodor Zoulias, Roland Pheasant, MatejH and Laurent Kempé
I did my contributions back in the day too but I haven't done anything since for two reasons: 1) I have zero understanding of the .NET infrastructure behind the project, 2) there seems to be no one left to make decisions about features. So when I rarely need something Rx.NET, I do it myself in my own project.
Reacted by Stefan Reichel, glopesdev and Theodor Zoulias
Thanks all for your answers! If I understand it correctly, there is still interest in keeping this project alive by a number of people (measured by the open issues and pull requests) but not really a dedicated team behind it any more and not many contenders to step up and take it over? That's a pity, but the way of a lot of OSS projects. I suggest, to make an announcement to archive this project beginning next year if no new maintainers come up until then so that people know that this is not going to be developed any further. Also looks like I have to rewrite a number of code bases in the future and rip this library out :/
I don't agree that a project, like Rx, should be archived once active development ceases. I also don't agree that Rx should be 'ripped' out of code bases. The concept of Rx.NET (and reactive programming in general) is still valid and powerful, the implementation is extensive, performant, the operators match those of LINQ (AFAIK) and it's reasonably bug free.
Reacted by Geoffrey Huntley, Luka Maljic, glopesdev and Laurent Kempé
I suggest, to make an announcement to archive this project beginning next year if no new maintainers come up until then so that people know that this is not going to be developed any further.
Disagree.
Also looks like I have to rewrite a number of code bases in the future and rip this library out :/
Alternatively you could step up and help?
Reacted by Daniel Weber, glopesdev, Roland Pheasant and Matthias Koch
And what is the alternative if we drop RX? there is nothing similar, RX is more like a programming model as you mentioned than a lib. As far as updates, note they come with pain. So, unless they give me crypto for free is really hard to update and risk changing the behviour of my systems.
I fell in love with RX because it allowed me to model systems as networks
of asynchronous event streams. I thought it was a wonderful abstraction.
Is Apostolis correct that there is nothing similar? If there is, can
someone give me a pointer? Thanks.
@danielcweber@akarnokd first of all, I want to say thank you so much for your careful steering of Rx in the last few years. Rx has remained critical for the infrastructure behind our visual programming language for 10+ years, and this will not change, so like last time I will always be happy to step up as a contender for maintainer if no one better suited is interested in taking up the mantle, so we can resolve the issue that no one is available to offer dedicated maintenance.
I agree there is nothing like it, and several other projects depend on it. However it does look like it is going to potentially go through cycles of maintainer renewal, as happened in the past. Maybe it is time to write down some guidelines and criteria on the expectations for releases and maintainers?
Reacted by Theodor Zoulias, Stefan Reichel, MatejH, Laurent Kempé, sleekflowleochoi, David Au and Bruno Juchli
I'd also like to thank all the contributors for their hard work over the years. Rx has been a great way to model libraries and applications. Regarding stepping up as maintainer I - personally - just do not have the free time and mental resources to be a maintainer for any project anytime soon. I suggested to publicly archive this repo to signify that active development has ceased, as it clearly seems that way and is the de-facto standard to convey this info on Github. So that people don't open issues or PRs because they think it's still being actively maintained. Read the open issues: There are several where people gave up frustratedly because they don't get feedback from maintainers or their PRs just hang around, because they get the impression that this is a live project. Making this a public archive would be the honest way in MY opinion. That would also not mean that the project has become unusable, just that there is no active development anymore. Technology progresses quite fast in the .NET realm these days and Rx will become stale one day. I won't "rip it out" anytime soon, sorry for the problematic language there. But knowing the current state I will probably not implement it in new projects anymore and look for other solutions.
At least post an announcement (pinned issue) that this project is not being actively developed anymore and that you are looking for people who want to get into that role. Might get to the right people and find you some capable volunteers. And it would convey the info that PRs and issues might not be answered. It would just be honest to the community.
Reacted by Stefan Reichel, glopesdev, Theodor Zoulias, Luka Maljic, Roland Pheasant, Manuel Rinnhofer, Kevin Gallahan, MatejH, Laurent Kempé, Avi Levin and 2 more
Activity
HowardvanRooijen commentedon Oct 20, 2022
On IAsyncEnumerable - have you seen this video? Supporting IAsyncEnumerable with LINQ - https://www.youtube.com/watch?v=Ktl8K2b1-WU
TPL DataFlow is also a great thing to investigate and it interops with Rx very nicely.
danielcweber commentedon Oct 20, 2022
I think the usual dilemma of OSS ("why isn't this project maintained") only partially applies here, because this repo in particular
and so might give the impression that there is a number of people (maybe even perceived to be with Microsoft) maintaining Rx (possibly even as part of their day jobs).
But there is not.
The last major activity was around 2018/2019 when @ghuntley managed to gather some people around who subsequently did some major rewrites of the Rx operators towards performance and memory-consumption. Occasionally, bugs were fixed and pull requests merged. Requests for new operators were and are usually referred to @akarnokd's extension library. I cannot speak for other contributors, but my efforts were mostly done on company time because we had a major interest in performance gains and lower memory pressure. We met the objective, that's when my efforts in OSS moved on (again, I don't know about anybody else).
This is open source software. If there is concern about the future of this project I'd kindly ask anybody who is serious about this to step up. If anybody would like to volunteer, I'd suggest they ping @clairernovotny and ask for write-access. Although I do have write access to this repo, I wouldn't want to make the decision of onboarding new maintainers solely by myself.
As for Rx.Async: AFAIK the code is clean and pretty and functional, but there's no unit tests. Unfortunately, no unit tests no release.
akarnokd commentedon Oct 20, 2022
I did my contributions back in the day too but I haven't done anything since for two reasons: 1) I have zero understanding of the .NET infrastructure behind the project, 2) there seems to be no one left to make decisions about features. So when I rarely need something Rx.NET, I do it myself in my own project.
Bomret commentedon Oct 20, 2022
Thanks all for your answers! If I understand it correctly, there is still interest in keeping this project alive by a number of people (measured by the open issues and pull requests) but not really a dedicated team behind it any more and not many contenders to step up and take it over? That's a pity, but the way of a lot of OSS projects. I suggest, to make an announcement to archive this project beginning next year if no new maintainers come up until then so that people know that this is not going to be developed any further. Also looks like I have to rewrite a number of code bases in the future and rip this library out :/
danielcweber commentedon Oct 20, 2022
I don't agree that a project, like Rx, should be archived once active development ceases. I also don't agree that Rx should be 'ripped' out of code bases. The concept of Rx.NET (and reactive programming in general) is still valid and powerful, the implementation is extensive, performant, the operators match those of LINQ (AFAIK) and it's reasonably bug free.
ghuntley commentedon Oct 20, 2022
Disagree.
Alternatively you could step up and help?
apobekiaris commentedon Oct 20, 2022
And what is the alternative if we drop RX? there is nothing similar, RX is more like a programming model as you mentioned than a lib. As far as updates, note they come with pain. So, unless they give me crypto for free is really hard to update and risk changing the behviour of my systems.
daveposn commentedon Oct 20, 2022
glopesdev commentedon Oct 20, 2022
@danielcweber @akarnokd first of all, I want to say thank you so much for your careful steering of Rx in the last few years. Rx has remained critical for the infrastructure behind our visual programming language for 10+ years, and this will not change, so like last time I will always be happy to step up as a contender for maintainer if no one better suited is interested in taking up the mantle, so we can resolve the issue that no one is available to offer dedicated maintenance.
I agree there is nothing like it, and several other projects depend on it. However it does look like it is going to potentially go through cycles of maintainer renewal, as happened in the past. Maybe it is time to write down some guidelines and criteria on the expectations for releases and maintainers?
daveposn commentedon Oct 20, 2022
Bomret commentedon Oct 22, 2022
I'd also like to thank all the contributors for their hard work over the years. Rx has been a great way to model libraries and applications. Regarding stepping up as maintainer I - personally - just do not have the free time and mental resources to be a maintainer for any project anytime soon. I suggested to publicly archive this repo to signify that active development has ceased, as it clearly seems that way and is the de-facto standard to convey this info on Github. So that people don't open issues or PRs because they think it's still being actively maintained. Read the open issues: There are several where people gave up frustratedly because they don't get feedback from maintainers or their PRs just hang around, because they get the impression that this is a live project. Making this a public archive would be the honest way in MY opinion. That would also not mean that the project has become unusable, just that there is no active development anymore. Technology progresses quite fast in the .NET realm these days and Rx will become stale one day. I won't "rip it out" anytime soon, sorry for the problematic language there. But knowing the current state I will probably not implement it in new projects anymore and look for other solutions.
At least post an announcement (pinned issue) that this project is not being actively developed anymore and that you are looking for people who want to get into that role. Might get to the right people and find you some capable volunteers. And it would convey the info that PRs and issues might not be answered. It would just be honest to the community.
ghuntley commentedon Oct 23, 2022
Update: new maintainers incoming dotnet-foundation/projects#229 (comment)
Bomret commentedon Oct 23, 2022
This is so great to hear! Thanks @HowardvanRooijen and others! I'm closing this issue now.
HowardvanRooijen commentedon Feb 8, 2023
Please see #1868 for the current high level plan.