Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Distributing programs programmed in QB64?
#1
So what are the licensing requirements to distribute a program written with QB64?   

I've been approached by a twitch streamer to rerelease a program I wrote 27 years ago and distributed on AOL of all places, apparently obscure retro-games are all the rage. I originally wrote it for 6800 Macs in C/C++ so the code would a total rewrite but not all that difficult. I confirmed I could do it again in a relatively short time for windows with QB64 but I was unclear what the licensing requirements/restrictions were for distribution. 

Any advice would be appreciated.
Reply
#2
All you have to worry about are Copy Right font, sound or image files you used to make the exe.
b = b + ...
Reply
#3
Simply have a look into the COPYING.TXT file in the qb64\licenses folder, it's all detailed there.
Reply
#4
(07-07-2022, 07:31 AM)bplus Wrote: All you have to worry about are Copy Right font, sound or image files you used to make the exe.

All art and sound will be original. The font will be default or possibly a custom graphics font.
Reply
#5
(07-07-2022, 08:17 AM)RhoSigma Wrote: Simply have a look into the COPYING.TXT file in the qb64\licenses folder, it's all detailed there.

I read that and I'm a little confused because to me it reads like it's written for someone that wishes to copy and redistribute QB64 or a derived programming application and I'm not too sure how to properly cite licensing compliance for a something like a game or any other specific application as opposed to a development tool. If I have to include all the source code (for the game) it's not a biggie as anyone who frequents this forum can see I'm not very shy about sharing. 

I just want to get it right as I'm willing to let them setup redistribution but I don't want them or someone else to get zapped somewhere down the line.
Reply
#6
(07-07-2022, 12:50 PM)James D Jarvis Wrote: I read that and I'm a little confused because to me it reads like it's written for someone that wishes to copy and redistribute QB64 or a derived programming application and I'm not too sure how to properly cite licensing compliance for a something like a game or any other specific application as opposed to a development tool. If I have to include all the source code (for the game) it's not a biggie as anyone who frequents this forum can see I'm not very shy about sharing. 

I just want to get it right as I'm willing to let them setup redistribution but I don't want them or someone else to get zapped somewhere down the line.

I agree it is a little confusing, but basically there's two things that have to be considered: The license of the QB64 code (`libqb`) that is used in your compiled program, and the license of the various third-party libraries that we utilize to provide features such as images, sound, and other things.

The QB64 portion that is compiled into your program (`libqb`) is MIT licensed, so there's not really anything to worry about there beyond including the copyright notice in your distributed program.

QB64 is smart enough to avoid compiling in any third-party libraries that you don't actually use, and that's basically what the note at the top of `COPYING.txt` is about. Sound support is provided via an LGPL licensed library, so if your program uses sound then your code has meet the LGPL license requirements and you have to provide your source code when distributing the program (more or less). The other libraries have more permissive licenses, and thus mostly just require a copyright notice to be provided.

Also note that I'm pretty sure the information for `FreeGLUT` is wrong, I'll look into addressing that. Everything I can find indicates FreeGLUT is MIT licensed.
Reply
#7
So basically, slap the contents of the license folder in a folder along with my copyright and warranty info and I'm good to go. If there's sound include the source code for the whole code or just the module calling the sound? The more or less above has me asking that last question.

The source code could actually be a feature because the streamer dislikes some modern options like python as much as I do as a general programming language and does promote an otherwise very tech savvy audience to be more creative and learn to program as well. Being able to say.... look really... this is all this game actually takes to be playable, there's a lot of code...but it's all pretty darned simple is a plus to me.
Reply
#8
(07-07-2022, 05:22 PM)James D Jarvis Wrote: So basically, slap the contents of the license folder in a folder along with my copyright and warranty info and I'm good to go.  If there's sound include the source code for the whole code or just the module calling the sound?  The more or less above has me asking that last question.

The source code could actually be a feature because the streamer dislikes some modern options like python as much as I do as a general programming language and does promote an otherwise very tech savvy audience to be more creative and learn to program as well. Being able to say.... look really... this is all this game actually takes to be playable, there's a lot of code...but it's all pretty darned simple is a plus to me.

Yep, that's pretty much it, the safest move is to just take the entirety of the license folder and distribute it along with your program - it may include extra licenses for things your program didn't end up using, but there's no harm in that.

If you use sound then you need to distribute the entire source code for your program to meet the LGPL requirements, not just the modules using sound. And obviously, you're free to distribute your source even if you don't use sound Big Grin
Reply
#9
Thanks.
Reply
#10
just to continue the talking about distribuiting only program with no source code...
If I use also one instruction about sound my code becomes LGPL and I must share source code
if I use no instruction about sound my code is MIT license
....
if I use a different sound library my code is MIT license plus library's licence.
...
is it right?
Reply




Users browsing this thread: 1 Guest(s)