Brl.mod, Dynamic Linking, and the BSSCL

BlitzMax Forums/BlitzMax Programming/Brl.mod, Dynamic Linking, and the BSSCL

N(Posted 2005) [#1]
Could someone clarify this for me please...

You may not distribute static or dynamic library files based in whole or in part on this source code.


So, in other words, does this mean that any and all possibility of creating DLLs using standard BRL modules is completely out of the question? And because of what the Brl.mod comprises (runtime, garbage collector, standard functions like math, etc.), this means that creating DLLs is completely out of the question?

Now, on another note, if one were to expose only their own symbols via an export file, wouldn't this make the BSSCL unneccessarily restrictive?

As far as I can see, BRL has already decided that the creation of DLLs with BlitzMax will not be allowed. Care to clarify?


xlsior(Posted 2005) [#2]
Maybe they just don't want you to create & distribute a 'wrapper' DLL for blitzMax as a whole that could be called from another language?


N(Posted 2005) [#3]
That may well be, but it's up to BRL to clarify the license. This is why I don't like generic licenses, instead of being able to read it and have explicit details, you have to make assumptions.


FlameDuck(Posted 2005) [#4]
That may well be, but it's up to BRL to clarify the license.
Actualy it's up to their lawyers vs. your lawyers. That's what they get paid for.

I would argue that any sourcecode you create in the BlitzMAX language is not based in whole or in part of BRL's underlying sourcecode.


N(Posted 2005) [#5]
My lawyer would only be able to interpret it as he saw it, their lawyer knows exactly what they imply and state with the license.

So, as far as I'm concerned, BRL needs to clarify it.

Also, I would argue that while your source code is not based in whole or in part on the code in Brl.mod, the software you would create is due to the source code from Brl.mod being compiled and then linked to your application, thus making the software based in part on Brl.mod source code -- this is assuming you haven't decided to leave out all of Brl.mod, which would just be plain insane.


N(Posted 2005) [#6]
Bump.


Damien Sturdy(Posted 2005) [#7]
Noel, to me as i read it, it came out clear first time.

Basically (in the instance of windows) I can't release a DLL based on the module.

I can however, create EXE's, since an EXE is not a library :)


So, in other words, does this mean that any and all possibility of creating DLLs using standard BRL modules is completely out of the question? And because of what the Brl.mod comprises (runtime, garbage collector, standard functions like math, etc.), this means that creating DLLs is completely out of the question?



Yup. No DLLs at all.

In my oppinion, this will ultimately cause them to kick themselves in the knackers. The power of MAX yet it can't do the "simple" task of creating a DLL.


N(Posted 2005) [#8]
The power of MAX yet it can't do the "simple" task of creating a DLL.


Given others have done it before, it should be relatively simple.

My only problem is the license and how it is to be interpreted.

Frankly, I don't think it's a good idea to use BMax for DLLs, since you'd have to include the garbage collector and all the required BRL code in the DLL. I'm sure a lot of people can see the problem with that. If not, one word: bloat.


Damien Sturdy(Posted 2005) [#9]
Okay, I worded it completely wrong- I mean't that to disable the user from doing that would be like chopping off an arm.


N(Posted 2005) [#10]
*Points to BlitzPlus*


Amon(Posted 2005) [#11]
Could it be that BRL don't want another incident like the CoolBasic incident? Or does that have nothing to do with it?


Damien Sturdy(Posted 2005) [#12]
You're right. They seem to be doing that alot!


Amon, the What incident now?


Amon(Posted 2005) [#13]
Well, Don't you remember when that guy took Blitz3D & Blitz2D, wrapped them and released them as his own languages "CoolBasic" & CoolBasic3D. I remember users here went in to a fit when they found out that coolbasic was just a wrapped version of BlitzBasic.

It probably has nothing to do with what you guys are on about anyway. I just thought that BRL might have made a change to the blitzmax license to stop others wrapping it and releasing a language of their own called BlotzMax.


N(Posted 2005) [#14]
CoolBasic was a sort of wrapper for Blitz applications that provided access to Blitz functionality via an interpreted language (CoolBasic). The author was in the legal clear and Mark had no problem with it. As far as I'm concerned, there's a big difference between selling their work and writing DLLs of your own that only have dependencies on the modules.


Damien Sturdy(Posted 2005) [#15]
Heh, sounds like he did alot of work to do it though- a Basic written in Basic? I wouldn't have a problem is that as done.

Have to say I liked the way blitz3D was license wise. Shame that modularisasions ruled out this with Max.


Dreamora(Posted 2005) [#16]
modularisation wasn't the reason it was ruled out but the sources you got with it.
would you prefer no sources but a more B3D like license?

I wouldn't ...


N(Posted 2005) [#17]
modularisation wasn't the reason it was ruled out but the sources you got with it.


And given a well-written license that would not have any problems when it comes to interpretation, this is not a problem.

would you prefer no sources but a more B3D like license?


How many people need the source to the BRL modules? What have you changed that is so important? Your changes will just be lost when a new syncmods is performed, there is no benefit to having the source to the BRL modules when the majority of changes that don't benefit them won't be adopted, and even then we don't need the source to the garbage collector, runtime, etc.

Changes will just be lost each update, why should anyone care about the source then?


Chris C(Posted 2005) [#18]
Its actually *very* useful having the source, without it I wouldnt have been able to issue a blitzmax event from C...


Dreamora(Posted 2005) [#19]
I don't need the source for modifying but to see how it is done for optimizing the way I use it (and the first 5 months to do OO at all because it was totally undocumented ;)).


N(Posted 2005) [#20]
You know, any one of the BRL staff could have answered this question within the month it had been posted. Could it possibly take them that long to post what the intended interpretation is?


Mark Tiffany(Posted 2006) [#21]
While I can't account for the first couple of weeks in December, I'm guessing they may have taken a little time out over the past two weeks. God knows why.


skidracer(Posted 2006) [#22]
To answer your question Noel, no it is not completely out of the question. You will need to contact us via email with project details if you want to arrange to be considered for an alternative license. I would guess that the info contact on this website be your best means of communication.


N(Posted 2006) [#23]
So in other words, currently there is no option to create DLLs without obtaining an alternative license?


skidracer(Posted 2006) [#24]
Yes.


N(Posted 2006) [#25]
Edit: Rephrased it. How did you come to the decision to not allow the creation of DLLs?


skidracer(Posted 2006) [#26]
The company talked to their lawyer, of which all I know is IMHO their performance to date has been exemplary.


N(Posted 2006) [#27]
That's a pretty poor answer.


Tom(Posted 2006) [#28]
Lemme get this straight, so if you wrote a DLL that pretty much 'exploited' a max module, in the same fashion that coolbasic wrapped blitz3d, that isn't allowed right?

Makes sense.

But if you write say a vector math DLL, that's ok?

Noel:
Changes will just be lost each update, why should anyone care about the source then?


Many a bug fix has been spotted & fixed because users can check over the source.

User tweaks have also been implemented in updates.

There's 2 good reasons to care about source!

Having your own tweaks overwritten by a sync isn't ideal, but it doesn't take long to stick them back in. If updates were more frequent than a few days at a time, that'd be a real pain in the ass, but they're not :)


N(Posted 2006) [#29]
Lemme get this straight, so if you wrote a DLL that pretty much 'exploited' a max module, in the same fashion that coolbasic wrapped blitz3d, that isn't allowed right?

Makes sense.

But if you write say a vector math DLL, that's ok?


I highly doubt this is the case, considering what skid has said. Specifically:

currently there is no option to create DLLs without obtaining an alternative license?

Yes.


That explains it to me. BRL has effectively shut off an entire market.


Robert Cummings(Posted 2006) [#30]
Seems to me you're making a big fuss over nothing.
Blitzmax is a brilliantly capable language and cross platform, meaning that DLL creation being limited is a non-issue.


N(Posted 2006) [#31]
Well, Rob, you're wrong. I know what I'm making and I need to be able to create DLLs. I was hoping I could use BlitzMax and spare me the pain of using something else, but it looks like I'll have to buy Purebasic or use C.


Brucey(Posted 2006) [#32]
looks like I'll have to buy Purebasic or use C

That's just what to do then... :-)

No big loss for BRL, no big loss for you...


poopla(Posted 2006) [#33]
"No big loss for BRL, no big loss for you..."

Other then having to purchase another language, learn it, then deal with any potential idocies IT has implied much like this issue with Max? I recall a huge amount of hype over Max's DL creation potential?


FlameDuck(Posted 2006) [#34]
I was hoping I could use BlitzMax and spare me the pain of using something else, but it looks like I'll have to buy Purebasic or use C.
Or send them an e-mail in order to obtain an alternative license.


Brucey(Posted 2006) [#35]
Or send them an e-mail in order to obtain an alternative license.

I was gonna mention that also, but it appears not to be an acceptable solution :-)


N(Posted 2006) [#36]
Or send them an e-mail in order to obtain an alternative license.


Not an option considering it's pretty obvious that if there was the possibility of getting an alternative license without shelling out more money it'd already be included.


FlameDuck(Posted 2006) [#37]
I recall a huge amount of hype over Max's DL creation potential?
You recall wrong. Especially since Max does not create DLLs out of the box, nor is it mentioned on the product page. So I can't imagine where this 'hype' you're talking about comes from.

Not an option considering it's pretty obvious that if there was the possibility of getting an alternative license without shelling out more money it'd already be included.
That's not obvious at all. I would suppose that where you accurate in your assumption, said alternative license would be available as a seperate purchase from the BlitzMAX products page. But if you can't even be bothered sending them an e-mail enquiry, you can't be very serious, and their screening process worked perfectly.

(I should have been a beta-tester in another life) GED
You should also release the sourcecode and project files to The Eclipse Blitz Max Editor Plugin. *cough*


N(Posted 2006) [#38]
But if you can't even be bothered sending them an e-mail enquiry, you can't be very serious, and their screening process worked perfectly.


The question is what's going to save more time:
- Negotiating the terms of an alternative license.
- Buying PureBasic and using it.

I'm placing my bets on PureBasic taking far less time in the long run.


FlameDuck(Posted 2006) [#39]
I'm placing my bets on PureBasic taking far less time in the long run.
Probably not the kind of thing you should gamble on, but it's your funeral...


poopla(Posted 2006) [#40]
Flame - I'd been out of the loop, so to speak, with blitz products for over 8 months, so I was refering to just prior to max's release. Not entertaining the thought of anything recent. I'm not Being critical of max in any way, nor did my post imply that, I don't even own it, it was a question. Note the '?'. :) Thanks for clearing that up.

What kind of work has to be done to make it functional for DLL production? (I'll be moving into BlitzMax in time, I watch this board to try to gleen info I may find useful.)

[Edit] You can always tell en ego fest by the number of quotes in a particular thread. Just an observation.


N(Posted 2006) [#41]
What kind of work has to be done to make it functional for DLL production?


Judging by the state of things currently: a hell of a lot.


poopla(Posted 2006) [#42]
Always a useful response from the jaded.

Someone with some applicable information?


FlameDuck(Posted 2006) [#43]
What kind of work has to be done to make it functional for DLL production?
Someone (I can't remember who) posted a program that would do it semi-automatically, using the MinGW tools and object files produced by bmk IIRC. Can't seem to find linkage ATM tho'.

Someone with some applicable information?
Well, not really, no. Sorry.


N(Posted 2006) [#44]
It was skn3[ac], and last I checked it wasn't quite working the way it 'should have.'


Tom(Posted 2006) [#45]
Sweenies re-write of that utility works fine. I've managed to create a working DLL plugin for Lightwave3D using it.


N(Posted 2006) [#46]
Uh-oh, Tom, you're in violation of the license.


N(Posted 2006) [#47]
4 days and no response from BRL other than being mocked by their 'sales team' (one man is not a team), who seems to be more interested in what people call him than making a sale.

If you're going to suggest I contact you about an alternative license, the LEAST you could do is be prompt.


Hotcakes(Posted 2006) [#48]
Sweenies re-write of that utility works fine. I've managed to create a working DLL plugin for Lightwave3D using it.

Any linkage?

EDIT : Never mind.


Mark Tiffany(Posted 2006) [#49]
4 days and no response from BRL other than being mocked by their 'sales team' (one man is not a team), who seems to be more interested in what people call him than making a sale.

If you're going to suggest I contact you about an alternative license, the LEAST you could do is be prompt.

Bear in mind that in New Zealand, it is of course summer right now, and no doubt mark & skid have taken a few weeks off for holidays.

And before you say it, you're probably right, there probably should me someone left "manning the fort", but that still wouldn't give you an official answer any quicker.


N(Posted 2006) [#50]
Still no response. You guys really should try harder.


skidracer(Posted 2006) [#51]
As I suggested above, email info and you should get a response, I assume from the above you emailed sales instead???


N(Posted 2006) [#52]
I did. Then I contacted James, who said he had forwarded it to Mark.

So basically, Mark has failed to respond this whole time.

And I highly doubt Mark has a spam filter set up to ignore all e-mails from James.

Edit: Is there some hideous sales-killing reason you can't just sort this out here and now?


Mark Tiffany(Posted 2006) [#53]
Edit: Is there some hideous sales-killing reason you can't just sort this out here and now?

Yes. They've been burnt before.
Maybe they just don't want you to create & distribute a 'wrapper' DLL for blitzMax as a whole that could be called from another language?

Someone allegedly wrapped either blitbasic or blitz3d in a DLL, and sold it as their own language. I never knew the details, but it's understandable that BRL have tightened the license on BlitzMax to prevent this happening again. I can totally understand and sympathise with your frustration about a lack of response, but you should understand that it is highly unlikely that they will post a global "yes you can" policy, given the history.


N(Posted 2006) [#54]
Someone allegedly wrapped either blitbasic or blitz3d in a DLL, and sold it as their own language. I never knew the details, but it's understandable that BRL have tightened the license on BlitzMax to prevent this happening again. I can totally understand and sympathise with your frustration about a lack of response, but you should understand that it is highly unlikely that they will post a global "yes you can" policy, given the history.


I'm not asking for a 'yes you can' policy, I'm asking for an alternative license that allows me to link the BRL modules. If this means not exposing their code, then I'm fine with not doing that, considering how easy it is.

As it stands, BRL has pretty much screwed over any chance of DLL creation.

And as for CoolBasic, Mark has stated before that he did not mind that and that he wouldn't take any action against the creator(s).

Considering that CoolBasic is less popular than BlitzBasic and has little impact on sales of BRL products overall, I highly doubt it's a 'burn.' Probably better to call it an itch.