angularsen / UnitsNet

Makes life working with units of measurement just a little bit better.
https://www.nuget.org/packages/UnitsNet/
MIT No Attribution
2.18k stars 379 forks source link

Drop support for Windows Runtime Component #815

Closed angularsen closed 2 years ago

angularsen commented 4 years ago

I just wanted to bring this up again. We added support for this in 2016 with #150, mainly because it was requested by a Microsoft team working on providing IoT nuget packages.

It is clear that this effort has stopped and the only two dependencies I can track via fuget.org are:

Both of these stopped getting updates in 2017.

We visited this topic in 2018 in #576 and the Microsoft member that originally requested this feature pretty much confirmed that the Windows Runtime Component effort is dead in its tracks on Microsoft's side of things.

Nothing new has happened since then really, it's just been nagging at the back of my mind and I don't like having crud if it is not actually being used by anyone or it's like 5 people in the world who care.

Proposal

Pros:

Cons:

ebfortin commented 4 years ago

A bit late to comment. My opinion is if it doesn't cost anything then why not keep it? If at some point it breaks the Windows Runtime build, then we should deprecate it. But right now if my understanding is correct it builds ok and no maintenance is needed. So why not keep it?

angularsen commented 4 years ago

Thank you for your opinion on this.

I 66% agree with you 😄 there is a cost however, in on-boarding new contributors having to know what WRC is.

I'm perfectly open to keep it, but I do think it should be removed at some point in the future if we can determine that pretty much no one relies on it anymore. WRC as a technology is pretty much dropped dead by Microsoft. My hunch is that very, very few use this already today.

I can't say for sure that no one is using it, which is why I created the issue hoping someone would notice and chime in saying they were actually using this.

angularsen commented 4 years ago

A couple new sources of usage since last time:

dschuermans commented 3 years ago

Wouldn't it be an option to extract all the WRC stuff into it's own repository and have it live there? Maybe an entire copy of what currently exists is required (idk if code is being shared between the WRC stuff and UnitsNet?)

It won't be getting any new units or fixes that are made to the normal UnitsNet library, but there's probably no need to either? Then, if someone does find an issue or whatever, it can be fixed there and optionally, a new nuget package published if required?

angularsen commented 3 years ago

That is probably a good way to deprecate it, yes.

Its readme could state that ownership of that code is abandoned and those who needs to keep it up to date would have to take ownership of it and sync in the new units from the main repo and set up their own build pipeline if they need one. The WRC nugets would point to the WRC repo to make it discoverable, in addition to having the nuget text describe the situation.

I personally would like to do this, but if others would rather keep it because it does not add too much burden to this project, then I'm fine with that too (for some time period, not forever). So this issue is basically to hear out opinions of people using UnitsNet or contributing to the project.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

angularsen commented 2 years ago

I'm removing WRC in v5, until someone comes screaming about adding it back. Beyond the summary listed above, I'd also like to mention that it shortens the build time, which is already pretty painful on appveyor's slow agents with 10-20 minute build times.

angularsen commented 2 years ago

Closed by 496ed5d in release/v5 branch.