Microsoft의 라이브러리가 Newtonsoft.Json에 의존하는 이유는 무엇입니까?


18

이것은 아마도 Microsoft가 ASP.NET 웹 API 라이브러리를 만들었을 때 시작되었을 것입니다. 적어도 내가 실수하지 않으면 그것을 기억할 때입니다. 어쨌든 그 이후로 HTTP 패키지는 JSON과의 데이터 직렬화를 위해 Newtonsoft.Json 라이브러리에 따라 시작되었습니다.

Microsoft만큼 큰 회사가 오픈 소스 라이브러리에 대한 종속성을 추가하는 이유는 무엇입니까? .NET을 사용하여 완전히 오픈 소스로 이동하려고해도 Microsoft가 아닌 다른 라이브러리는 내가 아는 한 의존성으로 사용 되었기 때문에 이상하다고 생각합니다.

보너스 질문으로 James Newton-King이 Microsoft의 재정 지원을 받습니까?


14
마이크로 소프트가 돈을 버는 것처럼 들린다. 그것들은 상당히 풍부하지만 그들의 자원은 무제한 적이 지 않기 때문에 그들의 미적분학을 당신의 것과 동일하게 만듭니다.
Robert Harvey

Microsoft는 몇 년 전보다 친숙한 오픈 소스가되기 시작했습니다. 그들은 초기에 jQuery를 ASP.NET MVC에 번들로 제공했습니다. .NET으로 오픈 소스를 이용하는 것은 그러한 변화의 일부입니다.
Robert Harvey

4
JSON.NET의 역사에 대한 자세한 내용은 여기를 참조하십시오. newtonsoft.com/json/help/html/Introduction.htm
Robert Harvey

왜 안돼? 세계적 수준의 JSON 직렬화 라이브러리입니다 .MS가 현명하게 다른 문제에 에너지를 집중하고 바퀴를 재발 명하지 않기로 결정했다고 생각합니다.
Fergal Moran

6
흥미롭게도 James Newton-King은 2018 년 3 월 에 Microsoft에 합류 할 것이라고 발표했습니다 .
Jeroen

답변:


19

내가 찾은 가장 직접 인용문은 Scott Guthrie가 2012 년에 MVC 4 로드맵을 발표 한 내용 중 일부입니다 (명백히 오프라인이지만 Wayback Machine을 통해 사용 가능 ).

Json.NET : 커뮤니티 개발 Json.NET 직렬화 스택을 ASP.NET 웹 API의 기본 JSON 포맷터에서 사용할 계획입니다. Json.NET은 최신 웹 프레임 워크에 필요한 유연성과 성능을 제공합니다.

MVC는 MS뿐만 아니라 다른 소프트웨어 거인을 특징 짓는 강력한 NIH 태도 를 버리고 동종 최고의 오픈 소스 프로젝트에 접근하는 Microsoft의 첫 번째 대형 프로젝트 중 하나였습니다. 자체 제품의 기초로.


모든 공정한, 그리고 확실히 "NIH"로 돌아가고 싶지 않습니다. 그럼에도 불구 하고이 라이브러리가 여전히 MS의 스택에 포함되기를 바랍니다. 그 이유는 외부 라이브러리에 비 핵심 프레임 워크 종속성이 없어야하는 외부 라이브러리에 대한 압박이 크다는 것입니다. 이 라이브러리는 수행하기 어려운 곳에서 자주 발생하는 유일한 라이브러리이며, 이것이 빵과 버터 같은 기능이며, 기본 XML 도구 (XElement 등)가없는 .NET을 생각하는 것과 같습니다. 이것이 모든 nuget (!)에서 # 1 라이브러리라는 것은 놀라운 일이 아닙니다. 내 2 센트
니콜라스 피터슨

1
@NicholasPetersen .NET 표준에 포함시킬 제안에 대해 여기에서 읽을 수 있습니다 . 마지막으로 토론을 확인했는데 대다수가 반대했지만 표준 라이브러리에 더 가벼운 JSON 파서 인 하위 집합을 포함했을 수도 있습니다.
Avner Shahar-Kashtan

비록 내가 언급 한 것처럼 .NET 표준의 일부로 추가되어야한다고 생각하지는 않았지만 좋은 지적을합니다. 항상 순 표준으로 시멘트 화하기에는 너무 무거워 보입니다. 내 생각은 netcore의 일부로 포함시키는 것이었지만 (corefx에서 가정), 내가 요청한 것에 순진 할 수 있음을 인정합니다. 일부 사람들은 그것이 NET Foundation의 일부라고 제안했지만 좋게 들리지만 다른 라이브러리가 프레임 워크 외부의 라이브러리를 참조 할 필요가없는 실제 문제를 완화 시킬지는 모르겠습니다.
Nicholas Petersen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.