DLL licensing issues 2.....

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
the.weavster
Addict
Addict
Posts: 1382
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

DLL licensing issues.....

Post by the.weavster »

I would use PB more if it weren't for the licensing restriction on creating shared libraries for use with other languages.

FireFox has the ctypes library that can be used to call functions from shared libraries when creating extensions and I have experimented with doing that, I've also tried calling shared libraries I've compiled with PB from Python and that worked well too. This is the kind of use that would be very interesting to me if it were allowed, but hey-ho...
User avatar
Kuron
Addict
Addict
Posts: 1393
Joined: Sat Oct 17, 2009 10:51 pm
Location: Nashville

Re: Any PB programmers who are EMPLOYEES?

Post by Kuron »

the.weavster wrote:I would use PB more if it weren't for the licensing restriction on creating shared libraries for use with other languages.
I am currently in this position myself with the 2d retro game engine I have been working on. DLL creation should be removed from the product because it is impossible to create a DLL with PB that doesn't use any of PB's functions.
User avatar
luis
Addict
Addict
Posts: 3715
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy
Contact:

Re: Any PB programmers who are EMPLOYEES?

Post by luis »

Kuron wrote:DLL creation should be removed from the product
:shock:

You can do DLL with PB and use them with other languages.
You are not allowed (legally) to wrap 1:1 PB commands/libraries and make them available to other languages.
User avatar
Kuron
Addict
Addict
Posts: 1393
Joined: Sat Oct 17, 2009 10:51 pm
Location: Nashville

Re: Any PB programmers who are EMPLOYEES?

Post by Kuron »

I'm curious--are there any employees who write PB as a job? NOT self-employed, and not consultants who get to pick their own language, but employees...
Many years ago, I used PB as an employee at a local organization. However, I got to pick what language I used for the job and I used what I had on hand. Although it was a volunteer position, I was indeed an employee and not a consultant.

luis wrote:You can do DLL with PB and use them with other languages.
You are not allowed (legally) to wrap 1:1 PB commands/libraries and make them available to other languages.
Unfortunately, what I have been working on uses PB functions (which is unavoidable since it is written in PB), which therefore would be available to other languages since it is a DLL and that is one of the purposes of a DLL. No biggie though, thanks to those who tested for me I know it works well and I can rewrite my engine in another language. The only downside is I was using the canvas gadget instead of relying on OpenGL or DX, so I will need to write a clone of the canvas gadget. I merely replied to what the.weavster said, discussion on the topic shouldn't be in this thread as it is not fair to the OP.
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: Any PB programmers who are EMPLOYEES?

Post by Shield »

Of course you're allowed to create DLLs that use PB functions, obviously.
You're only not allowed to do something like this:

Code: Select all

ProcedureDLL.i MyOpenScreen(width.i, height.i, depth.i)
	ProcedureReturn OpenScreen(width, height, depth, "")
EndProcedure
Image
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
User avatar
Kukulkan
Addict
Addict
Posts: 1261
Joined: Mon Jun 06, 2005 2:35 pm
Location: germany
Contact:

Re: Any PB programmers who are EMPLOYEES?

Post by Kukulkan »

I think it is nonsense to have a licence that says "you can do DLL's, but you are not allowed to use PB functions". I'm shure it is meant in that way, that you are not allowed to create a DLL (or other program) that simply wraps the existing PB functions. You can do a DLL that does some job but you are not allowed to do a DLL that offers functionality like myBase64Decoder(), mySHA1Fingerprint(), myCreateImage() or myResizeImage() etc. This will be only wrappers for PB functions and are not allowed.

If Fred is reading this, he maybe can clearify this in a few words.

Best,

Kukulkan
Last edited by Kukulkan on Fri Dec 09, 2011 3:23 pm, edited 1 time in total.
User avatar
Kuron
Addict
Addict
Posts: 1393
Joined: Sat Oct 17, 2009 10:51 pm
Location: Nashville

DLL licensing issues 2.....

Post by Kuron »

I asked Fred about it years ago an am content with the answer I was given.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: Any PB programmers who are EMPLOYEES?

Post by srod »

I think the PB website (FAQ) is clear enough :
Generally yes. You can make DLLs including PureBasic commands for your own projects without any restrictions. But it's not allowed to release simple "wrapper" Dlls to include PureBasic commands in other programming languages.
I think it is a perfectly reasonable stipulation myself.
I may look like a mule, but I'm not a complete ass.
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Re: Any PB programmers who are EMPLOYEES?

Post by LuCiFeR[SD] »

srod wrote:I think the PB website (FAQ) is clear enough :
Generally yes. You can make DLLs including PureBasic commands for your own projects without any restrictions. But it's not allowed to release simple "wrapper" Dlls to include PureBasic commands in other programming languages.
I think it is a perfectly reasonable stipulation myself.
I wholeheartedly concur!
User avatar
Kuron
Addict
Addict
Posts: 1393
Joined: Sat Oct 17, 2009 10:51 pm
Location: Nashville

Re: Any PB programmers who are EMPLOYEES?

Post by Kuron »

LuCiFeR[SD] wrote:
srod wrote:I think the PB website (FAQ) is clear enough :
Generally yes. You can make DLLs including PureBasic commands for your own projects without any restrictions. But it's not allowed to release simple "wrapper" Dlls to include PureBasic commands in other programming languages.
I think it is a perfectly reasonable stipulation myself.
I wholeheartedly concur!
Indeed. No restrictions if the DLL is made for your own project. If you are going to share the DLL, just don't use any of PB's commands/functions. Very fair, IMHO. It is just hard to find a way to create a DLL to share that doesn't use any PB commands/functions as any DLL you compile will be using PB commands/functions. :|
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: Any PB programmers who are EMPLOYEES?

Post by srod »

That's not what it says by my reckoning.

Don't create wrappers is what it says and there is a world of difference between a dll which makes use of PB commands and one which simply wraps PB commands. I have shipped dll's created with PB in commercial programs and those dll's are crammed full of PB commands. In no way, however, can the dll be said to simply wrap PB commands for use with other languages. None of the PB commands I have used in the dll are accessible to other users; only my own functions which have been exported.
I may look like a mule, but I'm not a complete ass.
c4s
Addict
Addict
Posts: 1981
Joined: Thu Nov 01, 2007 5:37 pm
Location: Germany

Re: Any PB programmers who are EMPLOYEES?

Post by c4s »

Fred said it quite often and the posters before me did too: Of course you can use PB functions in a DLL, however don't just wrap them!

One example I know of in which the developer had to rewrite some of the functions because of licensing issues: PaladiumX
(Fred also gave his opinion on the bottom of the page)
If any of you native English speakers have any suggestions for the above text, please let me know (via PM). Thanks!
User avatar
luis
Addict
Addict
Posts: 3715
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy
Contact:

Re: Any PB programmers who are EMPLOYEES?

Post by luis »

This is already been discussed.

http://www.purebasic.fr/english/viewtop ... ing#p28267

and the other thread just mentioned by c4s too.

The intent it's to avoid the simple rip-off of PB commands to expose them as they were your work.
If you add meaningful code to them, you can share the DLL.

It's obviously not a clear cut definition, common sense should be your guide.

I wonder why it's called "common" by the way. :)
Last edited by luis on Fri Dec 09, 2011 4:28 pm, edited 1 time in total.
User avatar
Kuron
Addict
Addict
Posts: 1393
Joined: Sat Oct 17, 2009 10:51 pm
Location: Nashville

Re: Any PB programmers who are EMPLOYEES?

Post by Kuron »

c4s wrote:Fred said it quite often and the posters before me did too: Of course you can use PB functions in a DLL, however don't just wrap them!

One example I know of in which the developer had to rewrite some of the functions because of licensing issues: PaladiumX
(Fred also gave his opinion on the bottom of the page)
You can't write a PB program without using PB commands. Simply using any command in a DLL will wrap the command, even if you are writing your own exhaustive functions to use that command. This is the nature of DLLs. Even writing a game that allowed EUs to make their own scriptable levels would be a violation, as would game making programs, game engines, etc. This isn't unique to PB, many indie/hobby languages have such a restriction. Very understandable after seeing some of the language clones people try and turn out with them. :mrgreen: There have been a few of those made with PB. :|
User avatar
luis
Addict
Addict
Posts: 3715
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy
Contact:

Re: Any PB programmers who are EMPLOYEES?

Post by luis »

*SIGH*
Post Reply