Are Dll's created with purebasic Illegal if used in GM?

Everything else that doesn't fall into one of the other PB categories.
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Rescator wrote:Though one indeed. Maybe the statement needs to be elaborated a bit more!

But the following should be no issue:

1. Making "wrapper" dll's that you use in your own program/game, even if it's made in another language!
2. Making "complex" dll's that you can release and any 3rd party can use.
3. Releasing the source code of a dll so others may compile it themselfs instead!

What is the difference between a wrapper and a complex/normal dll?

A dll where all functions are nothing more than:

Code: Select all

Procedure GetOSVersion()
ProcedureReturn OSVersion()
EndProcedure
That is a typical wrapper.

A normal/complex dll would be:

Code: Select all

Procedure GetOSVersion()
;lots of code here
;and here
;and here
;and here
;and here
;and here
;and here
;and so on for several lines
;You may even use OSVersion()
;as long as you actualy code something
;and not just "wrap" PB features.
ProcedureReturn result
EndProcedure
To put it another way.
If someone really need to use OSVersion()
they should buy PureBasic and make the dll themselfs instead.
PureBasic is so cheap that I don't see that a issue at all.

To put it in yet another way (perhaps the simplest explanation I can think of):
If over half of the code in a dll is simply wrappers or direct reuse of
PureBasic functions, then do not release that dll to 3rd parties.
If like the majority of the code in a dll is your own code,
there should be no issues.


Note! This is just my own view on this though. Fred's words is the only official word on this!
I think this is as definitive an answer as you'll get. A "wrapper" is something that supposedly is a direct "wrap" of a command, as shown in the example but is subject to opinion as its not really a legal term.

But really, just as long as there is reasonable amount of code alongside the GetOSVersion you will be fine.

(For example I made a networking library for DarkBasic pro before i realized it was crap. It was not a direct wrapper, and there was quite a bit of code that went into it to enable packet reconstruction and such so it was not a wrapper.)
pythonpoole
New User
New User
Posts: 1
Joined: Thu Jul 28, 2005 7:14 pm

Post by pythonpoole »

This is very unfortunate.. as people at the GMC (Game Maker Community) have been creating some excellent DLLs in purebasic that call win-api functions etc.. But for some reason a member (Global Moderator) of the community whom everybody hates decided to be an ignorant tyrant, and decided that his interpretation of the dll statement in the FAQ was the only correct one.

He said they're illegal no matter what.. so after this all of a sudden all the excellent DLLs that did so many amazing things that GML (The Game Maker Language) would not be able to accomplish were all deleted with no trace.. Each person who made them was instructed to delete their website, delete any trace of them on their computer and any trace of them on the internet..

Approx. 100-150 dlls or more were have said to have been deleted. The community only has bits and pieces of whats left of them, but now the whole community is believing that calling win-api functions etc in a pure basic DLL is completly illegal.

I really do have to say I hate that guy that decided his interpretation of the statement was right.. He is really just a smart a** who abuses his moderator power and allways replies with negative comments and closes any topics within reach..

Just for reference I've included the GM forums website: http://forums.gamemaker.nl

Oh and I hate to point fingers any body but its the member names "Yourself" who caused all this distruction just incase someone wanted to contact him.

Oh and one last thing, the member who started this topic posted this topic link on the Game Maker forum site.... and guess what happened in 5 min?

The topic got Deleted :O!!! And guess who it was... "Yourself", him self.

I guess I will have to contact Fred to get the true answer... I'm very upset that these DLLs are now gone, atleast I managed with some friends help to piece about 10 or 15 of them together, but the best ones are still missing. Perhaps non-existant.

I guess this doesn't really concern you guys so i'll stop talking, but I was very upset when I found out they all dissappeared over night without a trace. Now I'm going to have to start learning some language such as pure basic to make my own DLLs for my applications.

Thanks for your guys help, if only we had contacted you guys before this awful distruction occurred :(
No signature here... yet :P
DracoOrion
New User
New User
Posts: 7
Joined: Wed Jul 27, 2005 9:18 pm

How did u know i am Vehta?

Post by DracoOrion »

but anyway, we really need Fred's opinion but how do we go about contacting him?
Fred
Administrator
Administrator
Posts: 18351
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

There is an answer here: viewtopic.php?t=15540 . Basically you can't release a DLL for commercial or free use for another programming langage with PB high level functions in it. API isn't concerned at all, and basic libraries as well (file, string and math). Other libraries cant' be used, one command is often several hundred of line of code, we hope you correctly understand our point. But it's allowed if it's for your own project, like a game/app written in another langage which needs some pb commands. There is no restriction in this case.
Post Reply