# 윈앰프 레거시 플레이어 소스 코드

> Clean Markdown view of GeekNews topic #16917. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16917](https://news.hada.io/topic?id=16917)
- GeekNews Markdown: [https://news.hada.io/topic/16917.md](https://news.hada.io/topic/16917.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-09-25T09:42:51+09:00
- Updated: 2024-09-25T09:42:51+09:00
- Original source: [github.com/WinampDesktop](https://github.com/WinampDesktop/winamp)
- Points: 2
- Comments: 2

## Topic Body

### 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
- `libvpx`는 https://github.com/ShiftMediaProject/libvpx 에서 가져와 수정 후 아카이브로 패킹함
- `unpack_libvpx_v1.8.2_msvc16.cmd`를 실행하여 압축을 풀음

###### libmpg123
- `libmpg123`는 https://www.mpg123.de/download.shtml 에서 가져와 수정 후 아카이브로 패킹함
- `unpack_libmpg123.cmd`를 실행하여 dll 파일을 처리함

###### OpenSSL
- `openssl-1.0.1u`를 사용해야 함
- 정적 버전의 라이브러리를 빌드하기 위해 `build_vs_2019_openssl_x86.cmd`와 `build_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이 있음

## Comments



### Comment 29201

- Author: wedding
- Created: 2024-09-25T10:28:04+09:00
- Points: 1

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

### Comment 29191

- Author: neo
- Created: 2024-09-25T09:42:51+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41636804) 
- 프로젝트에 기여하는 방법에 대한 의문 제기
  - 라이선스 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 서버 소프트웨어의 불법 공유
  - 리포지토리에 불법적으로 공유된 코드가 있음
