(very) Confused about PureBasic license

Everything else that doesn't fall into one of the other PB categories.
Lyon
User
User
Posts: 59
Joined: Tue Mar 28, 2006 9:26 pm

Post by Lyon »

Now lets take an RPG Maker example. Say you wanted to make a 2D RPG maker.

You would have to write it from scratch as there is no "make game" function in PureBasic. You would have to write the code for loading levels, you would have to write the tile system, you would have to write the inventory system, spell system, dialog system, you would have to write the AI to handle what the NPCs do, you would have to write the interface to handle input and control from the user. You would have to write the particle system, system for displaying and scrolling maps.

You would have to write the editor so people could customize the game and and save their customizations, which would run off of the engine you create.

Here is an example of a scripting system done in PB:

http://www.purebasic.fr/english/viewtopic.php?t=20312

Here is a RPG Game Engine (written in PB) that uses that scripting system:

http://www.purebasic.fr/english/viewtop ... ht=#137304

The above is basicly a scriptable RPG Maker.

This is not in violation of the PB license and is not illegal. You are not bypassing anything or providing PB functions to unlicensed users.

PB has sprite commands, but they are useless unless you write the code that says where to display the sprite, where to move the sprite, what to do if a sprite collides with another sprite, etc.

If you made something like this, you could allow users to customize it, etc via a point and click editor like RPG Maker or via a scriptable system like this guy does.

What would BE in violation of the PB license, is if basically used PBs commands to write a DLL based 2D engine for other programming languages that would just open a DX window, and use PB functions to load and display the sprite and play sounds etc. This would be a simple wrap of PB's 2D functions. Now you could use that simple DLL wrap of the 2D functions for your own stuff using another language, but you could not make that simple DLL available to other programmers.

In the RPG Maker example I described and in the example I linked to, you are not just wrapping a couple of PB functions, you are writing an entire game engine, and this is allowed.

Any program of any type you make in PB will be using PB's functions. That is how programming languages work. Fred wants you to use the functions in the program you write, he just doesn't want you to do like in the 2D engine DLL example above and make a simple wrapper so other people can use PB's 2D functions in another programming language.
roblos
User
User
Posts: 20
Joined: Wed Apr 19, 2006 2:20 pm

Confused...

Post by roblos »

Well as far as I understand:

1) you can use PB because it's a powerful language :)

2) what Fred says is law because it's the author of PB and that's fine (we're all programmers, I guess)

3) you can create whatever you want with PB but you canNOT create dlls for other users to use in other languages or just as wrappers of PB commands

4) in general you canNOT create something that might compete with PB, for example another programming language, game maker software (you canNOT use any part of PB for it)

Well number 4 looks not well documented in the license but it seems, as reported by Lyon that someone has done it.
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

Of course you can write something that will compete with purebasic! You could write your own compiler you know ;) (your language -> assembler -> linker -> exe file) and that would be perfectly legal (not an easy job though hehe)

and you CAN write dll's for others to use in other languages, for example an encryption algorithm.

PB has sprite commands, but they are useless unless you write the code that says where to display the sprite, where to move the sprite, what to do if a sprite collides with another sprite, etc.

If you made something like this, you could allow users to customize it, etc via a point and click editor like RPG Maker or via a scriptable system like this guy does.
as I understand it from what fred wrote, THAT IS ILLEGAL!
because you use pb's sprite commands. i know it should be legal but as fred presents it he says that isnt .
Lyon
User
User
Posts: 59
Joined: Tue Mar 28, 2006 9:26 pm

Post by Lyon »

In his last email, Fred explained me:
"And the answer is definitely no, we own our code and you can't include some or any part of it in another product which will create new programs
(games or everything else)."

Am I missing something?
Yes, but so is Fred is seems. By that statement of Fred's you could not use PB to make ANYTHING.

Any code you write you own, not Fred. Any code you write will naturally use PB functions (that is how all programming languages work). Fred just does NOT want you doing like in the simple 2D DLL example I made. Fred has no problem with you using PB to write a complete customizable game engine like in the examples I posted and linked to. Many people have done so.

If Fred does object to things like that RPG example I linked to, too bad, he doesn't have a legal leg to stand on and should shut down PB as it wraps Windows API, DX, OpenGL, and Ogre3D. But I am sure Fred doesn't object to things like the RPG example, as I have seen him post favorable praise in threads for things like that or even some of the programming languages made with PB. :wink:
Lyon
User
User
Posts: 59
Joined: Tue Mar 28, 2006 9:26 pm

Post by Lyon »

as I understand it from what fred wrote, THAT IS ILLEGAL!
because you use pb's sprite commands. i know it should be legal but as fred presents it he says that isnt .
It is not illegal. If that were true, then PB would be illegal since it is written in some form of C++ and wraps DX, OpenGL and Ogre3D.

You will use PB commands in ANY program you write, that is how ALL programming languages work and what programming languages exist for.
roblos
User
User
Posts: 20
Joined: Wed Apr 19, 2006 2:20 pm

...

Post by roblos »

Hi Lyon
Lyon wrote:.... Say you wanted to make a 2D RPG maker....

http://www.purebasic.fr/english/viewtopic.php?t=20312

Here is a RPG Game Engine (written in PB) that uses that scripting system:

http://www.purebasic.fr/english/viewtop ... ht=#137304

....
I saw the above links and thanks again. It looks clear to me, I hope someone from PB team officially tells me the same so there won't be any doubt.

When I saw the first link, no exe was provided so I thought it was just source code you can legally share and part of a personal project. In the second link it was clear it was a 2D RPG MAKER.

ehm, when you write: "PB has sprite commands, but they are useless unless you write the code that says where to display the sprite, where to move the sprite, what to do if a sprite collides with another sprite, etc. "

I guess every command is useless useless you specify parameters, for example OpenWindow() but I dont want to make this topic go further and further :)

I also saw your last post: "Yes, but so is Fred is seems. By that statement of Fred's you could not use PB to make ANYTHING. " and as I said I would like someone from the PB team telling us officially that we can do.

I agree with you about that: "If Fred does object to things like that RPG example I linked to, too bad, he doesn't have a legal leg to stand on " but imho I always prefer to find a compromise and be the first to apologize than make objections.

Thanks,
Roberto
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

Lyon wrote:
as I understand it from what fred wrote, THAT IS ILLEGAL!
because you use pb's sprite commands. i know it should be legal but as fred presents it he says that isnt .
It is not illegal. If that were true, then PB would be illegal since it is written in some form of C++ and wraps DX, OpenGL and Ogre3D.

You will use PB commands in ANY program you write, that is how ALL programming languages work and what programming languages exist for.
PB is made in C and assembler. And its legal to wrap DX, opengl and ogre. And the C compiler was possibly open-source and it was legal to wrap some of it's commands too (though i dont see what there is to wrap other than api hehe)
Lyon
User
User
Posts: 59
Joined: Tue Mar 28, 2006 9:26 pm

Post by Lyon »

PB is made in C and assembler. And its legal to wrap DX, opengl and ogre. And the C compiler was possibly open-source and it was legal to wrap some of it's commands too (though i dont see what there is to wrap other than api hehe)
Just as it is legal to use PB to write your own programs. It is impossible to write a program in PB (or any programming language) without using the programming language's commands. :wink:
Last edited by Lyon on Wed Apr 19, 2006 10:42 pm, edited 1 time in total.
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

Yes and thats why i wonders of what fred says :(
roblos
User
User
Posts: 20
Joined: Wed Apr 19, 2006 2:20 pm

...

Post by roblos »

I'd like to add that some restrictions apply to other languages as well.

For example in PowerBASIC license (sorry to talk about it, but it's to support Fred's words :) I read:

"You may not use the licensed software to create a programming tool which allows programming functionality of the licensed software to be used by a person who has not purchased a license from PowerBASIC, Inc."

and despite of the difficult and legal language used (I'm not English mothertongue) it seems to me that I could not use PowerBASIC to create an interpreter that use part of the original language functionality and for people that don't own PowerBASIC, but in their website there is a sample of a parser (I believe it's called BINT from Olmi) and in their forums I read messages about people asking how to create interpreter or provide scripting functionality (by using the original language commands) to their software...

I guess it is similar to the RPG MAKER link provided by Lyon :)

Roberto
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Yea I dont get that response from Fred. Honestly the language states quite clearly in the license for pb that you cant make a wrapper dll whose PRIMARY (key word here) function is to wrap pb commands for another language. However you can create your own DLL just fine with PB commands and use it for whatever you want even if its say, using the LinkedList library internally.

Also I think the key here is don't make a competing product to PureBasic.... in PureBasic. Don't create a commandset wrapper for a competitor to Purebasic....in Purebasic.
roblos
User
User
Posts: 20
Joined: Wed Apr 19, 2006 2:20 pm

argh

Post by roblos »

Argh!!!!!!

is there someone who speaks German? I need help! :D

well while looking for some examples in codersworkshop.com (for blitz basic users) I noticed a software: Scream3D 2.0.

http://www.codersworkshop.com/viewshowcase.php?id=235

Unfortunately I don't speak German but I tried my best to understand it. (http://www.scream3d.de)

It looks like a 3d editor, 3d engine, script editor (well that's easy to realize:D) but in its features please note: Purebasic Compatibly, Support Syntax Highlighting for Purebasic Code, Compile Purebasic Code

Well I don't know if you need PureBasic in order to run PureLight. Honestly I did not understand anything because of the language and I did not find any license agreement I could understand, but I found a dll called gamelib.dll in the Game Library folder with .decls (for those using Blitz Basic it's a userlib).

Clearly the dll has been made with PureBasic. Ehm I'm having some doubts...guess what...

Is there someone that wants to try the above software and confirm my doubts?

Thanks,
Roberto
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

There is a difference between creating a program which uses the PB commandset (which is of course why PB is for) and writing a 'master' program which creates other programs which uses the PB commandset. That means than the customers of the this 'master' program will benefit of all the PB commandset for free, which is not acceptable for us.
roblos
User
User
Posts: 20
Joined: Wed Apr 19, 2006 2:20 pm

Hi

Post by roblos »

Hi Fred,
thanks for your support.

Can you just tell us:

what about the 2D RPG MAKER example provided by Lyon? Are we allowed to create something like that and maybe use some scripting functionality? Any limit in the scripting functionality?

And, if you have time, any comment about http://www.scream3d.de and my post?

Thanks again,
Roberto
Lyon
User
User
Posts: 59
Joined: Tue Mar 28, 2006 9:26 pm

Post by Lyon »

That means than the customers of the this 'master' program will benefit of all the PB commandset for free, which is not acceptable for us.
You mean like how you use the commandset of C++ and third-party libs to create PB?

Seriously, the PB commandset does nothing unless the user writes code telling the commands what to do.

How come you have never objected to the many, violations of this like Drac's recent game engine, several languages, scripting languages and game engines written in PB? Heck, you have praised some of them in threads.

Under your theory, even making a scriptable game in PB is wrong.

I guess you will be refunding the $$ for those of us who were led to believe we could actually make games with PB?
Last edited by Lyon on Thu Apr 20, 2006 12:05 am, edited 1 time in total.
Locked