nightingale-rest-api-client
nightingale-rest-api-client copied to clipboard
Feature request: Refit code generation
I find Refit very helpful to develop REST clients with.
It would be great if Nightingale could generate a Refit interface for the requests in a given workspace.
I've open sourced the codegen project, and it's fairly straightforward to add a new code generator class. If anyone is able to contribute, I would really appreciate it. Feel free to follow how the current curl generator is set up to create a RefitGenerator class. https://github.com/jenius-apps/nightingale-core/tree/master/src/Nightingale.CodeGen
Edit: The message below was written based on the understanding that Nightingale is a paid app, but as @dpaulino pointed out, Nightingale is not paid anymore. Apologies for the confusion.
~I paid for the app, and while I don't regret that (I paid for the app as-is, it is a great app, worth its money) I'm not sure about how to regard the app being paid versus asking for contributions.~
~The app being paid gives a kind of expectation that this revenue enables future development, but asking for contributions at the same time looks as if that responsibility is intended to become shared, while the revenue still goes to one person.~
~I know you are contributing a lot to the community (:+1: for that) and see that you are partially open sourcing nightingale, but I'm doubting a bit about how it works that one person will be (indirectly) benefit from work that contributors do.~
~I know other paid apps have a plug-in model as well where contributors can add functionality, but frankly speaking it feels a bit as if the balance is different there - my feeling is that most base apps where this is the case are larger.~
~Summarised: really happy for you that you are successful already with nightingale, and I want you to stay successful as well, but I'm a bit unsure about the mixing of the commercial and contribution models and what it means for contributors.~
~If somebody wants to contribute this out of personal motivation, though, I'd still like to see it!~
The above was just what came to my mind; if anybody has a different perspective, I'm curious to hear it!
Maybe I'm just not used to this model - usually I see closed source being paid or open source being free, but combinations I see less often.
I know there can also be "open source, but paid in the store for convenience" or "open source, but paid support" - curious how that is thought of here.
@hansmbakker thanks for reaching out. I spent a year thinking through this because there is a delicate balance to maintain. Yes, Nightingale was paid, and it puts me in an awkward position if I open source the app while still making it paid. Thus, the solution I came to was as follows:
- Nightingale the app itself is not open source. The UI, the design, and the user experience is all closed source. And it will remain closed source for the foreseeable future. Your premium payment is continuing to be invested in updates/improvements/innovations in this space.
- Some Nightingale backend logic is being open sourced (see https://github.com/jenius-apps/nightingale-core), but not all. These libraries are MIT licensed. The closed-source Nightingale app will used these of course, but anyone can use them for whatever they want. Nightingale consumes these MIT licensed libraries in the same way Nightingale consumes other libraries on GitHub such as the Windows Community Toolkit.
- For the past 6 months, I have retired Nightingale's premium payment. Nightingale is now free.
- For anyone, such as yourself, who paid for Nightingale, I am grateful for you support. You will also receive access to special new features and also extra perks for those features (no promises, but I'm working on cloud-based features). Also you will continue to receive returns on your investment based on the first point above.
While I understand this combination may be weird, please feel free to forward more of your feedback. Your thoughts and ideas have helped Nightingale be what it is today, and I hope to continue working with you moving forward.
Thank you for the clear answer, and excuse me for my wrong statement, I did not know that Nightingale is not paid anymore. I will update my reaction.
And to further clarify, I'm open sourcing the backend libraries to make it available for contributions if people want. But I am not solely relying on contributions. I will add Refit code generation when I get through a few more tasks, but if someone out there wants to help speed it along, they can help contribute the backend logic. And I will still be responsible for delivering a good UI/UX in the app.
i would really love this feature to exist