DLL licensing issues 2.....
- the.weavster
- Addict
- Posts: 1492
- Joined: Thu Jul 03, 2003 6:53 pm
- Location: England
DLL licensing issues.....
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...
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...
Re: Any PB programmers who are EMPLOYEES?
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.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.
Re: Any PB programmers who are EMPLOYEES?
Kuron wrote:DLL creation should be removed from the product

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.
"Have you tried turning it off and on again ?"
A little PureBasic review
A little PureBasic review
Re: Any PB programmers who are 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.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...
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.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.
Re: Any PB programmers who are EMPLOYEES?
Of course you're allowed to create DLLs that use PB functions, obviously.
You're only not allowed to do something like this:
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
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
Re: Any PB programmers who are EMPLOYEES?
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
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.
DLL licensing issues 2.....
I asked Fred about it years ago an am content with the answer I was given.
Re: Any PB programmers who are EMPLOYEES?
I think the PB website (FAQ) is clear enough :
I think it is a perfectly reasonable stipulation myself.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 may look like a mule, but I'm not a complete ass.
-
- 666
- Posts: 1033
- Joined: Mon Sep 01, 2003 2:33 pm
Re: Any PB programmers who are EMPLOYEES?
I wholeheartedly concur!srod wrote:I think the PB website (FAQ) is clear enough :
I think it is a perfectly reasonable stipulation myself.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.
Re: Any PB programmers who are EMPLOYEES?
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.LuCiFeR[SD] wrote:I wholeheartedly concur!srod wrote:I think the PB website (FAQ) is clear enough :
I think it is a perfectly reasonable stipulation myself.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.

Re: Any PB programmers who are EMPLOYEES?
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.
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.
Re: Any PB programmers who are EMPLOYEES?
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)
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!
Re: Any PB programmers who are EMPLOYEES?
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.
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.
"Have you tried turning it off and on again ?"
A little PureBasic review
A little PureBasic review
Re: Any PB programmers who are EMPLOYEES?
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.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)


Re: Any PB programmers who are EMPLOYEES?
*SIGH*
"Have you tried turning it off and on again ?"
A little PureBasic review
A little PureBasic review