Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is NSwag officially dead? #4884

Open
euroUK opened this issue May 7, 2024 · 17 comments
Open

Is NSwag officially dead? #4884

euroUK opened this issue May 7, 2024 · 17 comments

Comments

@euroUK
Copy link

euroUK commented May 7, 2024

Sorry if it sounds a little bit sad, but can we now assume that project is officially dead?

There were breaking changes in v14 so half of generation schemas not working:

typesToOpenApi
webApiToOpenApi

#4524

So there are several issues like #4731 or #4659 where users trying to migrate and get huge problems ike PC hanging since the start of the year.

There is issue #4404 from that but there is no responce from March.

In my company we had pipeline with typesToOpenApi because we have shared models in separate solution and right now I don't see any easy solutions to migrate to .Net 8.

For me now I'm going to write my own generator because there is no even timeline to fix those problems.

@MoonStorm
Copy link

MoonStorm commented May 8, 2024

It looks like it. The list of open issues keeps on growing, same as the pull requests nobody's looking at. The generator is filled with hundreds of options which amazingly don't solve basic problems (e.g. #3851). We've been running serialization workarounds for years. V13 already had plenty of issues before V14 came along to add even more salt to the wounds. Casing is now all over the place, unwanted or improper validations are still here to stay. It's all a big mess. In my opinion, a reboot of this project, definitely with better stewards, is definitely needed at this point.

@SebastianStehle
Copy link
Contributor

I would say that Nswag is a little bit too complex.

But I am also tired about the complains in Open Source all the time. Rico has probably generated Millions in value already and there are very little commits from other developers and large Organizations.

@lahma
Copy link
Collaborator

lahma commented May 9, 2024

Latest release is from March so I wouldn't jump to conclusions about project being dead. I think it's lovely that both @euroUK and @MoonStorm are complaining about issues and I fail to see any actual contributions from you. You surely are already getting your money's worth.

@MoonStorm
Copy link

MoonStorm commented May 9, 2024

Latest release is from March so I wouldn't jump to conclusions about project being dead. I think it's lovely that both @euroUK and @MoonStorm are complaining about issues and I fail to see any actual contributions from you. You surely are already getting your money's worth.

I'm sorry I couldn't find the time to understand and contribute to the project, but there are close to 100 contributions already waiting to be triaged and integrated into the code base. Many of them are years old already and the older they get, the more difficult it is to integrate them. This project needs better stewardship.

@SebastianStehle
Copy link
Contributor

Fair point. I would also close everything before 2023. Nobody is ever going to close these issues anyway.

@lahma
Copy link
Collaborator

lahma commented May 9, 2024

Please also consider the burden from the PRs. They are made with best intentions, but they require review (time away from your life) and also they come with a risk. There have been some regressions recently based on improvements that have had ill-effects on other areas - the possible combinations of usage scenarios is mind-blowing.

So when you ask to merge/propose a PR to close an issue the end result might be 10 more issues being opened because something else is now broken. By merging a well-intentioned PR you might spent time trying to fix and release a new version (hopefully) fixing regressions and not breaking anything more.

Of course there are "easy" ones that (at least) seem like no-brainers, but they take effort.

@MoonStorm
Copy link

That's very true. You do need time to approve/reject/adjust PRs. Many of them might target a very specific case that might not be in line with the path the project is supposed to be on. Reason why for example we have a million different options in the code generation, many of them overlapping on not solving basic issues.

But here lies the problem as well. You can't ask for contributions if you don't even have the people or the time to get them sorted. A project where you have the volunteers who offer their work but you don't have time to manage them is pretty much a dead project.

@lahma
Copy link
Collaborator

lahma commented May 9, 2024

That's very true. You do need time to approve/reject/adjust PRs. Many of them might target a very specific case that might not be in line with the path the project is supposed to be on. Reason why for example we have a million different options in the code generation, many of them overlapping on not solving basic issues.

But here lies the problem as well. You can't ask for contributions if you don't even have the people or the time to get them sorted. A project where you have the volunteers who offer their work but you don't have time to manage them is pretty much a dead project.

Do you have plans on starting a similar project with management that fills your expectations? I think there would be plentiful of people consuming it and creating a backlog for you to work on (please make it free).

@MoonStorm
Copy link

MoonStorm commented May 9, 2024

No. But I hope somebody will soon. Even now I'm staring at a freshly new generated set of DTOs, where several of them were generated with a small case name, in C#, with the compiler obviously blowing up on such a simple coding style violation.

Lack of proper tests, lack of a solid foundation, where the quantity of features prevailed over quality. A project that was caught off guard by its popularity. Such a shame.

@lahma
Copy link
Collaborator

lahma commented May 9, 2024

No. But I hope somebody will soon. Even now I'm staring at a freshly new generated set of DTOs, where several of them were generated with a small case name, in C#, with the compiler obviously blowing up on such a simple coding style violation.

Lack of proper tests, lack of a solid foundation, where the quantity of features prevailed over quality. A project that was caught off guard by its popularity. Such a shame.

Now I believe the audience would love to see how proper software should be built. Can you share some of your work?

@MoonStorm

This comment has been minimized.

@MoonStorm

This comment has been minimized.

@MoonStorm
Copy link

Oh I see, now you're.... "minimizing" my comments 🤣
Isn't it sad when even such a small amount of power get to people's head?
Yup, these are definitely the right people in charge of this project. Good luck over there!

@lahma
Copy link
Collaborator

lahma commented May 10, 2024

Oh I see, now you're.... "minimizing" my comments 🤣 Isn't it sad when even such a small amount of power get to people's head? Yup, these are definitely the right people in charge of this project. Good luck over there!

Just because your condescending attitude is not welcome here.

@MoonStorm
Copy link

Ah don't worry about that, don't really wanna be here. I wish this is gonna be restarted by more talented people who do have more time to care for it. The idea behind this project is brilliant, the implementation is simply sub-par for its popularity, as I said, reason for the neverending list of unsolved issues that keep on piling up.

@lahma
Copy link
Collaborator

lahma commented May 10, 2024

Thank you for your input. Like you've discovered, it's hard to find the needed talented people. Me and you wouldn't clearly make the cut.

@euroUK
Copy link
Author

euroUK commented May 13, 2024

@lahma
Why so toxic?

I just wanted to decide to remove NSwag from toolchain completly or wait a little bit and may be things will be fixed.

The reasons I'm not contributing to Open Source are obvious - I'm working full time as software developer and I don't have enough free time to properly manage open source solutions. My code is enough for our company needs but you need to invest 3x more time to properly release it for everyone. I don't blame if Rico has no time, It would not take too much time to generate typesToOpenApi for our toolchain. I just don't want to reinvent the weel.

Moreover, the open source initiative appears to be dead because the only alive solutions are those supported or developed by large corporations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants