Jump to content
djthyrax

[Discussão] Ofuscadores - Será que vale a pena usar?

Recommended Posts

Battousai

Hm não li todos os comentários, mas a minha opinião quanto a este assunto é de que ... depende. Se estivermos a trabalhar para um cliente e a fazer um site, não faz sentido não fornecermos o código as is, a menos que venha uma cláusula a dizer o contrário.

Como o triton disse a ofuscação de código faz mais sentido para dificultar o hacking, mas normalmente não são ofuscadores e anti-hacks que resolvem o problema do hacking em jogos online, porque com persistência e conhecimento, um programa pode ser sempre assemblado.

Share this post


Link to post
Share on other sites
Kimico

um programa pode ser sempre assemblado.

Mas vais andar a estudar:

ADD A,B

MOV B,A

é chato xD

Antes js/C# ofuscado que " essa coisa " ^^.

Não tira a tua razão, Mas eu não chegava a esse ponto, critico xD

Share this post


Link to post
Share on other sites
cyclop

add a,b if p!=t

faz-me lenbrar a programação de um gaijo que eu cá sei né kimico?


"Quando eu for grande quero ser como o Celso"

Share this post


Link to post
Share on other sites
falco
Desculpa lá mas não concordo contigo. Hoje em dia fala-se de monopólio ser mau por causa das práticas que as empresas detentoras desse monopólio praticam.

Há aqui alguma confusão da tua parte...

Nem os monopólios são um problema exclusivo do Presente (no início do século passado houve grandes processos em tribunal por causa de monopólios).

Estás a confundir duas coisas distintas, uma é ser lider de mercado e a outra que é o monopolio. Ser lider de mercado é algo normal, completamente legal e sem nenhum problema moral e ético a apontar. Já um monopolio é outra questão.

Aqui fica a definição de monopólio que está na wikipedia, para que entendas a diferença entre ser um lider de mercado (que significa ter a maior quota de mercado) e ser um monopólio:

In Economics, monopoly (also "Pure monopoly") exists when a specific individual or enterprise has sufficient control over a particular product or service to determine significantly the terms on which other individuals shall have access to it. [1] Monopolies are thus characterized by a lack of economic competition for the good or service that they provide and a lack of viable substitute goods. [2] Alternatively (a modern and less common usage), it may be used as a verb or adjective to refer to the process (see Monopolism) by which a firm gains persistently greater market share than what is expected under perfect competition. The latter usage of the term is invoked in the theory of monopolistic competition.

O direito de autor, foi criado com um propósito de proteger modelos de negócios que acentam em monopólios sobre o controlo de direitos que são concedidos pelo estado aos autores. As licenças de software proprietário utilizam esses direitos dos autores, para que os autores possam controlar produtos e serviços relacionados com o software que licenciam como software proprietário. Ou seja, a existência de monopólios é inerente à condição de software proprietário.

Um monopólio é inerentemente mau num mercado que se quer livre. Nenhuma empresa privada deve ter esse nível de controlo, nem ser capaz de impedir competição saudável. O facto de se capaz de o fazer já é suficientemente mau, para que não devam existir, e alguns dos efeitos dos monopólios não implicam sequer intenção do monopolista e a exploração activa da situação.

Se vivêssemos num mundo perfeito onde houvesse respeito de toda a gente por toda a gente,

Não acordes, não...

os monopólios não eram considerados maus.

Isso é errado! E já demonstrei porquê.

E esses grupos podem ter a opinião que quiserem, mas não me podem obrigar a concordar com ela e achar que eles têm razão.

Podem ter, podem exprimir, podem promover os seus ideais. Isso são direitos inalianáveis de qualquer um.

É claro que ninguém te pode legalmente obrigar a mudar de opinião, nem é esse o objectivo da comunidade de Software Livre. Uma coisa é obrigar a fazer algo contra vontade, outra é convencer-te a mudar de opinião de livre vontade.

E mais, pela tua ordem de ideias um assassino mata alguém, tem as suas razões, as suas opiniões para o ter feito e nós podemos estar contra?

Estás a extrapolar, para assuntos completamente distintos. Estás a ser intelectualmente desonesto!

E nunca disse que as pessoas não têm o direito de ter a sua opinião! Isso é falto e mais uma vez demonstra que estás a ser intelectualmente desonesto.

Porque eles não são ninguém para dizer o que eu devo ou não fazer ao meu código,

Estás errado!

Qualquer pessoa pode dizer o que quisér! Até mesmo dizer-te o que fazer com o teu código! O que não podem é obrigar-te a fazer o que querem contra a tua vontade!

Dizer o que se quisér é liberdade de expressão! E a liberdade de expressão dessas pessoas neste assunto, não afecta qualquer das tuas liberdades.

E questões de monopólio, como já discutimos, são diferentes. E nós estamos aqui a discutir ofuscação de trabalhos próprios e não sobre a ofuscação de um hiper-mega trabalho da nossa super e poderosa empresa no mercado, pelo que monopólios nem deveria estar na discussão.

Os monopólios existem independentemente da dimensão do produto ou serviço e independentemente da dimensão da empresa. Como podes facilmente concluir pela definição de monopólio, onde podes ver que basta ter um determinado controlo sobre um produto, ou um serviço.

Mas eu alguma vez disse que queria mandar no computador dos outros?

O software manda nos computadores.

Software proprietário retira controlo sobre o software ao utilizador, e dá ao autor do software. Logo dá controlo sobre o computador ao autor do software.

u que falas tanto em ética, basta seres um programador ético e construires o teu programa de tal forma em que não tires o controlo do seu computador aos indivíduos que o usam.

Eu não acho que o mínimo de ética aceitável seja esse!

Eu acho que o que é mesmo necessário é dar todo o controlo ao utilizador, e para isso ele precisa de poder verificar ele próprio o que o software faz (e não apenas o que aparentemente faz). Não acho que se possa ser ético escondendo o que quer que seja do utilizador e retirando-lhe poder e liberdade.

Se o fizeres, não vejo o problema em ter o software proprietário.

Não podes ser, sendo autor de software proprietário!

Porque para mim o nível minimo aceitável de ética neste campo é dar as quatro liberdades da definição de Software Livre.

Não estás a fazer mal a ninguém,

Todos os monopólios fazem mal a alguém. Neste caso o impedir a competição prejudica todo o mercado.

não estás a estragar o computador de ninguém

Isso não chega, o utilizador tem que poder verificar isso. Tem que haver transparência!

e o utilizador continua a utilizar o seu computador como sempre o fez sem limitações.

Licenciar software como software proprietário é por definição impor limitações.

Já alguma vez perdeste uns minutos no meu site?

Não!

e diz-me, onde é que eu estou a limitar o controlo do computador de alguém

No caso do software proprietário, não permitindo que estudem e modifiquem livremente o software em causa, estás a limitar controlo sobre o computador pelo menos enquanto utilizarem o teu computador.

desculpa lá mas não consigo concordar, estás a exagerar de mais mesmo!!!

Não estou mesmo, estou a falar de casos reais que aconteceram e acontecem MESMO!

Por esta ordem de ideias vou acusar o meu prof de POO de sequestro a minha capacidade operacional e de estudo de Java porque ele nós quer impingir o uso do BlueJ como IDE e eu não quero.

Se ele te obrigar a utilizares isso nos teus computadores, que sejam tua propriedade privada, e se não te fornecer acesso a máquinas dele, ou de terceiros, de forma que seja constantemente conveniente para a tua actividade. Então sim!

um gajo faz um risco num papel, tem que dar créditos...

Software Livre não é uma questão de dar, ou deixar de dár créditos. Aliás a lei já controla isso independentemente do tipo de licenciamento. Software Livre é uma questão de dar liberdade às pessoas para controlarem os seus computadores e para poderem ter liberdade de criar e ajudar os outros.

Mas em relação ao software proprietário não o vejo como mau,

Eu vejo. E vejo porque acho que o minimo aceitável de liberdade, são as quatro liberdades do Software Livre. Para mim qualquer coisa menos que isto não é aceitável. E o problema do software proprietário é que não prejudica apenas os que o usam, porque vivemos em sociedade e precisamos de interagir uns com os outros (o que significa que precisamos de ter sistemas que saibam interagir uns com os outros), e o software proprietário pode facilmente impedir isso (e é o que faz na maior parte dos casos).

Há de facto demasiado software pago...

Software Livre não significa software gratuito, nem o movimento de Sofware Livre é contra que se pague pelo software, nem que se façam negócios com o software. Só não gostamos e não queremos que se façam negócios de determinadas formas que não consideramos que sejam suficientemente éticas para serem aceitáveis.

Mas os usos do software proprietário ainda são muitos e vão existir sempre situações onde soluções de código aberto não se adaptam.

Isso é falso!

Em primeiro lugar porque software proprietário não é software! Software proprietário tal como o Software Livre são filosofia! Filosofia aplicada por exemplo a modelos de licenciamento de direito de autor.

Em segundo lugar eu acredito que o Software Livre permite tantos modelos de licenciamento, que há flexibilidade suficiente para todas as situações, isso é bastante obvio, ao termos licenças de Software Livre tão distintas e com objectivos tão distintos como as licenças BSD, a GPL e a LGPL.

O caso de sites bancários ou de pagamentos por exemplo.

Mau exemplo... Duvido que algum deles não seja Software Livre.

Ser Software Livre, não significa que o código esteja disponível ao público, mas sim aos seus utilizadores.

Normalmente o código-fonte dessas aplicações é propriedade do seu único utilizador (por exemplo os bancos) e por isso o seu único utilizador, tem as 4 liberdade da definição do Software Livre, logo, é Software Livre por definição.

Obviamente que eu não o abri ao domínio publico.

E de acordo com a nossa lei, também não podias... A não ser que tivesses morto à pelo menos 70 anos.

Não apliquem expressões indiscriminadamente, sem saberem o que significam...

Pus tempo nele e como tal tenho todo o direito ao retorno económico que a sua não-abertura representa.

E isso é perfeitamente legitimo de acordo com o Software Livre, desde que a não abertura de que falas significas que não vais dar nem código, nem binários a ninguém.

Ser Software Livre, não significa que se tenha de disponibilizar o trabalho ao público. Significa apenas que o(s) seus utilizadores têm as quatro liberdades do Software Livre. E de acordo com a lei utilizador de um software é aquele que executa o software no seu computador (no caso de um site o utilizador de um script do lado do servidor, é exclusivamente o dono do servidor).

estou a considerar abrir o código do shareminer e oferece-lo ao domínio publico

Não podes!

A lei não o permite!

De acordo com a nossa lei estár sob domínio público significa que se expiraram os direitos de autor e isso no teu caso só acontece 70 anos depois da tua morte. O que podes fazer é licenciar como Software Livre.

Agora, neste caso a aplicação corre no meu servidor ninguem tem acesso ao código, logo não há discussão sobre a ética da sua natureza proprietéria.

Porque não é proprietário! Sendo o seu único utilizador e ao mesmo tempo o autor, tens todas as quatro liberdades da definição do Software Livre, sendo que por isso para ti, o único utilizador, o software em causa é Software Livre.

Mas se falarmos de uma aplicação distribuida...

Não será razoável aceitar que o autor da aplicação procure de certa forma proteger o acesso ao código para obter algum benefício monetário?

Em primeiro lugar a palavra proteger, não me parece a mais adequada. Porque eu não considero que o que tu queres dizer seja proteger, mas sim restringir.

Em segundo lugar devo dizer que isso depende de algumas detalhes da situação, que não mencionaste.

Cada componente de um sistema distribuido corre numa máquina, desde que o dono dessa máquina tenha pelo menos as quatro liberdades da definição do Software Livre em relação à compenente que corre nessa máquina. Considero que não distribuir o código (e ao mesmo tempo não distribuir binários correspondentes ao código), nestas condições que falei, é perfeitamente legitimo e em nada vai contra o Software Livre.

O que será pior, um 'pequeno' programador libertar o código de uma aplicação para domínio público mas registar a patente do conceito usado, ou vender uma aplicação de um conceito seu, mas deixar o conceito aberto?

As patentes de software são ilegais na maior parte do mundo, incluindo na maior parte da Europa e em Portugal. Mas nos países em que são legais (EUA e Japão), qualquer uma dessas situações é má. São más de formas diferentes, afectando de formas diferentes pessoas diferentes. Não acho que uma seja melhor que a outra, apenas diferente.

Quanto ao ti manel da esquina, não era por ele, mas sim pela Isp do canto da esquina que eu encriptava ao menos para dar trabalho "aos putos que abriram uma SP" a roubar o código...

Tanto lhes fazia, tendo o binário tinham tudo o que precisavam para se aproveitar de ti na mesma.

A única protecção que tu tens nesse caso é a acção das autoridades policiais e judiciais. O resto é uma ilusão. Ou não vez copias ilegais de software a serem distribuidas e utilizadas massivamente.

Em que situação é que esta ofuscação não é ética? Será que o código do cliente devia ser distribuido facilitando assim o desenvolvimento de bots para o jogo e prejudicando todos os jogadores, só porque não é ético executar código ofuscado e não livre?

Eu acho que não licenciar a applet como Software Livre já é suficientemente não ético nesse caso, por tanto nem é preciso ir à questão da obfuscação.

Quanto à questão da batota... Se o jogo tem uma componente do lado do servidor, é aí que devem estar as medidas de segurança, em caso nenhum uma aplicação cliente-servidor, deve basear a sua segurança na confiança de medidas de segurança exclusivamente do lado do cliente, quem o faz, tem um queijo suiço e não uma aplicação minimamente segura.

Facilmente se faz a engenharia reversa suficiente para se criar uma aplicação cliente compatível com o teu servidor, e que faz exactamente o que o utilizador do cliente quisér e não aquilo que tu esperas.

Por isso fica aqui demonstrado que isso não é uma medida de segurança eficaz, o que desmonta a componente de utilidade do obfuscador. E desmontando esse argumento desmonta o argumento do ser ético porque é util, porque não é util.

Mas pensem um pouco se tudo o que é util é ético...

Se estivermos a trabalhar para um cliente e a fazer um site, não faz sentido não fornecermos o código as is, a menos que venha uma cláusula a dizer o contrário.

Porquê?

Como o triton disse a ofuscação de código faz mais sentido para dificultar o hacking,

Mas não o faz de uma forma significativa. As medidas de segurança relevantes são outras, quando se chega ao ponto de poder ter acesso à aplicação já tudo foi comprometido.

Share this post


Link to post
Share on other sites
Triton

Eu acho que não licenciar a applet como Software Livre já é suficientemente não ético nesse caso, por tanto nem é preciso ir à questão da obfuscação.

...

Quanto à questão da batota... Se o jogo tem uma componente do lado do servidor, é aí que devem estar as medidas de segurança, em caso nenhum uma aplicação cliente-servidor, deve basear a sua segurança na confiança de medidas de segurança exclusivamente do lado do cliente, quem o faz, tem um queijo suiço e não uma aplicação minimamente segura.

As validações já são feitas no lado do servidor... mas podes fazer vários tipos de bots, alguns que nem sequer precisam de contactar com o servidor. Logo essa tua teoria vai por água abaixo. A validação no servidor não consegue apanhar todo o tipo de bots. É muito bonito falar, mas se fosse assim como dizes não tinhas bots para quase todos os jogos populares online. E concerteza as equipas experientes de jogos sabem mais do que nós em termos de design de servers seguros. Uma coisa é falar por experiência própria, outra é falar do nada e dizer coisas que não se verificam na prática...

Se o cliente fosse software livre, qualquer ranhoso sacava o código todas as semanas e tinha a papinha toda feita. Desculpa mas o que disseste é um absurdo.

Facilmente se faz a engenharia reversa suficiente para se criar uma aplicação cliente compatível com o teu servidor, e que faz exactamente o que o utilizador do cliente quisér e não aquilo que tu esperas.

Again, uma coisa é dizer essas coisas e o pessoal que te ouve pensa que é assim tão fácil. Outra completamente diferente é fazer. Já agora, o protocolo do jogo muda sempre que há uma nova actualização no jogo, que por acaso acontece todas as semanas. A única opção viável é injectar código no cliente, que também muda todas as semanas, porque a obfuscação faz coisas muito engraçadas. Se tu achas que é fácil...

Por isso fica aqui demonstrado que isso não é uma medida de segurança eficaz, o que desmonta a componente de utilidade do obfuscador. E desmontando esse argumento desmonta o argumento do ser ético porque é util, porque não é util.

Não ficou demonstrado! Mas se conseguires provar que consegues construir uma aplicação de software livre, totalmente segura, então podes começar a contactar todas as empresas de MMORPGs e companhia.


<3 life

Share this post


Link to post
Share on other sites
askavir

Se eu quiser fazer um programa qualquer em que queira partilhar o binário mas não o código para ninguém saber o segredo (imaginemos um programa muita bom), porque raio haveria de ser obrigado a fazê-lo? É meu, fui que eu inventei, só dou ao mundo se quiser e ninguém tem nada a ver com isso. Mas quem é que eles pensam que são, para dizer que todo o software devia ser livre? Isto é estúpido.

Apesar de eu ser adepto de muitas tecnologias e linguagens open-source (entre elas o Linux, Apache, MySQl, PHP e Python) concordo interiamente com o Nazgulled.

O conceito de que "o conhecimento pertence ao mundo" e afins é muito bonito mas as coisas não são assim tão lineares quanto isso.

Imaginem o seguinte caso: Se todas as aplicações existentes fossem open-source e distribuidas de borla quem é que nos iria pagar para desenvolver aplicações?  É que o dinheiro que nos paga os ordenados tem que vir de algum lado, e não é certamente da oferta de código ou de aplicações...


AsKaViR

Share this post


Link to post
Share on other sites
slack_guy

A minha opinião sobre esta matéria resume-se em duas linhas:

- a propriedade do código protege-se com advogados, não com programadores

- os bugs corrigem-se, não se escondem


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

- a propriedade do código protege-se com advogados, não com programadores

Mas se o código for livre, tu não sabes se alguém do outro lado do mundo copiou o teu trabalho e está a ganhar dinheiro com isso...

Essa conversa que o código devia ser livre, blah, ganhamos dinheiro com suporte, blah, é muito bonita, mas não funciona em muitos casos.

Por exemplo, jogos para consolas. Segundo essa filosofia, um gajo compra uma consola e não compra jogos. Os jogos não disponibilizam o código e isso não é ético. Logo não se sabe o que está a correr na consola, etc... Mas acham mesmo que empresas que gastam milhões a desenvolver motores 3D e técnicas super-optimizadas para ter os melhores visuais no mercado, vão entregar isso à concorrência?

Acham mesmo que podiam sobreviver à base de vender suporte? Em jogos?


<3 life

Share this post


Link to post
Share on other sites
slack_guy
Mas se o código for livre, tu não sabes se alguém do outro lado do mundo copiou o teu trabalho e está a ganhar dinheiro com isso...

Não me referi a nenhum tipo de licença em particular.

No caso que referes, se o código é livre, qualquer um pode 'ganhar dinheiro com isso'. Ser livre não é sinónimo de ser gratuito.


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

Não me referi a nenhum tipo de licença em particular.

No caso que referes, se o código é livre, qualquer um pode 'ganhar dinheiro com isso'. Ser livre não é sinónimo de ser gratuito.

* Freedom 0: The freedom to run the program for any purpose.

* Freedom 1: The freedom to study and modify the program.

* Freedom 2: The freedom to copy the program so you can help your neighbor.

* Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

Se tens de lançar o código fonte para o software ser livre, como é que vais controlar o que fazem com ele?


<3 life

Share this post


Link to post
Share on other sites
askavir

Mas acham mesmo que empresas que gastam milhões a desenvolver motores 3D e técnicas super-optimizadas para ter os melhores visuais no mercado, vão entregar isso à concorrência?

Acham mesmo que podiam sobreviver à base de vender suporte? Em jogos?

Mais um exemplo de como as coisas não são tão lineares e bonitas como "o conhecimento pertence ao mundo...".


AsKaViR

Share this post


Link to post
Share on other sites
slack_guy
Se tens de lançar o código fonte para o software ser livre, como é que vais controlar o que fazem com ele?

Eu percebi a tua pergunta da seguinte forma: como é que garantes que o código livre não se transforma em código proprietário?

A essa pergunta, respondo: da mesma forma que o fazem aqueles que lançam software proprietário: com advogados. E quanto mais importante (em todos os aspectos) a aplicação, mais advogados.


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

Eu percebi a tua pergunta da seguinte forma: como é que garantes que o código livre não se transforma em código proprietário?

Os advogados não percebem nada de código, e além disso depois de o código ser transformado em proprietário, como é que sabes que estão a usar algum algoritmo teu?

A essa pergunta, respondo: da mesma forma que o fazem aqueles que lançam software proprietário: com advogados. E quanto mais importante (em todos os aspectos) a aplicação, mais advogados.

É que se o software for proprietário, não é provável que consigam modificar o programa e fazer algo de útil. Se o software for livre, como é que os teus advogados sabem o que é feito com o código? Não são bruxos... :cheesygrin:


<3 life

Share this post


Link to post
Share on other sites
slack_guy
Os advogados não percebem nada de código

... e os programadores não percebem nada de leis. Cada macaco no seu galho.

É que se o software for proprietário, não é provável que consigam modificar o programa e fazer algo de útil.

Há quem diga que sim (Microsoft e SCO, assim de repente).

Se o software for livre, como é que os teus advogados sabem o que é feito com o código?

No caso do software livre podes fazer o que bem entenderes com o código, excepto coarctar qualquer das liberdades que te foram concedidas no caso de redistribuires esse código.

Se (já que estamos no campos dos SEs) amanhã alguém desconfiar que a Microsoft mandou o Trident às urtigas, adoptou e modificou o Gecko e tornou-o proprietário, podes apostar que quem vai estar à porta da MS não são os programadores, mas os advogados.


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

No caso do software livre podes fazer o que bem entenderes com o código, excepto coarctar qualquer das liberdades que te foram concedidas no caso de redistribuires esse código.

E chegamos ao mesmo problema, porque eu não quero que me roubem o meu trabalho.


<3 life

Share this post


Link to post
Share on other sites
slack_guy
E chegamos ao mesmo problema, porque eu não quero que me roubem o meu trabalho.

Nem tu nem ninguém. Mas isso não é o que está em debate.

Se eu te dou (ou vendo) uma aplicação sob uma licença GPL (por exemplo), se tu a modificas e a dás (ou vendes) a terceiros, concedendo-lhes as mesmas liberdades que eu te concedi, em que medida é que me estás a roubar? Não podes roubar o que te é dado.

Por outro lado, se pegas na minha aplicação e a fechas sob qualquer forma, arriscas-te a ter problemas com a justiça. Tal e qual como usares software pirateado: arriscas-te a ser apanhado com a boca na botija.


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

Nem tu nem ninguém. Mas isso não é o que está em debate.

O que está em debate é que segundo o falco, distribuir uma aplicação sobre licença proprietárianão é ético, e que todos os utilizadores de uma aplicação devem ter os 4 direitos da definição de Software Livre. Mas sendo assim sou obrigado a permitir que os meus utilizadores benificiem do meu trabalho, pois podem vender o meu software. Está-me a escapar alguma coisa aqui?


<3 life

Share this post


Link to post
Share on other sites
slack_guy
O que está em debate é que segundo o falco,(...)

Sorry, não falo em nome de ninguém, não represento ninguém e nem sei quem é o falco. Falo por mim, o que digo é o que _eu_ penso e só eu sou responsável pelos disparates que _eu_ digo/escrevo.

distribuir binários de uma aplicação não é ético

O que é ou deixa de ser ético a mim não me interessa. Não vou por aí porque o mais certo era não nos entendermos.

Quanto à distribuição de binários, relembro-te que quer a SUN quer a Mozilla Foundation o fazem com dois produtos que conheces sobejamente: OpenOffice e Firefox. Não deixam de ser software Aberto por isso.

Mas sendo assim sou obrigado a permitir que os meus utilizadores benificiem do meu trabalho, pois podem vender o meu software. Está-me a escapar alguma coisa aqui?

Não te está a escapar coisa alguma. Se queres fechar o teu código, mete-lhe uma licença proprietária e nem vale a pena preocupares-te com ofuscações e outras engenhocas. Foi isso que disse no meu primeiro post. Talvez tenha sido muito sucinto.


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
Triton

Quanto à distribuição de binários, relembro-te que quer a SUN quer a Mozilla Foundation o fazem com dois produtos que conheces sobejamente: OpenOffice e Firefox. Não deixam de ser software Aberto por isso.

Desculpa, o que eu queria dizer era distribuir o software sobre uma licença proprietária. Vou corrigir o outro post.

Não te está a escapar coisa alguma. Se queres fechar o teu código, mete-lhe uma licença proprietária e nem vale a pena preocupares-te com ofuscações e outras engenhocas. Foi isso que disse no meu primeiro post. Talvez tenha sido muito sucinto.

Já entendi o que querias dizer. Mas os meus posts eram mais relacionados com a questão da ética.


<3 life

Share this post


Link to post
Share on other sites
Kimico

Um "if" paga-se, Queres dar o código dás, Não quer não dás. Simples, seja para esconder bugs, seja para não ser usado, seja para que coisa for, software, ofuscado,  binário, outros metodos que não me recorde ou conheça, são tão éticos como qualquer outro...

O conhecimento é gratuito e deve ser distribuído, o meu trabalho, quem o quer paga, quem quer o código paga o dobro, mas se me dá na tola de publicar qualquer m**** em MIT, também o sai,e sai muita vez...

Share this post


Link to post
Share on other sites
slack_guy
O conhecimento é gratuito e deve ser distribuído

O conhecimento é gratuito, o acesso ao conhecimento é que não.

mas se me dá na tola de publicar qualquer me*** em MIT, também o sai,e sai muita vez...

Não será o teu caso e o que vou escrever não tem nada que ver com o que fazes. É apenas um desabafo suscitado pela tua afirmação.

Há muita boa gente que coloca as me*** (literalmente) que fazem sob licenças FLOSS e que fecham a 7-chaves as aplicações que de facto teriam interesse. Daí que exista uma ideia generalizada - entre aqueles que produzem/utilizam software proprietário - que o software livre/aberto é medíocre. Vá-se lá saber porquê...


:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave ^X^C ^C ^D ^Z ^Q QUITDAMMIT

Share this post


Link to post
Share on other sites
pedrotuga

Triton, o problema não é distribuir binários, quase toda a gente usa software que é distribuido já compilado. O problema é quando não tens opção.

Por exemplo, o firefox, todos os dias há centenas de milhares de downloads, praí 99% devem ser binários, mas isso é uma opção do utilizador.

Não mostrar o código fonte é uma forma de tentar ocultar o que o software faz e como. Mas legalmente não tem grande significado. Acho que é isso que o falco critica, o facto de se tentar esconder coisas ao utilizador em vez de ter uma atitude aberta e honesta. O software ser proprietário ou não, não de depende de o facto de o código ser conhecido ou não.

Segundo o michael stalman que é o maior defensor do software livre (pelo menos o mais activo), todos os bens de uso prático que sejam distribuidos/comercializados devem obedecer a quatro liberdades que agora não me lembro ( pesquisem no google ).

Isto não é só para software, é para todos os bens de uso prático.

Receitas, fórmulas químicas, métodos científicos etc.

Por exemplo, se eu tiver um restaurante que é famoso pelo seu sarrabulho, se eu quiser posso manter a reeita secreta, estou em meu pleno direito. Agora, se eu começar a vender a receita a outras pessoas e disser: "não podes mostra-la a ninguém, não podes modificá-la, e só podes fazer 20 doses por dia"... aí já estou a interferir com a liberdade dessa pessoa. E é isto que é criticado.

Agora o caso dos jogos... se o código fonte de um jogo é um bem de uso prático. Isso é muito subjectivo. Até porque há ali elementos que são mais do domínio artístico que outra coisa. Mas tambem não entendo porque é que toda a gente se preocupa tanto com as empresas que os fazem. Eu que não ligo puto a jogos, estou mais preocupado com o facto de um simples jogo custar mais do que o ordenado médio da maior parte dos países do mundo.

Pessoamente preferia que não hovesse jogos tão avançados mas que o acesso fosse facil a muitos mais utiliazadores. Mas isto sou eu.

Mas há uma coisa que nunca é referida e que é o motivo pelo qual eu defendo o uso de obfuscadores. Para um pequeno programador, como eu por exemplo. O recurso a software proprietário é uma forma de capitalizar o trabalho desenvolvido. Isto porque, dependendo do mercado, vai haver pessoal a tentar usurar o meu trabalho.

E depois advogados? o que é isso? Acham que um gajo que veste uma t-shirt dos iron maiden e que leva o tupperware com a buxa para não ter que comer fora tem dinheiro para pagar um advogado?

Logo, formas mais primitivas de proteger o código acabam por ser mais efectivas.

Há uma pressão grande para vender software, isto porque se criou o mito que um software deve ser pago cópia a cópia. Isto não faz grande sentido.

O resultado é que pequenos vendedores de software vêm-se obrigados a fazer o mesmo porque se não o fizerem correm o risco de serem usurpados, já que o seu código vale dinheiro por si só se forem reunidas as condições de mercado para isso.

OT: por que raio é que chamamos binários a software compilado? ;)

KIMICO,

o teu trabalho ser pago não é sinónimo de o teu software ter que ser pago cópia a cópia, isso não é pagarem-te o trabalho, é receberes benificios de um estatuto que adquires.

Receberes pelo teu trabalho é seres pago por desenvolveres um software e dissociares-te do uso que o utilizador lhe queira dar porque isso é uma questão de liberdade dele.

Ao longo da história, as sociedades mais desenvolvidas foram aquelas que se conseguiram desenvecilhar de sistemas baseados em estatudo e substitui-los por competencias.

Há muita boa gente que coloca as me*** (literalmente) que fazem sob licenças FLOSS e que fecham a 7-chaves as aplicações que de facto teriam interesse. Daí que exista uma ideia generalizada - entre aqueles que produzem/utilizam software proprietário - que o software livre/aberto é medíocre. Vá-se lá saber porquê...

Ora grande verdade!

EDIT: ok, já foi corrigida a confusão entre binários e software proprietário.

Share this post


Link to post
Share on other sites
falco
O conceito de que "o conhecimento pertence ao mundo" e afins é muito bonito mas as coisas não são assim tão lineares quanto isso.

Isso não tem nada a ver com o Software Livre. Podem haver defensores do Software Livre que pensam isso. Mas isso não faz parte da filosofia do Software Livre.

Imaginem o seguinte caso: Se todas as aplicações existentes fossem open-source e distribuidas de borla

Software Livre e Open Source Software não significa software de borla. Existem muitas aplicações Software Livre/Open Source Software que são distribuidas comercialmente utilizando licenças livres, as licenças de Software Livre e Open Source Software não impedem que se cobre pelo acto de distribuição de software, impedem que se cobre pelo seu licenciamento. Nem a filosofia do Software Livre e do Open Source Software são contra o mercantilismo.

Existem muitas empresas de Software Livre que fazem dinheiro distribuindo Software Livre (quer seja criado por essa empresa, ou não) e prestando serviços em relação a software (quer seja criado por essa empresa, ou não.

quem é que nos iria pagar para desenvolver aplicações?  É que o dinheiro que nos paga os ordenados tem que vir de algum lado, e não é certamente da oferta de código ou de aplicações...

As empresas na área do Software Livre têm diversos modelos de negócios diferentes. Algumas baseiam o seu modelo na prestação de serviços em relação a software que criam e distribuem (umas vezes distribuem gratuitamente, outras em troca de uma quantia) e outras como uma em que já tive cobram pelo serviço de desenvolvimento do software, sendo o software propriedade de quem pagou pelo serviço de desenvolvimento (sendo que é o seu único utilizador e tem as quatro liberdades do Software Livre). Por isso como podem ver há imensos modelos de negócio possíveis para o Software Livre, sendo que uns podem cobrar pela distribuição de software (com garantias de suporte), outros pelo seu desenvolvimento, outros por outras coisas, só não podem é cobrar pelo seu licenciamento. Aliás estes modelos de negócio são comuns à maior parte das empresas do ramo das TI, representando mais de 80% do volume de negócios (segundo informações da própria m$).

Por exemplo eu sou consultor de Software Livre e sempre recebi dinheiro em troco dos serviços que prestei, fossem eles suporte, fosse formação, fosse deployment, fosse desenvolvimento, ou qualquer outra coisa. E o software não deixou de ser licenciado como Software Livre e os termos das licenças cumpridos excrupulosamente.

Mas se o código for livre, tu não sabes se alguém do outro lado do mundo copiou o teu trabalho e está a ganhar dinheiro com isso...

A tua probabilidade de saber é exactamente igual com Software Livre, como com software proprietário. Sendo que com o Software Livre há casos em que foi descoberto, iniciaram-se processos e as licenças e o apoio legal fornecidos por entidades como o Free Software Law Center, foram tão fortes que os infractores preferem ceder do que ir a tribunal.

Essa conversa que o código devia ser livre, blah, ganhamos dinheiro com suporte, blah, é muito bonita, mas não funciona em muitos casos.

Vender suporte é apenas um dos muitos negócios que se podem fazer com o Software Livre.

Por exemplo, jogos para consolas. Segundo essa filosofia, um gajo compra uma consola e não compra jogos. Os jogos não disponibilizam o código e isso não é ético. Logo não se sabe o que está a correr na consola, etc... Mas acham mesmo que empresas que gastam milhões a desenvolver motores 3D e técnicas super-optimizadas para ter os melhores visuais no mercado, vão entregar isso à concorrência?

Poderiam!

Não se gasta assim tanto dinheiro com isso. Gasta-se algum mas muito menos do que nos fazem crer.

Acham mesmo que podiam sobreviver à base de vender suporte? Em jogos?

Apenas com isso?

Duvido! Mas esse não é o único negócio possível! E mesmo com esse negócio, podes fazer algum dinheiro, tudo depende de quem for o público alvo desse serviço. Se for dos jogadores, provavelmente não fazes dinheiro nenhum. Se venderes suporte a empresas que tenham servidores de jogos, então talvez possas fazer algum.

Se tens de lançar o código fonte para o software ser livre, como é que vais controlar o que fazem com ele?

Não tens que lançar para ser livre. Isso é um raciocinio errado. As liberdades do Software Livre destinam-se apenas aos utilizadores desse software. Ou seja, se tu desenvolveres uma aplicação e não a distribuires a ninguém, então esse software é Software Livre, porque tu, que és o único utilizador (e és também o autor) tens as quatro liberdades do Software Livre. Mais ainda, as licenças de Software Livre, permitem que faças modificações e as mantenhas privadas para ti (e só para ti).

Liberdade para fazer algo, não significa que sejas obrigado a fazer algo.

Os advogados não percebem nada de código, e além disso depois de o código ser transformado em proprietário, como é que sabes que estão a usar algum algoritmo teu?

Algoritmos não são alvo de direito de autor, apenas a implementação especifica do algoritmo.

É que se o software for proprietário, não é provável que consigam modificar o programa e fazer algo de útil.

O mais provável é que nem o queiram modificar, utilizam-no logo directamente. Aliás é essa a pratica generalizada com a maior parte dos jogos e com o software proprietário mais popular.

Se o software for livre, como é que os teus advogados sabem o que é feito com o código? Não são bruxos...

Porque tu sabes! Porque tu verificaste, ou pagaste a alguém para verificar e dar apoio técnicos aos advogados. É assim que se faz com tudo.

E chegamos ao mesmo problema, porque eu não quero que me roubem o meu trabalho.

Aproveitam o teu trabalho independentemente de ser proprietário, ou livre. O que fazem como ele pode ser diferente, mas o efeito é exactamente o mesmo!

Sendo que tens a vantagem de em muitos processos relacionados com violações de direito de autor de software licenciado como Software Livre, só me recordo de 3 terem ido a tribunal. Nos casos em que não foram a tribunal, os acusados aceitaram passar a cumprir os termos das licenças e a lei. E nos casos em que foi a tribunal os acusados perderam. E sendo que há entidades como o Free Software Law Center que existem, para entre outras coisas apoiar as comunidades que desenvolvem Software Livre.

Quanto à distribuição de binários, relembro-te que quer a SUN quer a Mozilla Foundation o fazem com dois produtos que conheces sobejamente: OpenOffice e Firefox. Não deixam de ser software Aberto por isso.

Porque de acordo com os termos das licenças eles também distribuem o código fonte a quem o pedir (e até poderiam pedir a prova de que receberam os binários pois só quem os recebeu é que pode impor a essas entidades a distribuição do código-fonte).

Segundo o michael stalman que é o maior defensor do software livre (pelo menos o mais activo)

O nome é Richard Matthew Stallman. E é o fundador do movimento de Software Livre organizado e autor inicial de muito software importante, como o EMACS e o GCC.

Isto não é só para software, é para todos os bens de uso prático.

O movimento de Software Livre, é apenas relativamente ao software. Nada mais!

Há movimentos inspirados no movimento de Software Livre em outras áreas relacionadas com a criação intelectual, como na musica e na cultura em geral. Mas uma coisa não implica a outra...

E depois advogados? o que é isso? Acham que um gajo que veste uma t-shirt dos iron maiden e que leva o tupperware com a buxa para não ter que comer fora tem dinheiro para pagar um advogado?

Logo, formas mais primitivas de proteger o código acabam por ser mais efectivas.

O estado garante-te que tens um advogado. E há entidades como o Free Software Law Center que te dão apoio legal gratuito. E há advogados que prestam serviços "pro bono". E outros que cobram apenas depois de teres recebido as compensações civeis.

Há uma pressão grande para vender software, isto porque se criou o mito que um software deve ser pago cópia a cópia. Isto não faz grande sentido.

É um modelo importado de outras industrias onde também se aplica o direito de autor. Com base em ideias e em realidades tecnológicas e sociais completamente desactualizadas na maior parte dos casos. E a legislação que existe foi criada propositadamente para apoiar os modelos de negócios que se baseiam nesses princípios de forte monopolização de direitos concedidos pelo estado. O que significa que a legislação é desiquilibrada e prejudicial a quem quer adoptar modelos negócios diferentes.

Share this post


Link to post
Share on other sites
Triton

Triton, o problema não é distribuir binários, quase toda a gente usa software que é distribuido já compilado. O problema é quando não tens opção.

Por exemplo, o firefox, todos os dias há centenas de milhares de downloads, praí 99% devem ser binários, mas isso é uma opção do utilizador.

Desculpa, o que eu queria dizer era distribuir o software sobre uma licença proprietária. Vou corrigir o outro post.

Andas a dormir! ;)

Segundo o michael stalman que é o maior defensor do software livre (pelo menos o mais activo), todos os bens de uso prático que sejam distribuidos/comercializados devem obedecer a quatro liberdades que agora não me lembro ( pesquisem no google ).

Já foram mencionadas uns posts atrás. :)

Agora o caso dos jogos... se o código fonte de um jogo é um bem de uso prático. Isso é muito subjectivo. Até porque há ali elementos que são mais do domínio artístico que outra coisa.

O Gears of War tem cerca de 500k linhas de código. 😲

Eu que não ligo puto a jogos, estou mais preocupado com o facto de um simples jogo custar mais do que o ordenado médio da maior parte dos países do mundo.

Depende dos jogos. O GTA IV precisou de cerca de 1000 pessoas para ser feito, e 100 milhões de dólares. Não acho que o jogo seja caro. Mas anyway, quem não pode comprar os jogos mais recentes, espera que os jogos fiquem mais baratos e compra passado uns tempos.

Pessoamente preferia que não hovesse jogos tão avançados mas que o acesso fosse facil a muitos mais utiliazadores. Mas isto sou eu.

Como é que podes dizer isto? Também preferias não ter processadores mais rápidos nem carros topo-de-gama porque nem toda a população tem capacidades para comprar?

Mas há uma coisa que nunca é referida e que é o motivo pelo qual eu defendo o uso de obfuscadores. Para um pequeno programador, como eu por exemplo. O recurso a software proprietário é uma forma de capitalizar o trabalho desenvolvido. Isto porque, dependendo do mercado, vai haver pessoal a tentar usurar o meu trabalho.

E depois advogados? o que é isso? Acham que um gajo que veste uma t-shirt dos iron maiden e que leva o tupperware com a buxa para não ter que comer fora tem dinheiro para pagar um advogado?

Logo, formas mais primitivas de proteger o código acabam por ser mais efectivas.

Concordo! Aliás, existem muitas mais razões pelas quais usar código obfuscado. Já dei um exemplo noutro post.

Há uma pressão grande para vender software, isto porque se criou o mito que um software deve ser pago cópia a cópia. Isto não faz grande sentido.

O resultado é que pequenos vendedores de software vêm-se obrigados a fazer o mesmo porque se não o fizerem correm o risco de serem usurpados, já que o seu código vale dinheiro por si só se forem reunidas as condições de mercado para isso.

Querias distribuir o software como? Uma cópia para a pessoa e depois podias distribuir aos amigos? É tal e qual como os filmes, CDs de música, jogos...

É a tal questão de distribuir de borla, ganhar menos e supostamente ser mais ético - ou vender o máximo de cópias possíveis, ganhar mais dinheiro e ser evil... ;)

OT: por que raio é que chamamos binários a software compilado? :)

🤔

Não se gasta assim tanto dinheiro com isso. Gasta-se algum mas muito menos do que nos fazem crer.

Só o licenciamento do Unreal Engine 3 são $750,000, ou pelo menos foi isso que li. Achas que conseguias desenvolver um motor daquele nível para um jogo? Claro que não.

Se venderes suporte a empresas que tenham servidores de jogos, então talvez possas fazer algum.

Nem queiras comparar. Para começar as empresas de jogos não precisam de suporte, é ler um readme, modificar meia dúzia de variáveis e iniciar o servidor. E além disso, os servidores dos jogos de consola não são distribuidos.

Ou seja, se tu desenvolveres uma aplicação e não a distribuires a ninguém, então esse software é Software Livre, porque tu, que és o único utilizador (e és também o autor) tens as quatro liberdades do Software Livre.

Se eu sou o único utilizador e autor qual é a lógica de sequer licenciar a aplicação? Uh..?

O mais provável é que nem o queiram modificar, utilizam-no logo directamente. Aliás é essa a pratica generalizada com a maior parte dos jogos e com o software proprietário mais popular.

Mas um software que não esteja modificado é fácil de verificar que não foste tu que fizeste. Um software em que tenhas acesso ao código podes alterar tanto o software ou roubar código e algoritmos para o teu programa que ninguém sabe...


<3 life

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.