Licenses

Started by wombats, August 26, 2018, 00:32:42

Previous topic - Next topic

wombats

When distributing a binary created with BlitzMax NG, what licenses do we need to follow/include?

Henri

Hi,

Bmx-ng is licensed under zlib-license https://github.com/bmx-ng/bcc/blob/master/COPYING.md.

If I remember correctly, so was/is the original Bmax after Mark open sourced it.

-Henri
- Got 01100011 problems, but the bit ain't 00000001

wombats

Thanks for the reply. I should have stated that I'm aware BlitzMax NG itself is under the zlib license. I'm concerned about licenses of things used by BlitzMax NG and MinGW. Is there anything in there that requires us to distribute a license/provide credit?

Derron

The used (official) modules are either zlib or public domain. So you should not be restricted in the kind of licence for your _binaries_.

bye
Ron

Henri

Just to clarify what Ron said: No, you don't need to distribute any license alongside with your executable program/application.

-Henri
- Got 01100011 problems, but the bit ain't 00000001

Derron

Ah, misread the whole thing. Yes, as Henri said no "licence.txt" for 3rd party stuff is required.

I only answered above if there is a need to restrict your binary too (there are licences enfording derivative works, or works using the library, to be of the very same licence, this is _not_ the case here).

In other words: make your binary and do whatever you want with it.


bye
Ron

dawlane

#6
From what I understand. If you are using MinGW to build applications, you do have to distribute the winpthreads licence. The gcc run-times if I remember, are distributed under a modified GPL that has an exception clause that allows linking to non-open source code without the need to distribute such code as under the unmodified GPL.

If you have any doubt about such matters, you should seek legal advice from those that specialise in software licences.

Edit: I should point out that MinGW-w64 and it's variants come in either posix or win32 threading that if I remember, come with different licence requirements.

Derron

#7
Hmmm.

This seems to be an addition done some years ago:
https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/5238F91B.7010602@tdragon.net/

Seems you (dawlane) already linked to it:
http://mojolabs.nz/posts.php?topic=212331


Maybe it would be even worth having BMK output a "binaryname.COPYING.txt" including the needed licence stuff...

Even the Bmx-NG-release-packages would need to have this licences-thing in their directory then.


@dawlane
How does Monkey2 handle it?


bye
Ron

wombats

Hmm, well, that's frustrating. I have been using BlitzMax all this time because I knew it was under the zlib license itself. I didn't know about this winpthreads thing, though. From reading mojolabs.nz, it seems BlitzMax doesn't even use it, so it's highly annoying to have to distribute a license for code I'm not even using.

My project is a game maker, so I really don't want to get into the mess of requiring my users to distribute a license...especially if they themselves don't use that code. If they don't distribute the license, I worry that I will get the flak for it since the runtime only reads in an external file created by the editor.

Is this the case only on Windows? Can BlitzMax NG be setup to use a different compiler? Is there a way to remove winpthreads from MinGW?

markcwm

As far as I see it, you can build your Blitzmax apps in non-threaded mode so to not depend on the winpthreads library, then you don't need to include the license.

http://mingw-w64-public.narkive.com/KIW7zzI9/sigh-back-to-microsoft-compiler

Derron

NG is threaded in all cases and utilizes TDM MinGW.

Vanilla 1.50 uses precompiled modules (dunno what MinGW was used) and if you do not recompile / use 3rd party modules, you only use FASM instead of MinGW/GCC.
So for vanilla it depends on what was used for the lib/-folder and the module compilation.

bye
Ron

Henri

Quote...and utilizes TDM MinGW

Except that it doesn't. Release version has MinGW-w64, which has two different threading models: Posix and Win32. According to the thread provided by Mark, the author says that Win32 version is not baked into final compiled executable, unless specifically included. I know NG uses threading by default, but which threading ? Perhaps not either one ?

Plot thickens...

-Henri
- Got 01100011 problems, but the bit ain't 00000001

Derron

Hmm, seems you are right Henri.
Somewhere in my mind I thought of Brucey stating to use "TDM MinGW" so I did not look closer in the release-packages. On my linux box it does not use TDM - and on my Windows box I still use vanilla BlitzMax - with an pretty old TDM GCC release to compile some c-stuff - and this only because Brucey tested his modules with TDM stuff at that time. Hmm, should consider moving to NG there to avoid licence "issues".


bye
Ron

LT

So, there are NO license requirements for a vanilla BlitzMax game?  Need to get this straight, since I am releasing a demo in November.

Also, is there a license requirement for modules used, even if they're not distributed?  For example, I believe I am using Brucey's StringBuffer module.  Is a license required even though the source is not being distributed?

wombats

The situation with BlitzMax NG seems so confusing. If somebody had a copy of Visual C++, could it be changed to use that and avoid these licensing issues? I have no idea about all that.

Quote from: Derron on August 28, 2018, 19:23:06
Hmm, seems you are right Henri.
Somewhere in my mind I thought of Brucey stating to use "TDM MinGW" so I did not look closer in the release-packages. On my linux box it does not use TDM - and on my Windows box I still use vanilla BlitzMax - with an pretty old TDM GCC release to compile some c-stuff - and this only because Brucey tested his modules with TDM stuff at that time. Hmm, should consider moving to NG there to avoid licence "issues".
TDM-GCC includes winpthreads, according to this page on their website.

Quote from: LT on August 28, 2018, 22:56:46
So, there are NO license requirements for a vanilla BlitzMax game?  Need to get this straight, since I am releasing a demo in November.

Also, is there a license requirement for modules used, even if they're not distributed?  For example, I believe I am using Brucey's StringBuffer module.  Is a license required even though the source is not being distributed?

I can't say for sure about any version of BlitzMax now...I'm finding it very confusing.

I just looked at BaH.StringBuilder and it appears to be under the MIT license, so you will need to follow the requirements of that.