473,785 Members | 2,480 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Are PHP libraries linked dynamically or statically?

Hi,

When a PHP program links to a library using include or require (or their
_once variations), is the library then linked dynamically or statically?

While it might seem irrelevant from a technical point of view, the
linking method is important when it comes to licencing issues as some
licences, like GPL, differ between those kinds of linking when it comes
to viewing the library as a derivative work of the main program.

Therefore it is quite important to know what kind of linking is in
effect when including libraries, and I hope someone in this group can
shed some light on this matter.

Thank you very much in advance,
Martin
Jul 19 '07
36 3201
Sanders Kaufman wrote:
Jerry Stuckle wrote:
>Martin Larsen wrote:
>>Excuse me, but why are you flaming like this? Did I ever call myself
an expert? Did I ever use bad language or something? Did I ever call
you stupid things? Was I ever impolite?

You came across as arrogant and self serving. If you weren't trying
to prove yourself an expert, why come up with all of that junk?

Sheesh, Jerry! You do this a lot. Your blood sugar gets out of whack
or something and you go BALLISTIC on some poor fool.

Not all of us are here to prove that we're experts.
Some of just like having conversations about things we're interested in.

Why - because someone comes here looking for free legal advice, has no
idea about the terminology he's using, then brags about what an expert
he is?

If he wants legal advice, he should see an attorney. This newsgroup is
for discussing PHP programming, not whether Joomla or any other product
is within its legal rights.

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jul 23 '07 #21
Jerry Stuckle wrote:
However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.
I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.

--
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.12-12mdksmp, up 32 days, 22:45.]

Parsing an HTML Table with PEAR's XML_HTTPSax3
http://tobyinkster.co.uk/blog/2007/0...table-parsing/
Jul 23 '07 #22
Toby A Inkster wrote:
Jerry Stuckle wrote:
>However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.

I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.
No, but does it require Joomla to run? Does it call their API's?
Require changes to their modules?

Or is it completely standalone (in which case there wouldn't be any
licensing issues)?

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jul 23 '07 #23
Jerry Stuckle wrote:
>
Toby A Inkster wrote:
Jerry Stuckle wrote:
However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.
I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.

No, but does it require Joomla to run? Does it call their API's?
Irrelevant.
Or is it completely standalone (in which case there wouldn't be any
licensing issues)?
As long as what Toby wrote is true (that the plugin does not use any
Joomla code) there is no licensing issue.

Try to look at it from a different angle: If you want to give a program
you wrote the ability to shut down the computer, do you need to own the
rights to Windows or ask Microsoft for permission to use the ExitWindows
function?

Bye!
Jul 23 '07 #24
Anonymous wrote:
Jerry Stuckle wrote:
>Toby A Inkster wrote:
>>Jerry Stuckle wrote:

However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.
I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.
No, but does it require Joomla to run? Does it call their API's?

Irrelevant.
Not at all. Joomla is quite within their rights to say if your code
interfaces to them, it must meet certain conditions - like GPL.
>Or is it completely standalone (in which case there wouldn't be any
licensing issues)?

As long as what Toby wrote is true (that the plugin does not use any
Joomla code) there is no licensing issue.

Try to look at it from a different angle: If you want to give a program
you wrote the ability to shut down the computer, do you need to own the
rights to Windows or ask Microsoft for permission to use the ExitWindows
function?

Bye!

If it interfaces to Joomla, it uses their code.

And actually, yes, you need permission to use the ExitWindows function
to call it. But read your compiler license. It specifically gives you
permission to do so.

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jul 24 '07 #25
Jerry Stuckle wrote:
No, but does it require Joomla to run? Does it call their API's?
Irrelevant.

Not at all. Joomla is quite within their rights to say if your code
interfaces to them, it must meet certain conditions - like GPL.
No. The person using my program together with Joomla must have the right
to use Joomla and the right to use my program. Nothing more and nothing
less. Calling Joomla functions from within my program only makes my
program useless for people not wanting to use Joomla or adhere to its
license.
As long as what Toby wrote is true (that the plugin does not use any
Joomla code) there is no licensing issue.

Try to look at it from a different angle: If you want to give a program
you wrote the ability to shut down the computer, do you need to own the
rights to Windows or ask Microsoft for permission to use the ExitWindows
function?

If it interfaces to Joomla, it uses their code.
No, it doesn't. It just calls a function which is unavaliable. If the
function is unavaliable my program does not run. That's it. If Joomla
happens to have functions that have the same name and make sense in the
context so that my program actually does something useful, that's great.
But that does not make my program a part of Joomla or Joomla a part of
my program.

To get this straight (so that no one can misunderstand): Of course, if I
provide a ready to use package which contains Joomla plus my program I
have to put the whole package under the GPL. Because I would not have
the right to do so without accepting the GPL.

However, if I choose to provide my program in a nonfunctional single
package which only contains my code I can choose to use any license I
like. And users who want to use my program and put Joomla and my program
together will have to abide by both li
>
And actually, yes, you need permission to use the ExitWindows function
to call it. But read your compiler license. It specifically gives you
permission to do so.
LOL! And in what way, shape or form could IBM/Borland/the GCC
team/insert compiler company of your choice here give me a license to
call code that was written by Microsoft?

Nope, the same principle I described above also works here: I don't need
to ask anyone if I am allowed to call a function called ExitWindows. If
my program just stops because such a function doesn't exist, that's bad
luck for me. If it does exist, that's fine, but doesn't make my program
part of Windows.

The user is responsible for bringing together a valid Windows license
(and thus a legally owned copy of the user32.dll which contains this
function) and my program (of course just as legally licensed by my
terms).

If what you say were true Microsoft could simply forbid anyone to
program for Windows because it is practically impossible to program for
Windows without using any Windows API.

Your technical advice is usually very good (even though a bit uppity at
times) but you don't seem equally well versed in the judicial side of
technology.

Bye!
Jul 24 '07 #26
Jerry Stuckle wrote:
Toby A Inkster wrote:
>Jerry Stuckle wrote:
>>However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.

I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.

No, but does it require Joomla to run? Does it call their API's?
Irrelevant. My newsreader (PAN) requires Linux to run (actually it can be
compiled for several operating systems, but the copy I have is compiled
for Linux, so needs Linus to run). It calls Linux APIs.

As it happens, Linux and PAN *are* both released under the same licence
(the GPL), but they don't have to be.
Require changes to their modules?
This is relevant.

--
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.12-12mdksmp, up 33 days, 12:21.]

Parsing an HTML Table with PEAR's XML_HTTPSax3
http://tobyinkster.co.uk/blog/2007/0...table-parsing/
Jul 24 '07 #27
Anonymous wrote:
Jerry Stuckle wrote:
>>>No, but does it require Joomla to run? Does it call their API's?
Irrelevant.
Not at all. Joomla is quite within their rights to say if your code
interfaces to them, it must meet certain conditions - like GPL.

No. The person using my program together with Joomla must have the right
to use Joomla and the right to use my program. Nothing more and nothing
less. Calling Joomla functions from within my program only makes my
program useless for people not wanting to use Joomla or adhere to its
license.
>>As long as what Toby wrote is true (that the plugin does not use any
Joomla code) there is no licensing issue.

Try to look at it from a different angle: If you want to give a program
you wrote the ability to shut down the computer, do you need to own the
rights to Windows or ask Microsoft for permission to use the ExitWindows
function?
If it interfaces to Joomla, it uses their code.

No, it doesn't. It just calls a function which is unavaliable. If the
function is unavaliable my program does not run. That's it. If Joomla
happens to have functions that have the same name and make sense in the
context so that my program actually does something useful, that's great.
But that does not make my program a part of Joomla or Joomla a part of
my program.
Which means your program requires Joomla to run. Your attempt to
rationalize will not hold up in court, IMHO. It's like saying "I was
out practicing my shooting and he just happened to get in the way of a
bullet".
To get this straight (so that no one can misunderstand): Of course, if I
provide a ready to use package which contains Joomla plus my program I
have to put the whole package under the GPL. Because I would not have
the right to do so without accepting the GPL.
No problem.
However, if I choose to provide my program in a nonfunctional single
package which only contains my code I can choose to use any license I
like. And users who want to use my program and put Joomla and my program
together will have to abide by both li
Yes. But if you want to call Joomla functions you have to abide by
their requirements to use those functions.
>And actually, yes, you need permission to use the ExitWindows function
to call it. But read your compiler license. It specifically gives you
permission to do so.

LOL! And in what way, shape or form could IBM/Borland/the GCC
team/insert compiler company of your choice here give me a license to
call code that was written by Microsoft?
Check your licenses.
Nope, the same principle I described above also works here: I don't need
to ask anyone if I am allowed to call a function called ExitWindows. If
my program just stops because such a function doesn't exist, that's bad
luck for me. If it does exist, that's fine, but doesn't make my program
part of Windows.
Tell it to the judge.
The user is responsible for bringing together a valid Windows license
(and thus a legally owned copy of the user32.dll which contains this
function) and my program (of course just as legally licensed by my
terms).
Tell it to the judge.
If what you say were true Microsoft could simply forbid anyone to
program for Windows because it is practically impossible to program for
Windows without using any Windows API.

Your technical advice is usually very good (even though a bit uppity at
times) but you don't seem equally well versed in the judicial side of
technology.

Bye!
And you come here looking for free legal advice, then throw out anything
which you don't agree with.

I suspect Joomla has done something you haven't - consulted an attorney.
I suggest you do, also. Otherwise you might find yourself in big
legal trouble.

Although IANAL, I believe you will find I am much more well versed in
the legal side than you think.

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jul 24 '07 #28
Toby A Inkster wrote:
Jerry Stuckle wrote:
>Toby A Inkster wrote:
>>Jerry Stuckle wrote:

However, they are developing a product to interface to Joomla, and one
which uses Joomla code. The Joomla people have every right to determine
licensing rights to anyone who uses their code.
I agree, but the OP stated that the plugin didn't use a single line of
Joomla code, which changes things completely.
No, but does it require Joomla to run? Does it call their API's?

Irrelevant. My newsreader (PAN) requires Linux to run (actually it can be
compiled for several operating systems, but the copy I have is compiled
for Linux, so needs Linus to run). It calls Linux APIs.

As it happens, Linux and PAN *are* both released under the same licence
(the GPL), but they don't have to be.
>Require changes to their modules?

This is relevant.
No, it isn't, Toby. You have a license to call Linux API's, and that
license does not require PAN (or any other program) to be open source.

Linux itself is GPL - but its license does not require programs calling
its APIs to be GPL. Joomla is taking that one step further and
requiring programs using its API to be GPL.

Perfectly within their rights.

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jul 24 '07 #29
Jerry Stuckle wrote:
Linux itself is GPL - but its license does not require programs calling
its APIs to be GPL. Joomla is taking that one step further and
requiring programs using its API to be GPL.

Perfectly within their rights.
But what they seem to be claiming is that the GPL itself demands that all
plugins must be GPL'd, and I disagree with that interpretation.

Yes, it is well within their rights to demand that plugins are GPL -- but
then they are enforcing conditions over and above what the GPL requires.

--
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.12-12mdksmp, up 33 days, 19:14.]

Parsing an HTML Table with PEAR's XML_HTTPSax3
http://tobyinkster.co.uk/blog/2007/0...table-parsing/
Jul 24 '07 #30

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1844
by: Kwan | last post by:
Hi All, In a Unix system (I am using Solaris, but not limited to it), who will dynamically linked libraries been linked to a multithreaded process? Will it have a different instance for every single thread, or just one copy and shared amough all threads? I have some static member variables in the class suggested that every single threads is having their own instance. Is that true?
3
10320
by: daniel_shaw01 | last post by:
I want to link the C++ standard libraries statically for my application because I don't space for the .so files on my target platform. After quite a bit of searching, I found very little information that was helpful. The best information I found was at this link http://fresco.org/~njs/c++-without-stdc++ I followed the approach here and used -nostdlib to disable the default linking. Instead I use the options:
4
2270
by: RobG | last post by:
I have a function whose parameter is a reference the element that called it: function someFunction(el) { ... } The function is assigned to the onclick event of some elements in the HTML source:
13
1561
by: tsoukase | last post by:
Hello, two questions: 1) Why is a library a collection of compiled source-files while each header-file is a single source? Would it be more efficient if they were both either compiled or not? Could a "header-library" exist? 2) Why do libraries have extensions .a and .so and modules .o, which should be reserved for cc -c output? Would it be better: module.m, lib.sl, lib.dl or something
7
5213
by: Steve | last post by:
Hi, We have an application framework library that gets statically linked to any applications we produce. (Windows apps, but I don't think that matters here). The framework is based heavily on the STL and the API uses many STL constructs. Because of the static linking, and the fact that both app and framework are built by the same compiler, we don't have any problems.
8
2080
by: bonk | last post by:
Is it generally OK for an EXE that has MFC linked statically to load an use another DLL wich has MFC linked as shared DLL ? To be more specific: I have an EXE that links a lib. Let's call it mylib.lib. That Lib as well as the EXE have MFC linked statically. Then in a completely different project I have a regular DLL, wich is compiled with the /CLR switch and therefore needs the special CRT libs as
4
1635
by: utab | last post by:
Dear all, I want to be able to use C++ libraries(maybe this is too abstract). Is there a source or tutorial giving the general details on the use of C++ libraries. (Sth like, to use all C++ libraries you have to complete these common steps and make the following configurations according to your OS.) I am looking for a step-by-step introduction to library usage. I also checked out the boost web page which seemed to me a bit confusing.
5
1962
by: Chris | last post by:
I have a page with mixture of static and dynamically added controls is there any way of controlling the order which they are added to the page. My submit button (statically added) appears before some textboxes (dynamically added). I know I could move it around with CSS but I want to move towards an accessible site that will display forms in the right order without CSS. Regards, Chris.
20
2144
by: pratap | last post by:
Could someone clarify how could one reduce the size of an executable code during compile time. Could one use specific compile time flag with makefile or is it advisable to go for dynamic linking. The idea here is that smaller the code size the faster is the code. Is Dynamically linked executable really faster than a single executable file which is not linked dynamically.? Is there any performance measuring metrics on gcc version 3.2.2
0
9480
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10148
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10091
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9950
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8972
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5381
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4053
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3646
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2879
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.