tags:

views:

107

answers:

3

I have an application that utilized libraries which are published under different licences like GWT(APL), MySQL(GPL), Protege(MPL), and they are running on the same server. I would like to know if they are using the same "shared address space". I am quite confused about this term - "shared address space". Also it would be great if anyone could explain what that means.

Thank you.

+1  A: 

It depends, but in it's broadest terms it is talking about the memory shared between a cluster of processors (where the minimum cluster size may be 1, i.e. a single server). Licenses that refer to such things usually allow you to run one copy of a product on a cluster or a single CPU, and use the term shared address space to indicate this.

It's not really possible tyo say more without sight of a lengthier extract from the license(s).

anon
+1  A: 

No. Each process on a machine runs with its own "virtual address space". Regardless of how much memory the machine has, each process can address 32bit (or 64bit or whatever) virtual memory. Mapped onto this address space is the code for the process itself, and also for any shared libraries. A single shared library will be mapped to any number of processes' virtual address space (hence the shared).

Basically if you link against a library, it will be in the same address space. If you call another process or simply have it running on the same server, it's not.

Draemon
thank you for your ideas
prashanta
+1  A: 

"Shared address space" is the context of the GPL was meant as a generalization for "process". It means that, for example, a pluging of a gpl'ed program, or a program based on a gpl library, should have the same license itself.

It has been a strongly debated point, though. Lunux Torvalds, for example, never liked the idea that Linux kernel couldn't support binary-only modules because of the kernel being GPL. This seemingly changed in 2008 but in fact many Linux kernel modules are partially proprietary despite the fact of meeting the requirement of sharing the kernel address space. It's a very fluid situation.

IlDan