2 poin oleh GN⁺ 2024-09-25 | 2 komentar | Bagikan ke WhatsApp

Winamp

Pengenalan

  • Winamp adalah pemutar multimedia yang dirilis pada tahun 1997, terkenal karena kompatibilitasnya dengan berbagai format audio dan fleksibilitasnya
  • Dikembangkan oleh Nullsoft, dan meraih popularitas besar di kalangan jutaan pengguna
  • Pengembangannya sempat dihentikan untuk beberapa waktu, tetapi kini kode sumbernya telah dibuka sehingga komunitas dapat meningkatkan dan memodernisasi pemutar ini

Cara penggunaan

  • Build klien desktop Winamp saat ini berbasis Visual Studio 2019 (VS2019) dan library Intel IPP
  • Ada beberapa cara untuk membangun Winamp
    1. Menggunakan file skrip build_winampAll_2019.cmd untuk membangun 4 versi x86/x64 (debug dan release). Dalam hal ini, Visual Studio IDE tidak dijalankan
    2. Menggunakan file winampAll_2019.sln untuk melakukan build dan debug di Visual Studio IDE

Dependensi

  • Menggunakan file skrip build_winampAll_2019.cmd untuk membangun 4 versi x86/x64 (debug dan release). Dalam hal ini, Visual Studio IDE tidak dijalankan
  • Menggunakan file winampAll_2019.sln untuk melakukan build dan debug di Visual Studio IDE
libvpx
libmpg123
OpenSSL
  • Harus menggunakan openssl-1.0.1u
  • Untuk membangun versi statis library, jalankan build_vs_2019_openssl_x86.cmd dan build_vs_2019_openssl_64.cmd
  • Untuk membangun OpenSSL, Anda perlu memasang 7-Zip, NASM, dan Perl
DirectX 9 SDK
  • DirectX 9 SDK (Juni 2010) diambil dari Microsoft, lalu dimodifikasi dan dikemas sebagai arsip
  • Jalankan unpack_microsoft_directx_sdk_2010.cmd untuk mengekstraknya
Modifikasi lib Microsoft ATLMFC
  • Ubah baris ke-427 pada file C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h dari return ::DeleteFile((LPTSTR)lpFileName); menjadi return DeleteFile((LPTSTR)lpFileName);
Intel IPP 6.1.1.035
  • Intel IPP 6.1.1.035 diambil, lalu dimodifikasi dan dikemas sebagai arsip
  • Jalankan unpack_intel_ipp_6.1.1.035.cmd untuk mengekstraknya

Ringkasan GN⁺

  • Winamp masih disukai banyak pengguna karena kompatibilitasnya dengan berbagai format audio
  • Kode sumbernya telah dibuka, memberi komunitas kesempatan untuk meningkatkan dan memodernisasi pemutar ini
  • Winamp dapat dibangun menggunakan Visual Studio 2019 dan berbagai library, serta memerlukan penanganan beragam dependensi
  • Pemutar multimedia lain dengan fungsi serupa Winamp antara lain VLC Media Player dan foobar2000

2 komentar

 
wedding 2024-09-25

Dari isunya, sepertinya ada banyak perdebatan soal lisensi.

 
GN⁺ 2024-09-25
Komentar Hacker News
  • Saya penasaran bagaimana mereka mengharapkan orang berkontribusi ke proyek ini. Pasal 4 lisensinya meminta agar perbaikan, penambahan fitur, dan perbaikan bug diajukan ke repositori resmi, tetapi pembatasan di Pasal 5 melarang fork kode atau distribusi versi yang dimodifikasi
    Jadi alur standar GitHub sendiri—“fork repositori, ubah di branch, lalu kirim pull request”—menjadi pelanggaran lisensi

    • Bisa saja membuka issue lalu mengetik patch langsung di kolom deskripsi
      Namun patch itu tidak bisa diuji atau di-debug. Karena itu berarti membuat versi modifikasi dari codebase, yang dilarang. Cukup tuliskan langsung apa yang muncul dari khayalan demam tanpa bantuan praktik yang biasa. Kalau cukup untuk lisensi, mestinya cukup juga untuk kode
    • “Fork” punya dua makna. Yang pertama adalah tombol “Fork” di GitHub, yang sebenarnya lebih dekat ke menyalin repositori ke akun sendiri
      Yang kedua adalah “mem-fork proyek”, artinya secara aktif mengembangkan dan mendistribusikan garis keturunan alternatif dengan nama terpisah. Menurut saya alur pull request GitHub tetap boleh dipakai. Sayangnya di sini GitHub memakai nama yang tidak sejalan dengan makna “fork” yang sudah mapan. Sebenarnya seharusnya disebut “clone”
    • Ketentuan Layanan GitHub menyatakan bahwa pengguna diberi hak untuk mem-fork semua repositori publik
    • “Fork” yang dimaksud di sini tampaknya adalah makna luas di dunia open source, yaitu membuat versi sendiri dan membawanya ke arah lain, seperti NeoVim mem-fork Vim
      GitHub hanya memakai kata “fork” juga untuk membuat salinan repositori guna kontribusi
    • Sepertinya mereka hanya berharap orang mengabaikan lisensinya
      Kebanyakan orang akan begitu, mereka juga tidak akan menghadapkan kontributor dengan pengacara, dan dunia akan terus berjalan
  • Hal terbaik yang bisa dilakukan sekarang demi masa depan proyek ini adalah tidak terlibat. Bahkan menyalinnya ke ruang kerja pribadi untuk ditinjau atau dikompilasi pun sudah terasa sebagai partisipasi berlebihan dibandingkan sikap lisensi saat ini
    Kalau ada postingan HN yang mengatakan posisi lisensinya sudah berubah, saya akan mengecek lagi, tetapi sampai saat itu lebih baik tutup tab ini dan lupakan

    • Penulis aslinya, Justin Frankel, adalah sosok legendaris yang juga membuat Reaper DAW, dan ia menjawab begini soal ini
      Pertanyaan: Source WinAMP sudah resmi dibuka; apakah ada keinginan untuk mengutak-atik dan memasukkan fitur baru yang keren?
      Jawaban: Kalau pun ada keinginan seperti itu, ketentuan lisensinya pasti sudah menghilangkannya, lol. Cara ketentuannya ditulis benar-benar tidak masuk akal. Misalnya, tertulis “tidak boleh membuat, memelihara, atau mendistribusikan versi fork dari perangkat lunak.” Kalau begitu perubahan apa pun bisa dianggap “membuat versi fork”. Bahkan jika ditafsirkan sedikit lebih longgar sesuai niatnya, ketentuannya tetap buruk. Saya lewat
  • Saya ingat dulu sekali nongkrong di #mpeg3 di EFNet, dan mengenal Justin Frankel saat ia sedang mengerjakan ini
    Saya membuat beberapa skin dan ikon tray untuk aplikasi ini, dan sebagian di antaranya ada di sini. Saya tidak 100% ingat mana saja yang semuanya buatan saya, tetapi punchlabel jelas buatan saya. Nama saya juga ada di kredit: https://github.com/WinampDesktop/winamp/blob/0695744fd658c42...

  • Mereka sepertinya akan mengirim banyak permintaan DMCA ke GitHub sampai repositori mereka sendiri diturunkan dari GitHub, atau menurunkannya sendiri dari GitHub dengan risiko kehilangan hak cipta
    Fork adalah fitur inti GitHub. Kebijakan fork hanya bisa diatur untuk repositori privat, sedangkan ini repositori publik. Lisensinya tidak mengizinkan fork, dan sudah ada 6 fork. Biasanya hak cipta, berbeda dari merek dagang, tidak hilang karena penegakan selektif, tetapi dalam kasus ini pemegang hak membuat pelanggaran lisensi sangat mudah terjadi dan juga punya akses penuh ke daftar pelanggarnya. Jika mereka tidak aktif membela haknya, tampaknya mereka akan jadi bahan tertawaan di pengadilan. Dari sisi GitHub pun ini situasi yang tidak ingin mereka tangani. Pengalaman pengguna yang buruk sekali: mengklik salah satu tombol yang paling sering ditekan di platform, lalu tiba-tiba menjadi masalah hukum

    • Seperti yang dikatakan orang lain, GitHub sudah menutup bagian itu lewat Ketentuan Layanannya. Semua repositori publik bisa di-fork
    • Saat ini ada 410 fork
  • Saya punya sedikit hubungan dengan Winamp. Dulu saya membuat plugin yang cukup populer
    Ini adalah source code Winamp 3, yaitu versi Winamp 2 yang ditulis ulang sepenuhnya dalam C++. Menurut saya terlalu kompleks dan terlalu over-engineered. Source code asli Justin Frankel ditulis dalam C

    • Yang “disediakan” adalah versi ringkas dari paket source 5.666 yang diserahkan saat dijual dari AOL ke Radionomy, ditambah hasil iterasi hingga rilis 5.9.2 setelahnya
      Jadi bisa dibilang ini kekacauan yang mencampur bertahun-tahun proses pengembangan 1.x → 2.x → 5.x dan hasil sentuhan banyak orang selama itu. Sebagian besar Winamp3 juga masuk, dan bagian itu dulu sudah benar-benar dirilis sebagai open source pada masa AOL. Berbeda dari lisensi kali ini yang sangat dibatasi. Namun seingat saya, saat artefak kode dibuat, repositori khusus Winamp3 tidak pernah disediakan. Setidaknya begitu kalau ingatan saya dari 11 tahun lalu benar
      -dro
    • Apakah kode asli Frankel ada di suatu tempat? Saya ingat ia dulu pernah mengatakan lebih menyukai C++ daripada C, tetapi dalam praktiknya ia menulisnya seperti C dengan class. Frankel adalah pahlawan saya
  • Musim panas 1999 saat kuliah, rumah kami adalah rumah pertama yang memakai MP3 di pesta. Kebanyakan orang memakai CD changer, dan karena banyak disk yang tergores dan bernoda, musiknya sering meloncat
    Kami sepenuhnya digital dan mendahului zamannya. Pestanya diadakan di basement; komputer dikunci di kamar tidur kosong, lalu kabel dan speaker ditarik ke area utama di bawah. Winamp diputar dengan shuffle, berjam-jam tidak pernah sekalipun skip, dan tidak perlu ada orang yang menjaga musik. Terima kasih Winamp karena sudah menciptakan kenangan indah

    • Menyebutnya “sepenuhnya digital” pada musim panas 1999 agak gimana. Saya sudah punya perekam DAT pada 1993, dan juga punya DAT Walkman
  • Ini adalah penyimpangan makna kata “open”. Ketentuan lisensinya tidak mengizinkan redistribusi atau penjualan kembali, padahal itu biasanya merupakan syarat yang diterima umum untuk open source
    Perlu diperhatikan bahwa tidak ada “open source” tertulis baik di judul maupun repositori. Ini seharusnya disebut source available, bukan “sumbernya sekarang dibuka”

    • Lisensi ini mengklaim dirinya sebagai lisensi copyleft, tetapi jika ada pembatasan distribusi yang diwajibkan lisensi, itu tidak bisa disebut copyleft
      Sebaiknya hapus klaim “lisensi copyleft” itu, atau longgarkan pembatasan distribusinya menjadi kira-kira “jika mendistribusikan versi modifikasi program ini, versi modifikasi itu tidak boleh disebut Winamp”
  • Itu satu-satunya pemutar musik yang tidak menjengkelkan. Tanpa tetek-bengek dan grafis kaku yang dianggap benar oleh para pesaingnya, ia hanya melakukan tugasnya dengan antarmuka yang ringkas

    • Tanpa tetek-bengek dan grafis kaku? Bukankah salah satu keseruan player itu adalah mencoba memasang skin apa saja? Apa yang teringat itu mungkin sesuatu yang lain?
    • “Favorit” saya sekarang adalah Tidal. Mereka bahkan tidak bisa membuat pengalaman pemutaran yang stabil, dan UI-nya penuh dengan elemen serta cara kerja yang memusuhi pengguna dan sering salah fungsi
      Kalau saya berada di posisi perekrutan, orang dari Tidal tidak akan punya kesempatan
    • Benar. Dan sekarang saya sudah menemukan yang lebih baik: cmus
      Sejak bertemu monster ini, saya tidak pernah kembali ke yang lain
    • Jika ingin pemutar musik minimalis untuk Windows, coba lihat Tray Player
  • Lucunya, commit terbaru adalah “Removing code which is not open”[0], yang berarti dengan membiarkan kode itu ada di riwayat Git, mereka melanggar ketentuan lisensi milik pihak lain
    [0] https://github.com/WinampDesktop/winamp/commit/0a4b7d32d0906...

    • Melihat https://github.com/WinampDesktop/winamp/issues/11, sepertinya itu memang kode mereka sendiri, tetapi merupakan kode dari layanan lain yang mereka putuskan untuk tidak membuka sourcenya
    • Ha! Selama satu atau dua jam terakhir mereka juga cepat-cepat menghapus hal-hal lain. Misalnya ada beberapa file dengan header seperti ini
      Copyright 2000-2002 Dolby Laboratories, Inc. All Rights
      Reserved. Do not copy. Do not distribute.
      Confidential information.
      (C) copyright Fraunhofer - IIS (1998)
      All Rights Reserved
  • Jika ingin salinan gratis perangkat lunak server SHOUTcast, mereka sedang membagikan secara ilegal kode itu di repositori ini