Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

1. Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 10/11/2016 - 23:27h

Boa noite a todos,

Faz um tempo que desenvolvo focado em Linux e provavelmente já devo estar dependente de alguma biblioteca sob GPL, da qual não alterei o código, sou apenas usuário dela e prevejo fazer uso de mais bibliotecas na mesma condição. Utilizo "Dynamically Linked 'Shared Object'", aquelas bibliotecas .so e não estáticas, posso continuar com meu projeto, tem alguma restrição aplicável?


  


2. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

Paulo Jr
Pebis

(usa Debian)

Enviado em 10/11/2016 - 23:59h

Não vejo problemas, a função do software livre é justamente essa, compartilhar. Obviamente desde que você não queira apoderar-se de um software desenvolvido sobre essa licença, fechar o código, não dar os créditos ao desenvolvedor


3. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

Giovanni  M
Giovanni_Menezes

(usa Devuan)

Enviado em 11/11/2016 - 00:02h

Também não vejo problema, mas não sei se na Gnu/GP3 pode ter alguma restrição, até a GNU/GP2 eu sei que é tranquilo.




--------------------------------------------------------------------------
Somente o Software Livre lhe garante as 4 liberdades.
Open Source =/= Free Software.
https://goo.gl/mRzpg3
http://www.anahuac.eu/contrarrevolucao-osi/


4. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 11/11/2016 - 00:03h

Pebis escreveu:

Não vejo problemas, a função do software livre é justamente essa, compartilhar. Obviamente desde que você não queira apoderar-se de um software desenvolvido sobre essa licença, fechar o código, não dar os créditos ao desenvolvedor

Obrigado Pebis, meu interesse é respeitar a licença, caso faça alguma alteração nas bibliotecas tornarei pública as mudanças no mesmo termo das licenças.

A parte que fica para mim nebulosa é justamente ser usuário de bibliotecas .so sob GPL, obrigado pelo post.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


5. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 11/11/2016 - 00:11h

Isso aqui aparentemente quebrou minhas pernas:
Se uma biblioteca é disponibilizada sob a GPL (não a LGPL), isso significa que qualquer programa que a usa tem que estar sob a GPL?
Sim, porque o programa, como de fato ele é executado, inclui a biblioteca.

https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

Continuando mais pesquisas.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


6. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

Giovanni  M
Giovanni_Menezes

(usa Devuan)

Enviado em 11/11/2016 - 00:20h

No caso eu acredito que você teria a obrigação de disponibilizar somente o trecho aonde faz uso de alguma função daquela biblioteca, mas me parece estranho essa afirmação do projeto gnu, ou talvez mal traduzida, eu duvido que o Kernel linux não faça uso de biblioteca sobe licença gnu e o mesmo tem código fechado, é um caso para ver com cuidado, procure algum programador com experiencia na área para uma orientação, ou tente enviar um email a fsf




--------------------------------------------------------------------------
Somente o Software Livre lhe garante as 4 liberdades.
Open Source =/= Free Software.
https://goo.gl/mRzpg3
http://www.anahuac.eu/contrarrevolucao-osi/


7. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 11/11/2016 - 00:25h

Giovanni_Menezes escreveu:

No caso eu acredito que você teria a obrigação de disponibilizar somente o trecho aonde faz uso de alguma função daquela biblioteca, mas me parece estranho essa afirmação do projeto gnu, ou talvez mal traduzida, eu duvido que o Kernel linux não faça uso de biblioteca sobe licença gnu e o mesmo tem código fechado, é um caso para ver com cuidado, procure algum programador com experiencia na área para uma orientação, ou tente enviar um email ao a fsf

Boa noite Giovanni_Menezes,

Sobre o kernel, existe um texto antigo que fala que NVIDIA sambava para evitar problemas com GPL no seu módulo paras GeFORCE's.

Estou vendo um caso que me lembrei a "libreadline"(sob GPL) e "libedit"(sob BSD), parece que a libreadline por ser GPL foi e ainda é evitada por alguns programas.

No momento faço uso de alguns headers, talvez até algumas bibliotecas e já estou ficando preocupado, não queria ter migrar para os BSDs porque gosto muito de desenvolver no Linux.

O próprio google com o BIONIC(libc deles) do Android parece que tenta evitar problemas com licenciamento.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


8. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

Giovanni  M
Giovanni_Menezes

(usa Devuan)

Enviado em 11/11/2016 - 02:56h

Confesso que fiquei na dúvida também, pelo que sei as bibliotecas não são necessariamente código fonte, apesar de estarem lá elas são programas que são chamados, é algo semi-separado, mas como o projeto diz que você deve abrir o código, eles devem entender as bibliotecas literalmente como de código fonte, o que pra mim não faz muito sentido, é como se quem usa-se gcc tivesse que abrir o código do programa desenvolvido lá, independente do que for, só pelo fato de ser usado gcc, as bibliotecas nada mais são que ferramentas.

Se você futuramente conseguir melhores esclarecimentos, poste aqui, estou sempre interessado nessas questões de software livre.



--------------------------------------------------------------------------
Somente o Software Livre lhe garante as 4 liberdades.
Open Source =/= Free Software.
https://goo.gl/mRzpg3
http://www.anahuac.eu/contrarrevolucao-osi/


9. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 15/11/2016 - 01:26h

Boa noite Giovanni_Menezes,

Li muito esses dias sobre bibliotecas em GPL e software proprietário, com 99,9% de certeza não é possível simplesmente utilizar, tê-la no seu programa, se for do seu interesse você deve tomar alguma medida para contornar, o que é um pouco arriscado.

Eu não li sobre medidas para contornar, mas tenho uma que imagino que dê certo:
Imagine que você tem uma biblioteca como SDL, mas que é GPL, você precisa utilizar no seu software proprietário, mas não pode simplesmente adicioná-la por causa da divergência de licenças.

PRIMEIRO PASSO: Você então constrói uma biblioteca código aberto com licença compatível tanto com GPL, quanto com sua licença proprietária, BSD ou LGPL são uma boa opção. Sua biblioteca fará uso da bilioteca SDL em GPL, você criará tipo uma interface que chama os métodos/funções de SDL.

SEGUNDO PASSO: Em vez de você adicionar o SDL como dependência, você vai utilizá-la e chamar cada método/função com dlopen, dlsym, logo, sua biblioteca não vai constar o SDL sob GPL, apesar de você chamar métodos/funções e carregá-la, isso só vai acontecer quando você iniciar sua biblioteca.

TERCEIRO PASSO: Você no seu programa proprietário vai chamar a biblioteca que você criou e nunca métodos/funções de SDL, você vai usar apenas a interface que você criou.


Pronto, essa é minha interpretação de uma possibilidade de contornar sem ferir uma licença GPL no desenvolvimento de um software proprietário.

Você obrigatoriamente vai publicar e distribuir o código dessa biblioteca para que atenda aos requisitos da GPL(SDL), não é algo negativo porque outras pessoas podem se interessar pelo projeto e ajudar a manter.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


10. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 22/11/2016 - 03:34h

Surgiu o primeiro caso de biblioteca GPL em um projeto, o libudev, segundo o Fedora LGPLv2+, mas segundo o README, do famigerado systemd, o diretório src/udev é GPL.

Vou fazer mais pesquisas se ao criar uma biblioteca intermediaria que funciona como interface sob licença BSD e publicada posso trabalhar com bibliotecas GPL.

Vou analisar a situação do SDL2 que usa licença zlib, provavelmente faz uso do udev também, a licença do SDL2 é mais permissiva, então eles podem ter contornado o problema da GPL.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


11. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/11/2016 - 11:16h

XProtoman escreveu:

Boa noite a todos,

Faz um tempo que desenvolvo focado em Linux e provavelmente já devo estar dependente de alguma biblioteca sob GPL, da qual não alterei o código, sou apenas usuário dela e prevejo fazer uso de mais bibliotecas na mesma condição. Utilizo "Dynamically Linked 'Shared Object'", aquelas bibliotecas .so e não estáticas, posso continuar com meu projeto, tem alguma restrição aplicável?


Que eu saiba, até o Adobe Reader faz uso de bibliotecas sob GPL.


12. Re: Programa em código proprietário que faz uso de Bibliotecas sob GPL do tipo .so

M.
XProtoman

(usa Fedora)

Enviado em 24/11/2016 - 23:58h

bilufe escreveu:
Que eu saiba, até o Adobe Reader faz uso de bibliotecas sob GPL.

Boa noite bilufe,

Acho que a questão é mais complicada do que parece, pode ser que eles usem, mas deve existir alguma camada neutra, algum artifício para que essa conversa ocorra sem violações.

Uma coisa que acho estranho é o libSDL2(segunda versão do SDL) não tem muitas bibliotecas ligadas:
$ ldd /usr/lib64/libSDL2.so
linux-vdso.so.1 (0x00007ffd0c201000)
libm.so.6 => /lib64/libm.so.6 (0x00007f69e1657000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f69e144f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f69e122f000)
librt.so.1 => /lib64/librt.so.1 (0x00007f69e1027000)
libc.so.6 => /lib64/libc.so.6 (0x00007f69e0c5f000)
/lib64/ld-linux-x86-64.so.2 (0x0000563e2e9a5000)


Pode ser uma tentativa de contornar GPL, não conheço profundamente o SDL2, mas acho que eles por exemplo devem fazer uso do udev, o que é denunciado quando uso o hexdump:
$ hexdump -C /usr/lib64/libSDL2.so | grep udev
000e3880 2d 3e 20 75 64 65 76 20 63 61 6c 6c 62 61 63 6b |-> udev callback|
000e3cd0 69 62 75 64 65 76 2e 73 6f 2e 31 00 55 44 45 56 |ibudev.so.1.UDEV|
000e3cf0 00 75 64 65 76 5f 64 65 76 69 63 65 5f 67 65 74 |.udev_device_get|
000e3d00 5f 61 63 74 69 6f 6e 00 75 64 65 76 5f 64 65 76 |_action.udev_dev|
000e3d20 75 64 65 76 5f 64 65 76 69 63 65 5f 67 65 74 5f |udev_device_get_|
000e3d30 73 75 62 73 79 73 74 65 6d 00 75 64 65 76 5f 64 |subsystem.udev_d|
000e3d50 72 5f 76 61 6c 75 65 00 75 64 65 76 5f 64 65 76 |r_value.udev_dev|
000e3d70 70 61 74 68 00 75 64 65 76 5f 64 65 76 69 63 65 |path.udev_device|
000e3d80 5f 75 6e 72 65 66 00 75 64 65 76 5f 65 6e 75 6d |_unref.udev_enum|
000e3da0 6e 74 72 79 00 75 64 65 76 5f 65 6e 75 6d 65 72 |ntry.udev_enumer|
000e3db0 61 74 65 5f 6e 65 77 00 75 64 65 76 5f 65 6e 75 |ate_new.udev_enu|
000e3dd0 63 65 73 00 75 64 65 76 5f 65 6e 75 6d 65 72 61 |ces.udev_enumera|
000e3de0 74 65 5f 75 6e 72 65 66 00 75 64 65 76 5f 6c 69 |te_unref.udev_li|
000e3e00 65 00 75 64 65 76 5f 6c 69 73 74 5f 65 6e 74 72 |e.udev_list_entr|
000e3e10 79 5f 67 65 74 5f 6e 65 78 74 00 75 64 65 76 5f |y_get_next.udev_|
000e3e30 65 63 65 69 76 69 6e 67 00 75 64 65 76 5f 6d 6f |eceiving.udev_mo|
000e3e60 6f 6d 5f 6e 65 74 6c 69 6e 6b 00 75 64 65 76 5f |om_netlink.udev_|
000e3e80 64 65 76 69 63 65 00 75 64 65 76 5f 6d 6f 6e 69 |device.udev_moni|
000e3e90 74 6f 72 5f 75 6e 72 65 66 00 75 64 65 76 5f 6e |tor_unref.udev_n|
000e3ea0 65 77 00 75 64 65 76 5f 75 6e 72 65 66 00 75 64 |ew.udev_unref.ud|
000e3ec0 6f 6d 5f 64 65 76 6e 75 6d 00 75 64 65 76 5f 64 |om_devnum.udev_d|
000e3ee0 00 75 64 65 76 5f 6e 65 77 28 29 20 66 61 69 6c |.udev_new() fail|
000e3ef0 65 64 00 75 64 65 76 00 61 64 64 00 6c 69 62 75 |ed.udev.add.libu|
000e3f10 75 64 65 76 5f 6d 6f 6e 69 74 6f 72 5f 6e 65 77 |udev_monitor_new|
000e3f30 66 61 69 6c 65 64 00 00 75 64 65 76 5f 64 65 76 |failed..udev_dev|
000e3f60 76 74 79 70 65 00 00 00 75 64 65 76 5f 64 65 76 |vtype...udev_dev|
000e3f80 5f 76 61 6c 75 65 00 00 75 64 65 76 5f 65 6e 75 |_value..udev_enu|
000e3fb0 75 64 65 76 5f 65 6e 75 6d 65 72 61 74 65 5f 61 |udev_enumerate_a|
000e3fd0 65 6d 00 00 00 00 00 00 75 64 65 76 5f 6d 6f 6e |em......udev_mon|


udev até o momento e até onde sei é GPL, SDL2 é zlib e você pode usar para tudo, aberto ou fechado, até onde sei também, logo essa deve ser uma forma de contornar a GPL.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts