Hi Guys,
Alex,
I appreciate that you’ve begun reviewing our API v3 work. As I’m sure you’ve read from our NuGet.org Architecture post, we’re having to make significant changes to our architecture to ensure long-term scalability of the service as it’s being depended upon by more and more developers. I also appreciate that you contribute to the NuGet ecosystem by providing both the free and commercial offerings of ProGet. You are one of a handful of companies who have a business investing in the NuGet ecosystem itself, not just producing packages; we recognize and value that.
Our team’s primary goal is to ensure a reliable end-to-end experience using NuGet within Visual Studio and connecting to nuget.org. Other package sources are always in our minds, but ensuring that nuget.org itself can stand up to the traffic it gets (and will get) is the highest priority for us. Once we came to the conclusion that a fully RESTful API would accomplish our scale requirements and with JSON being our format of choice, we researched existing and custom options and found that JSON-LD was able to provide all of the features we were seeking and much more. The fact that it’s becoming a W3C standard helped validate our decision.
While we are not at all interested in the TDWTF article you’ve suggested (and to be honest, the proposition was rather insulting), several of us on the team were intrigued by your reaction to our selection of JSON-LD. We are open-minded and we’re curious what is driving your reaction. What experience do you have with JSON-LD that lead you to conclude that it’s a “terrible technical decision?” Is there another approach that you’d suggest in place of JSON-LD? Is it the Linked Data part of JSON-LD that you don’t like or is it the JSON part? Is it just the JSON-LD detail that you disagree with or is it the premise of the CQRS pattern and deprecating the use of OData in the process? Are you worried that some of your ProGet scenarios are going to be adversely affected?
Is your reaction based solely on our current “intercept.json” that we have in place for intercepting v2 OData API requests on the client and transforming them into JSON-LD requests? If so, please know that the interception approach is merely a stop-gap implementation—one that allows us to get the architectural benefits of the CQRS pattern before we’re able to completely rewrite the NuGet client to truly understand the new API. The only API we’re exposing thus far is for serving this interception, but it does expose some of our design principles that we will continue to follow as the API evolves.
You’ve never really engaged with us on how ProGet integrates with NuGet or NuGet.org (other than to angrily report issues we’ve caused for you that were outside our test matrix). And it seems the only times we see you engage with the NuGet ecosystem is when you are bashing us for one reason or another (with this post being another example of that). As I said, we value companies that invest in the NuGet ecosystem and we’re open-minded. So if you’d like to provide some constructive feedback and/or help us make the NuGet project better for everyone (including NuGet-based software vendors), we’re happy to listen and collaborate in an effective way. I specifically reached out to get your attention to come read about our v3 work because we do want you engaged—your responding by just insulting us and not providing any useful feedback doesn’t benefit anyone.
Jeff Handley
--
You received this message because you are subscribed to the Google Groups "NuGet Ecosystem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
nuget-ecosyst...@googlegroups.com.
To post to this group, send email to
nuget-e...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alex,
Thanks for clarifying your intentions. I’m still going to decline the proposal though. We will continue to use our blog and this ecosystem forum for discussion on the matter.
Best regards,
Jeff Handley