Forked.

Catatan atas sebuah fork, dan orang yang menulis lisensinya

Issue 0126 Oktober 2026

Laporan

Fork ini legal. Itu bukan bagian yang sulit.

NotProton membuat Wine jalan di dalam Steam di Mac. Bridgeplay memakai source yang sama, membuang keharusan lisensi CrossOver, dan merilis 39 kali, 20 di antaranya dalam lima puluh jam. Penulis aslinya membalas dengan issue berjudul "This should not exist." Ini yang benar-benar terjadi, menurut commit.

Silsilah

Tidak ada yang dimulai dari nol di sini. Setiap lapisan punya pemilik, lisensi, dan alasan sendiri untuk ada.

  1. 1993

    Wine dimulai. Kodenya kelak jadi fondasi semua yang ada di halaman ini.

  2. 2018

    Valve membiayai Wine untuk Proton. Pola yang sama dipakai lagi delapan tahun kemudian, di sistem operasi lain.

  3. 2023

    Apple merilis Game Porting Toolkit di atas Wine dan D3DMetal. macOS punya jalan resmi menjalankan game Windows.

  4. 2025

    Whisky berhenti. Pembuatnya menyimpulkan proyek gratisnya sendiri merugikan pendanaan Wine.

  5. Sep 2026

    NotProton menggabungkan Steam, hook, dan CrossOver jadi satu aplikasi. Tanpa lisensi CrossOver, tidak ada yang jalan.

  6. Okt 2026

    Bridgeplay memakai source WineCX yang sama, membangun engine-nya sendiri, dan membuang lisensi itu dari persamaan.

PosisiSilsilah ini membuat klaim bahwa NotProton membangun semuanya dari nol sulit dipertahankan: Wine dimulai sebelum mereka, lalu Valve, Apple, dan CodeWeavers ikut meninggalkan lapisan kode. NotProton boleh memilih CrossOver; yang tidak otomatis ikut datang bersama GPL adalah hak untuk mengatur apa yang dilakukan orang lain. Di situlah pihak pro-NotProton mulai terdengar seperti penjaga gerbang di atas fondasi bersama.

Kronologi

Empat tanggal yang perlu diingat: 8 Oktober (commit pertama), 21 Oktober (peluncuran Threads), 22 Oktober (#79), 24 Oktober (konsesi). Waktu ditampilkan dalam WIB; arahkan kursor ke waktu untuk melihat UTC. Setiap baris punya sumber yang bisa dibuka. Data dikunci 26 Oktober 2026 pukul 14.00 WIB.

Fase satu

Sebelum ada yang berhak marah

Sampai 22 Oktober, 11.06 WIB

Kebijakan sudah tertulis. Fork sudah ada. Keduanya berjalan tanpa saling menyinggung selama dua minggu.

CodeWeavers menulis obituari Whisky

Sang CEO memuji proyek yang baru saja berhenti, dan berharap orang lain membuat versi mereka sendiri. Kalimat itu akan dikutip berkali-kali empat hari di bulan Oktober.

“We develop Wine so that anyone can use it, whether they buy CrossOver, download Proton, or build their own tools like Whisky.”

CodeWeavers, 18 April 2025

Rilis publik 1.0

NotProton lahir sebagai aplikasi Steam plus runner CrossOver. Tanpa CrossOver, aplikasi ini tidak bisa menjalankan apa pun. Itu bukan bug, itu desainnya.

Required for Crossover?

Pertanyaan pertama tentang uang, dan jawabannya datang dalam 22 menit: ya, perlu lisensi CrossOver. Issue ditutup pada menit ke-41.

Add setup for Wine and GPTK 4 in steam without crossover

Sebuah PR menambahkan engine gratis. Ditolak tiga jam kemudian: mendukung hal yang bukan CrossOver bukan tujuan desain proyek ini. Penulis PR menyebut karyanya dihasilkan Gemini Flash.

Does/Will this support non-paid crossover alternatives? (Wine, Whisky, Bourbon, etc)

Joziah2 menanyakan hal yang akan ditanyakan semua orang. Jawabannya panjang, dan sebagian besar isinya tentang surat penutupan Whisky.

Add free WineHQ engine with DXMT as an alternative to CrossOver

Commit pertama Raymond, dua jam sembilan menit sebelum jawaban #37 terbit. Subjek commit-nya sudah menyebut apa yang ia kerjakan: alternatif CrossOver. Tanggal author dan committer sama, jadi ini bukan tanggal yang dimundurkan.

It does not.

Jawaban yang menyebut CodeWeavers sebagai satu-satunya alasan Wine ada di macOS, dan menolak mengambil lebih dari yang diberikan. Teks ini muncul lagi sebagai badan issue #79, sepuluh hari kemudian.

“Without CodeWeavers, we would not have Wine on macOS, it’s as simple as that.”

NotProtonNot, issue #37, 8 October 2026

Add DualSense Bluetooth PCM, XInput rumble forwarding, and Game Mode support for Wine games

sn0wst0rm mengirim dukungan controller. Maintainer merespons hangat dan menyebutnya kemungkinan masuk rilis besar berikutnya. Sampai 26 Oktober, PR itu masih terbuka dan belum dirilis.

That specific fork is parasitic

Sasarannya fork Dino0005, bukan Bridgeplay yang belum ada. Alasan yang disebut: mengaktifkan fungsi yang ia pilih untuk tidak didukung, dan tidak menyumbang balik ke upstream.

“That specific fork is parasitic (it enables functionality I specifically opted not to support + makes changes that are positive but does not contribute anything back upstream) and I would prefer not to directly link it here.”

NotProtonNot, PR #90, 11 October 2026

Apologies for how aggressive I was in my comments.

Enam jam setelah kata parasitic. Dino menerima pada 07:33, dan permintaan maaf kedua datang pada 22:38. Kutipan di atas tidak lengkap tanpa bagian ini.

fix(ws2_32): own host name no longer resolves to loopback first (TEKKEN 8 ranked)

Nama berkasnya terdengar seperti penyamaran privasi. Isinya: macOS mengembalikan alamat loopback lebih dulu untuk nama host sendiri, dan SDK matchmaking TEKKEN 8 mengambil hasil pertama lalu menggantung. Patch membuang loopback dan link-local selama masih ada alamat routable, dengan urutan dipertahankan.

Improve the readme a little

README mendapat kalimat yang selama ini hanya ada di issue: dukungan untuk alternatif CrossOver tidak direncanakan. Ini commit pertama yang menyatakannya di dalam repo, tiga hari setelah fork Raymond ada.

feat: DLSS in Deadlock, crackle-free CoreAudio and forced vsync (ray.23)

Shim nvapi membungkus satu fungsi query, menimpa versi dan cabang driver, lalu meneruskan sisanya ke nvapi Apple. Versi driver palsu ini yang membuka pilihan DLSS di game yang menyimpan daftar driver minimum.

No. Never. Macs are also expensive.

Ditanyakan apakah installer bisa menawarkan pilihan CrossOver, GPTK, dan Wine. Jawabannya tiga kata, lalu satu kalimat tentang harga Mac. Ini jawaban terakhir yang diberikan sebelum fork tumbuh menjadi proyek sendiri.

Repo Bridgeplay dibuat

Dua belas hari setelah commit pertama, dan dua hari sebelum issue yang mengubah segalanya. Sampai titik ini, kerja berjalan di fork NotProton-WineHQ.

docs: Bridgeplay README with visuals from bridgeplay.dev

README sudah menyebut Bridgeplay sebagai fork NotProton, dua hari sebelum #79. Klaim bahwa kredit ditambahkan sebagai respons atas kemarahan tidak berlaku untuk titik ini.

Peluncuran publik di Threads

Postingan peluncuran menjual Bridgeplay sebagai cara gratis memainkan game Windows di Steam Mac, tanpa menyebut NotProton. Jamnya tidak tercatat di arsip riset, jadi hanya tanggal yang bisa dipastikan. Satu hari kemudian #79 dibuka di tracker repo ini.

Review atribusi: tidak ada pelanggaran

Reviewer independen menyimpulkan lisensi tidak dilanggar dan atribusi sudah ada. Satu celah dicatat: post peluncuran di media sosial tidak menyebut NotProton.

Ditutup dengan perbaikan

Lisensi GPTK dan kata fork di situs diperbaiki dalam hitungan jam, lalu issue ditutup.

v0.7.32

Rilis pertama dalam jendela yang akan menghasilkan dua puluh rilis dalam lima puluh jam. Sebelas menit kemudian, issue #79 dibuka.

Fase dua

Empat puluh delapan jam

22 Oktober, 11.17 WIB sampai 23 Oktober, 23.36 WIB

Satu issue, enam belas komentar, dua konsesi, satu kalimat yang tidak bisa ditarik kembali.

This should not exist.

Dibuka oleh penulis asli di tracker fork. Badannya menyalin jawaban #37. Isinya menuduh fork merusak proyek Wine, dan meminta agar hal seperti ini tidak ada.

“Stop. These slop forks are not helpful. They harm the Wine Project.”

NotProtonNot, issue #79, 22 October 2026

docs: credit CodeWeavers’ Wine work and port upstream PRs only after they’re merged

Aturan port-setelah-merge menjadi kebijakan repo, bukan janji lisan. Enam menit kemudian, Raymond menjawab di #79.

Thank you for writing this, and for NotProton.

Raymond mencabut klaim 32-bit, mengakui utang pada NotProton, dan menawarkan tiga komitmen: upstream dulu, tidak ada PR ke NotProton, kredit tetap.

“Bridgeplay wouldn’t exist without your work, and you’re right about more of this than I’d like.”

Raymond Chin, issue #79, 22 October 2026

Ditutup oleh Raymond

Status completed, dua setengah jam setelah jawabannya. Diskusi tidak berhenti: komentar berikutnya dari pihak NotProton datang pada 20:33 dan 05:47 keesokan harinya.

What a gross project, what a gross mentality.

Setelah issue ditutup, dan setelah Raymond menawarkan konsesi. Nada berubah dari argumen lisensi ke penilaian pribadi.

You’re a real piece of garbage. I wish you nothing but the worst.

Balasan atas komentar konsiliasi Raymond, disertai dugaan bahwa balasan itu dibuat AI. Tudingan itu benar, dan diakui dua hari kemudian.

“You’re a real piece of garbage. I wish you nothing but the worst.”

NotProtonNot, issue #79, 23 October 2026

v1.2.1

Rilis berisi feature plug-ins dan perbaikan prefix, di hari yang sama dengan komentar di atas. Tidak ada commit controller di dalamnya, jadi PR #90 tetap belum masuk.

Fase tiga

Yang tersisa setelahnya

24 Oktober, 00.10 WIB sampai 26 Oktober, 14.00 WIB

Fork mencabut fitur, memperbaiki kredit, dan merapikan lisensi. Penulis asli kembali bekerja. Tidak ada yang mengalah, dan tidak ada yang berhenti.

docs: put the fork credit at the top of the README

Kredit NotProton dipindah ke bagian paling atas README, sebelas jam sebelum surat terbuka #693. Klaim bahwa kredit baru muncul setelah kemarahan tidak berlaku untuk titik ini.

chore: remove all files

PR dari fork untuk menghapus seluruh repo. Bukan tindakan maintainer, tapi bagian dari tekanan yang berjalan malam itu.

docs(licenses): ship the LGPL text and list the WineCX runtime’s libraries

Teks LGPL penuh untuk berkas Wine yang dibawa aplikasi masuk ke bundle, bersama daftar setiap library di arsip runtime WineCX. NOTICE menyebut bagian GPL-nya (FFmpeg, x264, x265, libdvdcss, libdvdread, libdvdnav) dan tawaran source tertulis diperluas ke berkas GPL. Urutannya layak dicatat: enam menit sebelum surat terbuka #693 dibuka.

Surat terbuka aimardcr

Kritik paling keras datang dari Indonesia dan berbentuk paragraf, bukan cemoohan. aimardcr menulis bahwa persoalannya bukan pemakaian AI, melainkan cara Raymond menjawab kritik. Dua puluh tiga menit kemudian Raymond mengakui balasan-balasannya ditulis bot.

“But what you are doing right now isn’t contributing”

aimardcr, issue #693, 24 October 2026

the way i responded is full AI and was a mistake to ask my bots reply as i was in between meetings.

Pengakuan bahwa balasan-balasan sebelumnya ditulis bot. Ini yang membuat tudingan AI di #79 jadi ironi, bukan kesalahan.

“the way i responded is full AI and was a mistake to ask my bots reply as i was in between meetings.”

Raymond Chin, issue #693, 24 October 2026

Retire bridgeplay

Permintaan agar proyek dihentikan.

Merge #702 and apologise

Permintaan maaf dan penghentian. Di thread ini Raymond menautkan diskusi Reddit pada 25 Oktober.

fix(installer): stop shipping the WineCX runtime and fix the license notes

Installer berhenti membawa runtime WineCX. Alasannya ditulis di pesan commit: runtime itu memuat library GPL (FFmpeg, x264, x265, libdvd*) yang source-nya tidak diterbitkan dappermint maupun Bridgeplay, jadi setup mengunduhnya sendiri dan installer turun ke 45 MB. NOTICE juga berhenti menyebut folder wine/ GPTK sebagai Wine LGPL; isinya DLL D3DMetal milik Apple.

docs: plainer claims, full list of Steam changes, shorter copy

README berhenti mengklaim game berjalan native, satu klik, atau sampai 3x, dan mencabut judul yang tidak ada di basis kompatibilitas. Semua perubahan pada Steam ditulis, termasuk identitas RTX 4090 yang dilihat game untuk DLSS, dan kredit untuk Leon Seemann, Proton, dappermint, serta sn0wst0rm.

v0.7.51

Rilis ke-39 secara total, dan yang terakhir sampai 26 Oktober. Setelah ini, repo berhenti merilis.

Thought for Bridgeplay

ilya-id menulis thread panjang. Di dalamnya Raymond menyatakan sudah menghubungi CodeWeavers sebelum ledakan dan masih menunggu balasan. Sampai 26 Oktober tidak ada balasan publik.

docs(credits): name every copyright holder and keep authors on ported code

NOTICE menyebut setiap pemegang hak cipta. Ini konsesi yang bisa diperiksa lewat file, bukan lewat pernyataan.

revert(controllers): take out the DualSense bridge, Steam rumble and game-mode host

Kerja sn0wst0rm dicabut dari kode. Kreditnya tetap di NOTICE dan README, dan pesan commit menyebut pekerjaan itu disimpan di branch parked/notproton-90; branch itu tidak ada di remote saat klon. Karena PR #90 masih terbuka dan 1.2.1 tidak memuatnya, ini kehilangan fungsi, bukan kosmetik.

Hey, look, a Winetricks UI

Commit terakhir NotProton per 26 Oktober. Produknya berjalan seperti biasa. Tidak ada perubahan sikap terhadap fork, dan tidak ada jawaban atas komentar hari sebelumnya.

feat(app): name Leon Seemann in the copyright line and add the GPL notice to About

Nama Leon Seemann, pemilik repo NotProton-WineHQ yang jadi titik cabang, masuk ke baris hak cipta aplikasi, dan teks GPL ditambahkan ke layar About. Konsesi yang bisa dibaca di Info.plist, bukan di thread.

fix(compat): ignore invalid manifests before deduplicating installed games (#1108)

Commit terakhir sebelum data dikunci. Repo masih bergerak di hari terbit: merge PR #1108 masuk pukul 13.05 WIB. Tidak ada rilis baru dan tidak ada perubahan sikap terhadap NotProton.

Tidak ada pernyataan publik

Sampai 26 Oktober, CodeWeavers tidak menerbitkan pernyataan apa pun tentang NotProton atau Bridgeplay. Arsip blog Oktober berhenti sebelum drama, dan tidak ada pos yang menyebut kedua nama itu. Yang ada hanya posisi lama tentang Whisky.

Kekurangan terbesar Raymond Chin di mata para pengkritiknya sebenarnya sederhana: dia terlalu terkenal untuk dimaafkan.

Andai repo ini di-fork oleh orang biasa, tak ada satu orang pun yang akan peduli. Tuduhan "tidak beretika" itu cuma topeng kecemburuan panggung. Sehari-hari membela hak lisensi bebas, giliran software-nya beneran dibebaskan dan viral, mendadak sibuk mengarang.

PosisiKronologinya tidak membutuhkan dramatisasi tambahan. NotProton sudah menulis kebijakannya, Bridgeplay sudah ada, lalu #79 mengubah penolakan teknis menjadi permintaan agar fork itu tidak ada - dengan badan jawaban lama sebagai bonus. Setelah “you are a real piece of garbage”, sulit menyebut ini sekadar perdebatan arsitektur. Pihak pro-NotProton menulis punchline-nya sendiri.

Sidang publik

Dua ruang tempat kasus ini dibawa ke publik: Threads, tempat Bridgeplay diluncurkan, dan Reddit, tempat tuntutan maintainer diuji. Transkripnya berasal dari arsip riset lokal, karena akses langsung diblokir.

Pos Threads

  1. Pos peluncuran

    Mac gabisa main game Windows? done ✅ Gw open source gratis cara paling seamless buat main Windows game di native Steam Macbook kalian. bridgeplay.dev monggo di star, test, contribute kalo mau.

    Sehari sebelum #79. Tanggalnya 21 Oktober; jamnya tidak tercatat di arsip riset.

    www.threads.com/share/Ghhu9Qw9X
  2. Pos laporan bug

    kalo ada bug, bekabar

    Diposting pada hari yang sama, 21 Oktober 2026, dan dibuka untuk laporan masalah.

    www.threads.com/share/JQUcHnKXk

Thread Reddit r/macgaming

NotProton maintainer confronts influencer-backed fork Bridgeplay over macOS Wine sustainability; owner refuses to take down repo despite upstream’s demands

  • 340+Upvote
  • 260+Downvote
  • ratusanKomentar

Angka berasal dari arsip riset 26 Oktober. Reddit menampilkan skor publik, bukan rincian upvote dan downvote, jadi angka ini tidak bisa dibuka lagi di halaman aslinya.

Buka thread asli

Pernyataan maintainer

I do not think they are required to do what I want. The license I opted to use gives them the right to do what they are doing. But what they are doing is harmful. Not to me, but to CodeWeavers. I think that's a tragedy. So I asked them to not do it. I ask everyone who does this to stop. Most have opted to stop. Free software is freedom. Free speech. Free as in freedom. Not as in free beer. Forks like these offer free beer, but the only company producing beer is CodeWeavers, and if they get into trouble....we're all screwed. I continue to believe that the behavior of the social media influencer is disgusting and actively harmful. Additionally, they are end to end vibing a fork, merging in incomplete/unreviewed PRs and hallucinating issues.

u/NotProtonMac · Maintainer NotProton

Suara lain di thread

  1. u/Particular-Treat-650Menolak tuntutan124 upvote

    Does an upstream maintainer's request to stop distributing a fork carry weight? Absolutely, unconditionally, no. The license is the license. Not having a say and not being able to revoke it are the whole point.

  2. u/SeanmclemMenolak tuntutan173 upvote

    That's open source.

  3. u/y-c-cMenolak tuntutan

    I'm a paying customer of CrossOver but I'm honestly kind of tired of all these whiteknighting of CodeWeavers... CodeWeavers didn't invent WINE. They built themselves around an existing open source software (WINE), which already had been around for years and the foundation built by lots of other contributors...

  4. u/peckxetraMenolak tuntutan

    Open source shouldn't mean 'you're free to fork my project, but only if I approve of what you do with it.' You can question Raymond's engineering decisions. You can criticize his reliance on AI... But if the fork complies with the license, demanding its deletion purely on ethical grounds? That's where I disagree.

  5. u/Adventurous_Plum_656Kritik pada Raymond

    As for the Bridgeplay 'maintainer', all they seem to respond is with AI-written messages. I doubt they care at all, which is honestly my bigger issue with this whole discourse. If you can't even write for your own project, what is your project for? Robots?

  6. u/rampancyKritik pada Raymond

    The problem is people who just want to use AI to vibe code for them the full CrossOver software stack for free... Does the maintainer of Bridgeplay or folks behind the veritable baker's dozen of vibe coded WINE launchers out there have the chops to maintain their code, solve compatibility issues or fix bugs?

  7. u/RoboErectusMenolak tuntutan

    If a vibecoder surpassed what codeweavers has done, then they absolutely deserve to get supplanted... Projects that learn to use the new tools will thrive. This has always been the case.

  8. u/itsjaseMenolak tuntutan

    I think this post is gonna backfire, I only know Bridgeplay exists now because of this post.

PosisiDi Reddit, NotProton mengatakan fork itu sah tetapi berbahaya, lalu meminta semua orang berhenti. Itu posisi politik, bukan konsekuensi lisensi. Yang lebih lucu: thread pro-NotProton yang dimaksudkan untuk mematikan Bridgeplay justru membuat orang menemukannya. Kalau ini strategi anti-publikasi, hasilnya bekerja seperti iklan.

Mesin

Argumen di halaman ini bersandar pada kode, jadi kodenya ditunjukkan. Semua angka berasal dari clone lokal dan diff terhadap merge-base 730f100; setiap patch engine dibaca, bukan diasumsikan.

Tiga basis kode

  • NotProton

    Pemilik
    NotProtonNot
    Lisensi
    GPL-3.0
    Peran
    Hook Steam dan runner CrossOver
    Ukuran
    201 commit, sekitar 53 ribu baris tanpa vendor
  • WineCX / GPTK

    Pemilik
    CodeWeavers dan Apple
    Lisensi
    LGPL-2.1+ untuk Wine; GPTK proprietary
    Peran
    Engine yang menjalankan .exe
    Ukuran
    WineCX 11.17, runtime 4.7.3
  • Bridgeplay

    Pemilik
    Raymond Chin
    Lisensi
    GPL-3.0
    Peran
    Fork, engine gratis, dan fitur baru
    Ukuran
    336 commit milik fork, 39 rilis

Perbandingan

Dua produk yang mengerjakan hal yang sama dengan cara berbeda. Baris ini disusun dari README, manifest, dan isi repo, bukan dari klaim di thread.

  • Runner

    NotProton

    CrossOver 26.3. Tanpa lisensi, aplikasi tidak menjalankan apa pun.

    Bridgeplay

    WineCX 11.17 dengan MSync, diunduh terpisah saat setup.

  • Grafis

    NotProton

    D3DMetal dari GPTK, DXMT terbatas.

    Bridgeplay

    GPTK 4.0 beta 3, DXMT, DXVK-macOS 1.10.3.

  • DLSS

    NotProton

    Mengikuti apa yang dilaporkan D3DMetal.

    Bridgeplay

    nvapi-shim melaporkan driver 595.41 supaya opsi DLSS muncul; sisanya diteruskan ke nvapi Apple.

  • Hook Steam

    NotProton

    notproton.dylib lewat Info.plist dan signature lokal.

    Bridgeplay

    Mekanisme yang sama, ditambah skrip perbaikan signature dan flag quarantine.

  • Installer

    NotProton

    CLI lewat Homebrew cask.

    Bridgeplay

    Setup Assistant grafis, engine diunduh saat setup. Sejak 24 Oktober tanpa runtime WineCX.

  • Jejak agen AI

    NotProton

    Tidak ada.

    Bridgeplay

    CLAUDE.md, AGENTS.md, dan state .claude di .gitignore.

Yang fork tambahkan pada kode warisan

Angka ini dihitung dari sisi Bridgeplay: diff terhadap merge-base 730f100, titik ketika fork berpisah dari NotProton. 444 file berubah dengan +49.270 dan −3.044 baris; baris di bawah adalah bagian terbesarnya.

  1. overlay-shim/framegen.m+2.521

    Frame generation: optical flow dua arah, MTLFXFrameInterpolator, pacing presentDrawable:atTime:, fallback.

  2. native-shim/+2.600

    Shim controller: hid_profile.c 36 KB, gamepad_shim.c 34 KB, gc_virtual.m 21 KB.

  3. dylib/feats/compat_run.sh+1.098

    Dua engine, gamefix per appid, pemilihan backend.

  4. app/19,7k → 33,4k

    Setup Assistant, installer, lebih dari 60 test Swift.

  5. compat/+2.614

    games.json dan reported.json, basis data kompatibilitas.

  6. native-launch/np-native.c+551

    Wrapper launch dan launch options.

  7. patch engine8 direktori

    winemac, wined3d, winebus, ws2_32, win32u, winecoreaudio, d3dx11, ngx-signer.

Yang tidak disentuh

Lapisan hook yang disebut hanya antarmuka berubah 37 baris di tiga file. Sisa nilai proyek ada di luar lapisan itu.

  • dylib/hooks/hooks.c23
  • dylib/core/loader.c4
  • dylib/resolver/resolver.c10

Audit patch engine

Sepuluh patch, dibaca satu per satu. Label di setiap baris menilai apakah patch berdiri sebagai rekayasa atau mengubah sesuatu di luar kode proyek.

  1. winemac retina203Terbela

    NSProxy membungkus view agar frame dihitung dalam piksel Win32; present dipanggil sebelum WM_SIZE.

  2. ws2_32 own-hostname118Terbela

    Membuang alamat loopback dan link-local dari hasil getaddrinfo untuk nama host sendiri, dengan urutan dipertahankan.

  3. winebus SDL mappings30Terbela

    Membalik urutan alokasi dan menulis NUL tanpa syarat; versi WineCX menulis lewat batas heap saat array penuh.

  4. wined3d driver version42Terbela

    Override lewat environment, parser empat komponen, default mati.

  5. winecoreaudio buffer18Bercelah

    Buffer device disetel ke setengah period untuk render. Perubahannya satu baris, tanpa test.

  6. d3dx11 CreateThreadPump51Bercelah

    Stub diubah menjadi fungsi yang mengembalikan E_NOTIMPL. Yang hilang hanya crash.

  7. hide-wine-exports84Bercelah

    get_proc_address menolak ntdll!wine_*; __wine_* tetap. Ada preseden di Wine Staging.

  8. nvapi-shim125Bercelah

    Membungkus satu fungsi query, menimpa versi driver, meneruskan sisanya ke nvapi Apple.

  9. win32u driver version29Tidak terbela

    Mengedit string dan QWORD di win32u.so, lalu re-sign ad hoc. Satu-satunya patch yang menyentuh biner engine.

  10. ngx-signer225Tidak terbela

    Membungkus CryptQueryObject dan WinVerifyTrust supaya system32\nvngx.dll lolos sebagai sl.interposer.dll milik game.

Dua patch tidak bisa dibela: win32u mengedit byte di dalam binary engine lalu menandatanganinya ulang, dan ngx-signer membuat satu pemeriksaan Authenticode berhenti berarti. Sisanya bisa diperdebatkan sebagai rekayasa agresif. Dua ini bukan.

PosisiSecara teknis, Bridgeplay bukan sekadar mengganti logo NotProton: diff-nya 444 file dan hampir 50 ribu baris tambahan. Dua patch tetap tidak bisa dibela. Itu sebabnya kritik terhadap Bridgeplay bisa sah tanpa menerima seluruh narasi NotProton - dan label “slop” tetap bukan pengganti audit kode.

Tiga argumen

Setiap tuduhan dipertemukan dengan bukti yang bisa diperiksa. Beberapa gugur. Beberapa bertahan, dan yang bertahan justru yang paling tidak nyaman bagi kedua pihak.

Ini cuma antarmuka di atas kerja orang lain.

Sebagian

Lapisan hook memang milik NotProton dan hampir tidak disentuh: 23 baris di hooks.c, 4 di loader.c, 10 di resolver.c. Tapi diff terhadap merge-base berisi 444 file dan 49.270 baris tambahan, termasuk patch engine, shim controller 2.600 baris, dan frame generation 2.521 baris. Sebagian besar nilai proyek ini ada di luar antarmuka.

Bukti

  • 444 file, +49.270/−3.044 terhadap merge-base 730f100.
  • native-shim: 75 CHECK dan fixture report perangkat asli. framegen: 60 CHECK, dua engine.
  • winebus memperbaiki bug alokasi yang dikirim WineCX sendiri.

Kode diambil tanpa atribusi.

Sebagian

Port sebelum merge benar dan diakui: aturan port-setelah-merge ditambahkan 22 Oktober. Tanpa atribusi tidak benar: kredit sn0wst0rm tetap ada setelah fiturnya dicabut, dan pesan revert menyebut asal-usulnya.

Bukti

  • e823152 menambahkan aturan port hanya setelah merged.
  • Pesan 5df8a5f: “NOTICE and the README keep sn0wst0rm’s credit.”
  • Review #2, 21 Oktober, tidak menemukan pelanggaran lisensi.
  • Situs bridgeplay.dev, dibuka 26 Oktober: “Bridgeplay is a fork of NotProton”, dengan nama Leon Seemann, dappermint, dan sn0wst0rm di bagian “Built in the open”.

Kritiknya datang dari luar, serangan terhadap developer Indonesia.

Gugur

Secara faktual salah. Kritikus paling keras adalah pengguna Indonesia, termasuk yang membuka surat terbuka dan pull request untuk menutup repo. Yang turun ke serangan pribadi justru penulis asli, dalam bahasa Inggris, di tracker publik.

Bukti

  • Surat terbuka #693, 24 Oktober.
  • PR #702, #704, #712 dan issue #727, semuanya 24 Oktober.
  • Kutipan #79, 23 Oktober: “You’re a real piece of garbage.”

PosisiArgumennya tidak seimbang: pihak pro-NotProton meminta kebebasan dibaca sebagai izin untuk memakai, bukan untuk fork. GPL-3.0 tidak mengenal pengecualian “kecuali hasilnya membuat produk CrossOver bisa dipakai gratis”. Bridgeplay tetap punya utang atribusi dan proses; utang itu bukan hak veto NotProton.

Yang tidak kami bela

Posisi di sampul hanya berarti kalau daftar ini ikut terbit. Tujuh hal di sisi NotProton, empat di sisi Bridgeplay, masing-masing dengan jejak yang bisa dibuka.

NotProton

  1. Menuntut sesuatu yang lisensinya izinkan

    #79 meminta agar fork seperti ini berhenti ada. Di thread yang sama, penulis aslinya menulis bahwa lisensi yang ia pilih memberi hak untuk membuatnya. Dua kalimat itu tidak bisa berdiri bersama.

    “Yes, you have a right to make such a fork, the license I selected gives you that right.”

    NotProtonNot, issue #79, 23 October 2026
  2. Menjaga gerbang untuk produk berbayar

    Kebijakannya konsisten dan publik: CrossOver wajib (#5), engine lain bukan tujuan desain (#18), dan pilihan engine dijawab “No. Never.” Itu hak pemilik produk. Yang tidak bisa dibela adalah memakai GPL-3.0 untuk kode yang sama sambil menolak konsekuensi yang lisensi itu berikan.

    BuktiCommit 30b65c0 menuliskan larangan itu di README pada 11 Oktober, tiga hari setelah fork pertama.

  3. Serangan pribadi, di tracker publik

    Setelah Raymond menawarkan konsesi, balasannya bukan tanggapan teknis. Kalimat itu tetap ada di #79, dan tidak ada permintaan maaf setelahnya.

    “You’re a real piece of garbage. I wish you nothing but the worst.”

    NotProtonNot, issue #79, 23 October 2026
  4. Menjawab pilihan engine dengan “No. Never.”

    NotProton berhak memilih CrossOver sebagai satu-satunya engine yang didukung. Yang tidak kami bela adalah cara jawaban itu menutup pertanyaan dengan “Macs are also expensive”, seolah harga perangkat menjadi argumen teknis.

    “No. Never. Macs are also expensive.”

    NotProtonNot, issue #37, 14 October 2026
  5. Menyalin jawaban lama ke dalam #79

    Badan issue #79 menyalin jawaban panjang dari #37, lalu dipakai untuk membuka konfrontasi di tracker Bridgeplay. Kritik boleh diulang; menampilkannya sebagai argumen baru membuat drama ini tampak lebih segar daripada isinya.

    BuktiJawaban #37 terbit 8 Oktober; #79 dibuka 22 Oktober dan memakai teks yang sama.

  6. Menyebut fork lain “parasitic”

    Komentar di PR #90 menamai fork Dino0005 “parasitic” karena mengaktifkan fungsi yang tidak dipilih untuk didukung dan tidak menyumbang balik. Targetnya bukan Bridgeplay, tetapi bahasa itu tetap menunjukkan standar percakapan yang kami tidak bela.

    “That specific fork is parasitic”

    NotProtonNot, PR #90, 11 October 2026
  7. Menjadikan “merusak Wine” sebagai fakta

    Issue #79 menuduh fork ini merusak proyek Wine dan pendanaannya, tetapi riset ini tidak menemukan bukti bahwa pendanaan bergeser setelah Bridgeplay muncul atau bahwa CodeWeavers meminta intervensi. Tuduhan boleh dicatat; kepastian palsunya tidak kami bela.

    BuktiArgumen pendanaan dikeluarkan dari daftar argumen karena tidak bisa dibuktikan; CodeWeavers belum memberi pernyataan publik.

Bridgeplay

  1. Peluncuran tanpa asal-usul

    Post peluncuran di Threads menjual proyek ini sebagai cara gratis memainkan game Windows, tanpa menyebut NotProton. Review independen #2 mencatat celah itu sebagai satu-satunya masalah atribusi, dan situs serta lisensi GPTK diperbaiki dalam hitungan jam.

    “Mac gabisa main game Windows? done ✅ Gw open source gratis cara paling seamless buat main Windows game di native Steam Macbook kalian.”

    Raymond Chin, Threads, quoted in issue #79

    BuktiReview #2, 21 Oktober: tidak ada pelanggaran lisensi, satu celah atribusi.

  2. Memakai kerja yang belum di-merge

    Kerja controller sn0wst0rm dari PR #90 masuk ke rilis padahal PR itu belum di-merge, lalu dicabut pada 24 Oktober. Aturan port-setelah-merge baru menjadi kebijakan repo di e823152 pada 22 Oktober, setelah kerja itu dipakai.

    Bukti5df8a5f, 24 Oktober: “revert(controllers): take out the DualSense bridge, Steam rumble and game-mode host”.

  3. Balasan yang ditulis bot

    Balasan konsiliasi Raymond di #79 ditulis bot, dan diakui di #693. Pengakuan itu datang setelah lawan bicaranya menuduh balasan tersebut dibuat AI. Tuduhan itu benar.

    “the way i responded is full AI and was a mistake to ask my bots reply as i was in between meetings.”

    Raymond Chin, issue #693, 24 October 2026
  4. Dua puluh rilis dalam lima puluh jam

    Antara v0.7.32 dan v0.7.51 ada 20 rilis dalam sekitar 50 jam; pada 20 Oktober saja ada 99 commit. Angka ini tidak membuktikan kodenya buruk. Ia menunjukkan tidak ada waktu untuk memeriksanya di hardware nyata.

    Buktiv0.7.32, 22 Oktober 04:06 UTC; v0.7.51, 24 Oktober 06:42 UTC.

PosisiDaftar ini memisahkan dua hal yang sengaja dicampur. NotProton boleh tidak menyukai Bridgeplay; yang tidak kami bela adalah cara pihak pro-NotProton mengubah ketidaksukaan itu menjadi tuntutan penghapusan. Bridgeplay boleh berdalih sedang bergerak cepat; itu tidak menghapus kecerobohannya sendiri.

Yang tidak bisa kami pastikan

Daftar ini bukan basa-basi. Semua yang tidak bisa diperiksa dikeluarkan dari cerita, bukan diperhalus.

Balasan CodeWeavers kepada Raymond.
Raymond menyatakan sudah menghubungi mereka sebelum ledakan. Balasan privat mungkin ada, tetapi tidak ada yang publik sampai 26 Oktober.
Klaim pelecehan agama atau rasial.
Disebut dalam diskusi, tetapi tidak ada tangkapan layar, tautan, atau arsip yang bisa diperiksa. Tidak dimuat.
Perilaku Bridgeplay saat menjalankan game.
Tidak ada build atau uji runtime dalam riset ini. Semua kesimpulan berasal dari source, diff, dan riwayat commit.
Branch parked/notproton-90.
Disebut di pesan revert, tetapi tidak ada di remote saat repo diklon. Klaim bahwa kode disimpan di sana belum bisa dipastikan.

PosisiYang tidak bisa kami pastikan tidak kami pakai untuk menyelamatkan siapa pun: CodeWeavers belum bicara, runtime belum diuji, dan branch parked tidak terlihat. Jadi pihak pro-NotProton tidak bisa mengisi lubang bukti dengan “pasti merusak”, sementara pihak Bridgeplay tidak bisa mengisinya dengan “pasti aman”.

Kolofon

Metode

Seluruh temuan berasal dari clone lokal kedua repo, riwayat commit, tag, dan respons API GitHub. Tidak ada build dan tidak ada uji runtime. Kutipan diambil apa adanya dari issue dan commit, termasuk kesalahan ejaannya. Waktu diubah ke WIB, UTC disimpan di atribut judul. Data dikunci 26 Oktober 2026 pukul 14.00 WIB. Kutipan Threads dan Reddit berasal dari transkrip riset lokal karena akses langsung diblokir. Situs bridgeplay.dev dibuka pada 26 Oktober dan isinya diperiksa langsung.

Kredit dan batas

Halaman ini tidak berafiliasi dengan NotProton, Bridgeplay, CodeWeavers, atau Apple. Nama dan kutipan dipakai untuk mengidentifikasi pernyataan publik. Riset mentah ada di folder research/, termasuk JSON yang bisa dibandingkan dengan commit.

Daftar kontributor Bridgeplay

Angka

Commit NotProton201
Commit repo Bridgeplay568
Commit milik fork336 (221 / 84 / 31)
Diff terhadap merge-base444 file, +49.270 / −3.044
Rilis Bridgeplay39
Rilis NotProton16
Kontributor tercatat21
Riwayat ter-fork (NotProtonNot)156 commit
Kontributor dengan lokasi publik di Indonesia2 (Jakarta, Yogyakarta)

Perubahan

  1. Issue 01 diterbitkan. Dua koreksi terhadap catatan riset awal: commit pertama Raymond mendahului jawaban #37, dan #79 ditutup oleh Raymond, bukan bot.
  2. Argumen “Fork ini merusak pendanaan Wine” digugurkan: tidak ada bukti bahwa pendanaan Wine bergeser setelah fork ini ada, dan urusannya dengan Bridgeplay tidak bisa ditunjukkan. Tuduhannya tetap tercatat di kronologi #79 sebagai klaim, bukan sebagai argumen. Situs bridgeplay.dev kembali bisa dibuka, jadi entri soal isinya dikeluarkan dari daftar belum pasti dan dipakai sebagai bukti di argumen atribusi.

PosisiKesimpulan akhir kami, untuk kasus ini saja: kritik kami ditujukan kepada NotProton dan para pembelanya yang seakan berkata, “Free as in freedom... just not the freedoms I don’t like.” Menyebalkan. Kami tidak sedang membahas semua proyek open source atau semua kasus lain. Bridgeplay tetap kami kritik, tetapi dalam perkara ini tuntutan agar fork GPL-3.0 yang sah berhenti ada tidak bisa kami terima.