
'제 3자' 라는 뜻의 서드파티.
기존의 base기술을 바탕으로 파생 상품을 개발해서 제공한다.
우리가 개발 프로젝트 시 자주 쓰는 도커나 ORM, 암호화를 위한 JWT까지 서드파티에 해당한다.

내 생각엔 확실히 쓰면 편하고 장점이 더 많은 것 같은데..
서드파티 라이브러리를 많이 도입하면 기능 개발이 빨라지지만, 의존성이 커지는 만큼 몇 가지 위험 요소도 늘어나게 된다. 그래서 프로젝트 규모나 특성에 따라 서드파티를 최소화하려는 접근이 필요할 수 있다.
서드파티 라이브러리는 외부 팀에 의해 유지되므로 업데이트나 호환성 문제가 발생할 수 있다. 특히 레거시 시스템과 최신 라이브러리 간에 충돌이 생기면 불안정성이 커질 수 있다.
서드파티 라이브러리는 취약점이 발견될 가능성이 있으며, 보안 업데이트가 늦어지면 애플리케이션 전체가 위험해질 수 있다. 예를 들어 Log4j의 보안 취약점 사례처럼, 서드파티 라이브러리의 문제는 큰 리스크가 될 수 있다.
많은 서드파티를 도입하면 의존성 관리가 어려워지고, 시간이 지나면 어떤 라이브러리가 어떤 역할을 했는지 파악하기가 어려워진다. 필요 없는 라이브러리를 나중에 제거하는 것도 큰 부담으로 작용할 수 있다.
서드파티 라이브러리는 불필요한 기능이 포함된 경우가 많아 성능 저하로 이어질 수 있다. 특히 메모리 사용량이 늘어나고 애플리케이션 속도가 느려질 수 있다.
서드파티 라이브러리가 업데이트나 유지보수에서 멈춘다면, 이를 대체하거나 직접 기능을 구현해야 하는 어려움이 생긴다. 오래된 라이브러리일수록 이런 리스크가 커진다.
서드파티를 줄이면 프로젝트 구조가 단순해지고 코드 이해도도 높아진다. 이는 유지보수와 협업을 더욱 쉽게 만들어 장기적으로 도움이 된다.
서드파티는 필요한 범위에서 도입할 때 효율적이지만, 무분별하게 사용할 경우 오히려 리스크와 유지보수 부담을 늘릴 수 있다.
그래서 프로젝트 성격에 맞는 신중한 선택이 필요한 것이다.
실제로 의존성 설정이 높은 비중을 차지하는 스프링 레거시의 경우, 유지보수가 오히려 파이가 더 커질 가능성이 다분하긴 하다.
우테코 프리코스에서도 외부 라이브러리 사용을 금하던데, 아마 기존의 기술을 가지고 최대한으로 활용하는 것도 기술자의 역량이지 않을까..