2P by neo 16일전 | favorite | 댓글 2개

Winamp

소개

  • Winamp는 1997년에 출시된 멀티미디어 플레이어로, 다양한 오디오 포맷과의 호환성 및 유연성으로 유명함
  • Nullsoft가 개발하였으며, 수백만 명의 사용자들 사이에서 큰 인기를 끌었음
  • 개발이 한동안 중단되었으나, 이제 소스 코드가 공개되어 커뮤니티가 플레이어를 개선하고 현대화할 수 있게 되었음

사용법

  • Winamp 데스크톱 클라이언트 빌드는 현재 Visual Studio 2019 (VS2019)와 Intel IPP 라이브러리를 기반으로 함
  • Winamp를 빌드하는 방법은 여러 가지가 있음
    1. build_winampAll_2019.cmd 스크립트 파일을 사용하여 x86/x64 (디버그 및 릴리스) 버전 4개를 빌드함. 이 경우 Visual Studio IDE는 실행되지 않음
    2. winampAll_2019.sln 파일을 사용하여 Visual Studio IDE에서 빌드 및 디버그를 수행함

종속성

  • build_winampAll_2019.cmd 스크립트 파일을 사용하여 x86/x64 (디버그 및 릴리스) 버전 4개를 빌드함. 이 경우 Visual Studio IDE는 실행되지 않음
  • winampAll_2019.sln 파일을 사용하여 Visual Studio IDE에서 빌드 및 디버그를 수행함
libvpx
libmpg123
OpenSSL
  • openssl-1.0.1u를 사용해야 함
  • 정적 버전의 라이브러리를 빌드하기 위해 build_vs_2019_openssl_x86.cmdbuild_vs_2019_openssl_64.cmd를 실행함
  • OpenSSL을 빌드하려면 7-Zip, NASM, Perl을 설치해야 함
DirectX 9 SDK
  • DirectX 9 SDK (2010년 6월)를 Microsoft에서 가져와 수정 후 아카이브로 패킹함
  • unpack_microsoft_directx_sdk_2010.cmd를 실행하여 압축을 풀음
Microsoft ATLMFC lib 수정
  • C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h 파일의 427번째 줄을 return ::DeleteFile((LPTSTR)lpFileName);에서 return DeleteFile((LPTSTR)lpFileName);로 변경함
Intel IPP 6.1.1.035
  • Intel IPP 6.1.1.035를 가져와 수정 후 아카이브로 패킹함
  • unpack_intel_ipp_6.1.1.035.cmd를 실행하여 압축을 풀음

GN⁺의 정리

  • Winamp는 다양한 오디오 포맷과의 호환성으로 인해 여전히 많은 사용자들에게 사랑받고 있음
  • 소스 코드가 공개되어 커뮤니티가 플레이어를 개선하고 현대화할 수 있는 기회를 제공함
  • Visual Studio 2019와 여러 라이브러리를 사용하여 빌드할 수 있으며, 다양한 종속성을 처리해야 함
  • Winamp와 유사한 기능을 제공하는 다른 멀티미디어 플레이어로는 VLC Media Player와 foobar2000이 있음

이슈 보니 라이선스로 말이 많네요

Hacker News 의견
  • 프로젝트에 기여하는 방법에 대한 의문 제기

    • 라이선스 4조는 프로젝트에 개선, 향상, 버그 수정을 기여하도록 권장함
    • 그러나 5조는 코드 포크나 수정된 버전 배포를 금지함
    • 표준 Github 워크플로우가 라이선스를 위반하게 됨
    • 현재 프로젝트에 참여하지 않는 것이 최선임
    • 라이선스 변경 시 다시 확인할 예정임
  • EFNet의 #mpeg3에서 Justin Frankel과의 추억

    • 앱에 사용할 스킨과 트레이 아이콘을 제작함
    • 크레딧에 이름이 포함됨
  • DMCA 요청과 저작권 문제

    • GitHub에 DMCA 요청을 많이 제출해야 할 것임
    • 포크는 GitHub의 기본 기능임
    • 라이선스가 포크를 허용하지 않음
    • 저작권을 잃을 위험이 있음
    • 법원이 권리 보호를 강력히 요구할 것임
    • GitHub 사용자 경험이 나빠질 것임
  • Winamp와의 개인적인 역사

    • 과거에 인기 있는 플러그인을 작성함
    • Winamp 3의 소스 코드는 C++로 완전히 재작성됨
    • 원래 소스 코드는 Justin Frankel이 C로 작성함
  • 1999년 대학 시절의 MP3 파티

    • CD 디스크 셔플러 대신 MP3 사용
    • Winamp로 음악을 무작위 재생함
    • 음악이 끊기지 않고 파티를 즐김
    • Winamp에 감사함
  • 혼란스러운 오픈 소싱

    • 소프트웨어 오픈 소싱이 매우 혼란스러움
  • 간편한 음악 플레이어

    • 경쟁자들보다 간편한 인터페이스를 가짐
    • 불필요한 그래픽 없이 기능을 수행함
  • "오픈"이라는 용어의 왜곡

    • 라이선스 조건이 재배포나 재판매를 허용하지 않음
    • "오픈 소스"가 아닌 "소스 사용 가능"이라고 부르는 것이 맞음
  • SHOUTcast 서버 소프트웨어의 불법 공유

    • 리포지토리에 불법적으로 공유된 코드가 있음