ValleyBell / libvgm

A more modular rewrite of most components from VGMPlay. will include sub-libraries for audio output, sound emulation and VGM playback
irc://irc.digibase.ca/#vgmrips
142 stars 34 forks source link

Licensing #43

Open jprjr opened 4 years ago

jprjr commented 4 years ago

Hi there, I was writing up a readme for one of my projects that can optionally use libvgm, and wanted to make a note of the licensing (ie, here's a list of plugins that use libraries with different licensing), and I realized - I don't know how libvgm is licensed.

Would you consider adding a LICENSE file to the repo? Thank you!

superctr commented 4 years ago

Considering that the chip emulators are under the GPLv2, you should be able to use the entire library under the terms of GPLv2 as well.

jprjr commented 3 years ago

Hi, thought I'd bring this back up. Most chip emulators have licensing info, but some don't, like the WonderSwan core.

I know Linux distros usually won't package a library without licensing info available. I'm not sure this library is distributable without clear licensing info.

ValleyBell commented 3 years ago

The case of WonderSwan is ... difficult. The emulator is from the in_vgm Winamp plugin. There is a mirror of its source here: https://github.com/xbmc/audiodecoder.wsr/tree/Matrix/lib/in_wsr

I think in_wsr in turn got the emulation code from the Oswan emulator. Neither has a license attached to it.

For everything not-emulation-core I can probably assign GPL-2. I'm thinking of going with something more liberal for the audio output stuff though. (maybe something BSD-like)

kode54 commented 3 years ago

As an alternative, you could lift the WonderSwan emulation from Mednafen, which actually has a license.

jprjr commented 3 years ago

Looks like mame has an implementation as well https://github.com/mamedev/mame/blob/master/src/mame/audio/wswan.cpp

Also, higan https://github.com/higan-emu/higan/tree/master/higan/ws/apu

ValleyBell commented 3 years ago

I could maybe look into porting the Mednafen core. I don't feel like bothering with higan's one-file-per-function code and MAME's WonderSwan emulation is so bad in general that even the logged VGMs sound like stuff from Tiger's Game.com console. (or at least is was like this a few years ago)

ValleyBell commented 3 years ago

Regarding licensing: Does anyone want to volunteer in porting the current MAME "POKEY" sound core?

pokey.c is the only sound core from MAME that dates back to the pre-relicensing times and has the "MAME license". Some time after MAME's relicensing I ported all cores but this one, because it got rewritten and I didn't want to figure out how to uncouple it from the CPU.

jprjr commented 3 years ago

I'll volunteer, I think I can get that done

JesseTG commented 3 years ago

Speaking of licensing, under which license is libvgm itself released? I ask because I'm writing a VGM player for Unity, and being able to reference (or even outright port) the parser would be very helpful. Ditto for the core player logic.