Dependency manager에 대해서 다루면서 Third party라는 단어를 접했다. 간단하게는 외부라이브러리를 칭하는 용어였는데, First party와 Second party도 있는걸까 궁금했었다. 오늘은 간단하게 그 용어들을 정리해보려고 한다. 관련용어에 대해서 찾다보니 데이터 관계에서 사용될때는 다른 뉘앙스로 사용된다는걸 알게됬다.이 글에서는 프로그래밍 용어안에서의 의미를 다룬다고 생각해주면 좋겠다.
party 는 프로젝트나 소프트웨어 생태계에서 역할을 구분하기 위해서 사용되는 용어이고, 그 중 First -second party의 개념은 상대적이다. VScode를 기준으로 생각하면 Microsoft가 First party이고 Tool을 사용하는 개발자가 Second party이지만,완성된 프로젝트를 기준으로 생각하면 App을 만든 개발자가 First party이고 사용자가 second party가 된다.
특히 Third party는 그들을 설치 및 관리하는 manager가 필요한데, 언어마다 관리자가 다르다.
JavaScript - npm(Node Package Manager)
Python - pip(Package Installer for Python)
Ruby - Bundler
Swift - Swift package manager
각 언어의 Dependency manager는 의존성 관리자가 third party 라이브러리만 관리하는건 아니고 프로젝트의 모든 종류의 종속성을 관리한다.
소프트웨어(First party)로 만들어진 프로젝트안에서 개발자(Second party)가 선택한 외부라이브러리 (Third party )가 관리될수있도록 모든 부분에서 관여하여 관리한다
first와 third는 알고있었는데 왜 second는 궁금해하지 않았을까 하는..생각이 머리를 스쳐갔습니다ㅎㅎㅎ
사용하는 주체에 따라 개념이 달라지는것도 이번에 처음알았어요🥹 용어에 대해 깊게 생각해보지 않았었는데 포스팅을 보고 이렇게 스쳐간 단어들이 얼마나 많을까 생각하게 되는 밤이네요ㅋㅋㅋㅠㅠ 좋은 글 감사합니다 :)