DLLs and the Licence Agreement

BlitzMax Forums/BlitzMax Programming/DLLs and the Licence Agreement

Czar Flavius(Posted 2010) [#1]
I'm interested in making a DLL, but I don't want to break the licence agreement. I'm not an expert on such things, so I would appreciate it if anyone could clarify exactly what it means!

You may distribute executable applications built from
this source code under your own licensing terms. You may
not distribute static or dynamic library files based in
whole or in part on this source code.


What does this mean I am allowed to put into a DLL?


Htbaa(Posted 2010) [#2]
My guess is meaning that you export native BlitzMax functions etc. Purely your own. So, for example, you can't export DrawRect. If you were to make a DLL out of MaxGUI with all its functions exported, that wouldn't be allowed.


markcw(Posted 2010) [#3]
This question pops up every now and then, I found the last one here.

I agree with Htbaa, I think it means you're not allowed to distribute a BlitzMax dll with any official BlitzMax module dependencies included because then anyone could legally expose all the BlitzMax functions for free in a dll.

If you want an official answer you will need to email Mark Sibly.


Czar Flavius(Posted 2010) [#4]
For example, I use TLists in my project, does this mean I'd need to include the TList source code in my DLL for it to work? Is that allowed? That's the kind of thing which is confusing me. Of course I don't want to pirate BlitzMax, but I may want to use DrawRect in my program for example, what does that mean licence-wise?


Gabriel(Posted 2010) [#5]
It's not so much about what is compiled into the DLL as what is *exposed* by the DLL. If you exposed all the functions and methods within TList to people using the DLL, it would definitely not be permitted. If you don't expose any of that but rather expose some functionality of your own that simply happens to use TList internally, I don't think BRL would have a problem. If you're not 100% certain, your best bet is to ask them.


Zethrax(Posted 2010) [#6]
Basically the bulk of the functionality provided by the DLL should use your own code.

You're obviously going to need to use a lot of the default functionality under the hood, which is fine, but don't expose too much of the default functionality to the user to the point where the DLL could be considered to be mostly wrapping propriety Blitz functionality.


xlsior(Posted 2010) [#7]
The gist of the license is that it's not allowed to just wrap the built-in functions as-is, without your own functionality.

e.g. making a DLL that simply adds the entire blitzmax command set to a different language like C++.


Htbaa(Posted 2010) [#8]
A nice example is the Lua wrapped version of MaxGUI. The code is freely available, but you're not allowed to distribute the wrapped version as a static library or DLL as the whole MaxGUI API is being exposed. It be fine to statically link to it and distribute an executable as part of your program.

LogicGUI is actually a good example of it. It's a MaxGUI form/application builder, but you can't actually compile the program unless you have the MaxGUI module. I'm not sure though if MaxGUI is being used to preview the forms?


Dabhand(Posted 2010) [#9]
Basically, I imagine that doing a Cool BASIC scenerio is an absolute no no!

Dabz


Czar Flavius(Posted 2010) [#10]
Thanks everyone for the advice. I am going to send an email soon just to confirm, and I'll post back here what I find out.

What is Cool Basic?


xlsior(Posted 2010) [#11]
What is Cool Basic?


A rip-off of B3D, which wrapped the B3D command set pretty much as-is and called it CoolBasic.... Hence the clause in the current license agreement to prohibit exactly that.


LT(Posted 2011) [#12]
Hmm, this topic is pretty old, but I was wondering if someone could point me out to that clause in the agreement. I can't find it.

I am using Max to create a pretty sophisticated 2d and 3d engine and intend to build a scripting language into it that will be powerful enough that buying Max will not be required to make apps. It's not a Blitz wrapper, but it will have a great deal of functionality and I'm wondering if this would be considered a violation(?).


LT(Posted 2011) [#13]
Never mind, I seem to have found it. :)


Kryzon(Posted 2011) [#14]
I hope you found a way to legally proceed, because a pretty sophisticated 2D\3D engine is always welcome!


LT(Posted 2011) [#15]
Thanks, it will happen one way or another, but I hope I don't have to port to another language.


Czar Flavius(Posted 2011) [#16]
Send a customer support message, they get back quickly. Please also report back the result, for others' reference.