BRL's position on distributing SDK declarations

Archives Forums/Blitz3D SDK Programming/BRL's position on distributing SDK declarations

Barnabius(Posted 2007) [#1]
Obviously there's a number of people doing the translations and creating various include files with declarations for B3D SDK functions. Languages like Emergence Basic, Aurora, Power Basic, Delphi and other languages are now capable of accessing everything B3D SDK has to offer and this is basically good for BRL, as well as for the owners of the languages involved.

However, there is a small problem regarding the distribution of declaration files. For example: I have created Emergence Basic (EBasic) blitz3dsdk.inc file, which I would like to make available to the Ebasic community. Nothing wrong with that as long as they purchase the SDK in order to use it. But what happens if they (again legitimately) purchase or download a free application that uses the redistributable SDK DLL? Armed with the DLL and the include file any competent (insert the name of your language here) programmer would be able to take advantage of B3D SDK without purchasing it from BRL!

That is why I would like to hear from BRL first. I did send first version of my EBasic translation to them (skidracer) a few weeks ago but never got any reply. I would like for any additional translation of declaration files to be available to B3D SDK puchasers only but frankly speaking, if BRL does not answer in a week or two I would assume they don't care and would release the EBasic and Aurora includes to the respective communities. Of course, I would not distribute the DLL and would try to use Molebox or something similar to hide it from prying eyes but you know how it goes. Sooner or later the SDK DLL will be out (it already is) in the open.

Mark, Skid? What's your opinion and what would you like us to do?

Barney


ZJP(Posted 2007) [#2]
This is a great pb. In fact, the reverse engineering is easy with this SDK. May be an option like bbBeginBlitz3D("license key") ;-)

JP


Kanati(Posted 2007) [#3]
I'm thinking maybe the best way to do this would be with an app that converts the c++ / C# headers to various languages. In that way it can only be used to create the other languages includes/headers if the user has access to the ones distributed with the SDK.


BlitzSupport(Posted 2007) [#4]

Dlls are great but if people get their hands on it they can use them too. I guess BRL has taken this into consideration.



Of course. I'll leave the main question for Mark/skids to reply to, but b3d.dll is a copyright-protected file for which you need a license to re-distribute, so anyone looking to release anything developed in this way will still have to buy a copy.

Releasing b3d.dll with software while not owning a copy of the SDK -- which provides the license to re-distribute the DLL -- is copyright infringement, regardless of whether the software is freeware/commercial or anything else.


ninjarat(Posted 2007) [#5]
So, if we own the SDK, then we CAN distribute an end product with no source code with the DLL in use, but we can't reveal any entry points or anything, right?


skidracer(Posted 2007) [#6]
Sorry Barnabius for the delay in reply.

In regards to support for other languages, the wrappers need to be submitted directly to me for inclusion in future releases of the sdk and/or inclusion in the blitz3dsdk product updates file section of this site.

There may be a little delay in the way this works as the priority for 1.01 is to fix any deficiencies in the runtime binary itself.


Staton_Richardson(Posted 2007) [#7]
What about a simple tool released with the sdk that would wrap the dll into the executable.


Barnabius(Posted 2007) [#8]
O.K. Skidracer, I have the "include" files ready for Aurora and Emergence Basic but Pepsi and myself are still working on translating various examples. I'll package everything up and send it as soon as we are satisfied everything is running smoothly.

Good to know that 1.01 is already in the works. :-)

What about a simple tool released with the sdk that would wrap the dll into the executable.

I've used MoleBox to wrap B3D.DLL with executables compiled with EBasic, Aurora, PureBasic and PowerBasic. No problems whatsoever. However, one must be aware that some people had problems with MoleBoxed apps. Also, in order to pack DLL's one needs to purchase the more expensive Pro version of MoleBox.

Barney


SopiSoft(Posted 2007) [#9]
When you have a license to re-distribute the B3D.dll i really don't see why you would hide the dll other than doing BRL a favour or something.


Barnabius(Posted 2007) [#10]
I am creating simple learning games for local kindergartens and since I am doing it for free people don't expect me to be available on a 24/7 basis and sometime it happens they need to move the files around. And believe me, less files they move the better for them and for me and for whoever else is donating machines and software. So I pack all the necessary resources (including the needed DLL's) into a one EXE file and everybody is happy. A good side effect is I am sure the DLL is available to my app, something I cannot be too sure given the environment where the app is running.

And yes, if by hiding the B3D DLL I can do BRL a favour, why not. They've given us good tools over the years. This is one way of saying "thank you".

Barney


SopiSoft(Posted 2007) [#11]
in that case it's a smart move. ;-)