The lack of explicit answers to questions about remote linking and the like are causing increasing problems with the GPL. Currently, you can not statically link to a GPLed library, nor can you dynamically link. However I believe you can dlopen a GPLed library as well as including the functionality in another program which you communicate to via RPC, provided that your program is functionally still useful without the helper program. Further, you may not link against a GPLed appliation but you may communicate with it via RPC, TCP, etc. Finally, you only need to give a copy of the source to a person who you give a copy of the binary to. This of course means that you can put a GPLed application on your webserver and you never have to give the source to anybody if you so choose, even if you make the output freely available, or if use of your application only makes sense by remote execution. So what does 'distribute' mean in this interconnected world? If I can ssh into a box and run a binary, has it been distributed to me? What if I can run it via a web server? Or a caching proxy? And I understand you don't have to release source provided you only use the application internally, but the definition of internally has a few surprises for most lay people.
Now, did anybody follow all that? And I'm not even sure I got it all right. The next version will be long overdue.
Re:Patents and compatiability?
by
eison
·
· Score: 5, Informative
Afraid that is the *point* of the GPL.
The GPL is pushing a political agenda: "preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software." (from front page of gnu.org)
That restriction is the #1 thing that does support that agenda - if people find GPLed code useful enough that they want to use it, they will need to let others do likewise when they distribute their code.
I find it's not always what I want to do with my code (my agenda is often more in line with BSD), but it strikes me as genius in this means to achieve its end.
-- is competition good, or is duplication of effort bad?
The lack of explicit answers to questions about remote linking and the like are causing increasing problems with the GPL. Currently, you can not statically link to a GPLed library, nor can you dynamically link. However I believe you can dlopen a GPLed library as well as including the functionality in another program which you communicate to via RPC, provided that your program is functionally still useful without the helper program. Further, you may not link against a GPLed appliation but you may communicate with it via RPC, TCP, etc. Finally, you only need to give a copy of the source to a person who you give a copy of the binary to. This of course means that you can put a GPLed application on your webserver and you never have to give the source to anybody if you so choose, even if you make the output freely available, or if use of your application only makes sense by remote execution. So what does 'distribute' mean in this interconnected world? If I can ssh into a box and run a binary, has it been distributed to me? What if I can run it via a web server? Or a caching proxy? And I understand you don't have to release source provided you only use the application internally, but the definition of internally has a few surprises for most lay people.
Now, did anybody follow all that? And I'm not even sure I got it all right. The next version will be long overdue.
Afraid that is the *point* of the GPL.
The GPL is pushing a political agenda: "preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software." (from front page of gnu.org)
That restriction is the #1 thing that does support that agenda - if people find GPLed code useful enough that they want to use it, they will need to let others do likewise when they distribute their code.
I find it's not always what I want to do with my code (my agenda is often more in line with BSD), but it strikes me as genius in this means to achieve its end.
is competition good, or is duplication of effort bad?