8bitbubsy / pt2-clone

ProTracker 2 clone for Windows/macOS/Linux
https://16-bits.org
BSD 3-Clause "New" or "Revised" License
447 stars 32 forks source link

Legal status? #19

Closed Midar closed 1 year ago

Midar commented 3 years ago

Hi,

I was wondering if there are any issues similar to ft2-clone#23 in pt2-clone? What is the license status of the fonts, buttons, etc.? Can this be safely added to various distributions? FWIW, I am intending to package this up for Fedora, depending on the license status.

Thx.

8bitbubsy commented 3 years ago

When PT's source code and assets were released in the early 90s, it was released under "public domain" (which is not how it works in Europe, but I guess it means that it has no restrictions anyways). I would say that it's safe to license it under BSD 3-clause.

Midar commented 3 years ago

Thanks for confirming! The concern is that Ultimate Soundtracker was not public domain and AFAIK ProTracker just an illegal "fork" of it created by editing the binary. However, PT had a different UI. So, PT could never release its source code into the public domain since it was, well, just an illegal fork, but the assets it could very well release to the public domain since those were not from Ultimate Soundtracker. Does that sound correct?

8bitbubsy commented 3 years ago

They couldn't release anything into the public domain to begin with, that's not how it works. Only expired copyrights go to the public domain in Europe, AFAIK. Your work is automatically copyrighted.

But by saying that it was public domain, it does at least mean that they give permission to put any license on it, I think?

Midar commented 3 years ago

Yeah, I think you cannot technically give it to the public domain in Europe, but it is basically equivalent to "do what you want". In any case, it seems like there is nobody who would have any claims on the UI, only maybe on the original soure code - which isn't being reused at all in the clone, AFAIK?

8bitbubsy commented 3 years ago

There's some directly ported code in the clone, but also quite a bit of my own. Anyway, I don't have 100% control over where some snippets may come from and so on (and what license they have), so I can't really answer your question with a simple answer. The clone(s) were written with a passion to make a 1:1 clone of good quality, and doing that without sourcing some snippets from here and there is not easily doable with my current skills. This is also one of the reasons why I don't like open-source programming, it can be demotivating to deal with all the licensing. I first didn't want to support Linux at all, but I got pressured to do it from other people.

8bitbubsy commented 3 years ago

Anyway, I try to make sure that the snippets I use can share a similar license, but I can't guarantee it. Like I have used some code from musicdsp.org recently, and not all the snippets there specify a license.

Midar commented 3 years ago

Copying code snippets without a license is definitely highly problematic. If code snippets have no license, it means you have no right to use it at all. This has nothing to do with open source, but with copyright law. I'm sorry to hear you're exhausted by this, but unfortunately, we live in a world with strict copyright laws, so we all need to deal with licenses - be it open source or not. This has nothing to do with open source or Linux.

Do you know which snippets those are, so we can rewrite them to make sure pt2-clone can actually be distributed without infringing on copyrights?

8bitbubsy commented 3 years ago

I'm willing to take that risk, to keep the clone as good as it is. Maybe it's a better idea to not make a Fedora package then. Is it really that important? The snippets I'm talking about are two routines from musicdsp.org (decimate2x routines in pt2_downsample2x.c, and filter routine in pt2_rcfilter.c), and they are of course meant to be used, even if I can't find any license on them.

There's also ppdecrunch() in pt2_module.loader.c

8bitbubsy commented 3 years ago

I think that's all, but I don't really remember.

Midar commented 3 years ago

I had a look at that side. Some of them are merely formulas and not really code - I think those should be fine, as they describe an equation and not a computer program. However, I also found others that are 100+ lines of code - those would be problematic. So it depends on what you actually did, if you just took the general idea or copied it verbatim, etc.

8bitbubsy commented 3 years ago

1) https://www.musicdsp.org/en/latest/Filters/231-hiqh-quality-2-decimators.html (class Decimateur9 -> C code) 2) https://www.musicdsp.org/en/latest/Filters/116-one-pole-lp-and-hp.html -> C code