Essas linguagens interpretadas são legais, mas vc entrega o código fonte junto com o produto.
Bem, se ó código fonte vai junto com o produto, logo o preço é maior.
Ter que entregar o código fonte é muito ruim. O lance é passar só os bytecodes depois de usar um obfuscator. 8)
O cliente tem ficar à mercê.
Eu penso que o real valor de um software não está no código, e sim na cabeça de quem o escreveu. E o segredo para não ter que esconder o código é sempre desenvolver visando que você (ou sua equipe/empresa) sempre será a melhor opção na hora de continuar desenvolvendo.
Veja bem, isso não significa escrever um software ruim e que só você entenda, e sim um software tão bom que você é o maior especialista naquela solução específica.
Um bom exemplo disso é o framework Spring. O código-fonte está disponível e você pode até modificá-lo para atender suas necessidades mas, apesar de ser uma solução open-source, o mais provável é que você contratar a consultoria da SpringSource para ajudar a solucionar seu problema. Esta consultoria é caríssima, por sinal, mas ainda assim é mais barato do que o custo de se aprender e modificar um framework desenvolvido por outros.
Concordo plenamente e digo mais, um software escrito dessa maneira será inteligível pela pessoa que o escreveu apenas por um certo período. Como o código em si é ruim, com o passar do tempo ele vai ficar cada vez mais difícil de se manter. Logo, desenvolver com essa mentalidade é dar um tiro no pé.
Código não deve ser fácil de se escrever, e sim fácil de se ler.
É ruim se você trabalha vendendo software em caixinha. Fácil de piratear, o cliente fica dependente dele, se a versão não for mais suportada por qualquer razão é outro “si fu” pro cliente, ainda tem lidar com a concorrência.
Há mercado tanto para software vendido assim, quanto para o customizado, e prefiro trabalhar no segundo.
Se você está licenciando um software você é ainda o dono do código, portanto você pode processar quem trabalhe com ele.
Mas se o software é interpretado, tipo PHP, então o cliente pode modificá-lo porque tem o código. Uma empresa pode contratar um programador próprio para não precisar de serviços seus. Nesse caso é melhor processá-los do que continuar a dar manutenção, porque o criador do código que foi feito depois de você tem direitos de copyright sobre a porção dele. Ele pode processá-lo caso você tente usar a porção de código que ele criou, mesmo que seja GPL.
De qualquer forma, sempre que alguém usar o seu código sem licença, processe. Ser compilado ou não significa apenas o quão difícil será para modificá-lo, mas nenhum jeito garante 100%.
[quote=tivrfoa]Essas linguagens interpretadas são legais, mas vc entrega o código fonte junto com o produto.
Bem, se ó código fonte vai junto com o produto, logo o preço é maior.
Ter que entregar o código fonte é muito ruim. O lance é passar só os bytecodes depois de usar um obfuscator. 8)
O cliente tem ficar à mercê.
Não, agora sério. O que vcs pensam sobre isso?[/quote]
Então sua linguagem de script não consegue executar código compilado ou comunicar com uma aplicacao na web? :shock:
@s4nchez. Concordo, mas em relação a isso: “…e sim um software tão bom que você é o maior especialista naquela solução específica.”, eu acho que essa pessoa não existe. Mas eu entendi o que vc quis dizer.
@tiago182. Quem falou em escrever código ruim? Mas realmente. Se vc escreve um código para os outros não entenderem, depois de um tempo vc acaba não entendendo tbm. =)
por que o meu cliente deve continuar comigo? Por que tenho o código fonte ou porque meu trabalho é admirado?
Opto pela segunda alternativa. Nos últimos 5 anos não tive nenhum projeto no qual prender o código fonte me oferecesse alguma vantagem (na realidade, só me ofereceu desvantagens) real.
isso aí Kico… eu devia estar vacinado por ver esse tipo de discurssão ainda em foco. As vezes penso que nós da comunidade Open Source somos um bando de malucos noiados que deveríamos voltar ao formato de negócio antigo, tamanho é o espanto com que as pessoas vêem nosso modo de pensar… Hehehehehehehhehehehehehe
Outro dia conversando com um amigo sobre esse MESMÍSSIMO assunto, eu falava as idéias do Open Source e o cara me olhava como se tivesse com medo de a qualquer ascender uma luzinha na ponta do meu dedo e eu sair dizendo “Minha Casa… Telefone… Minha Casa…”. Brincadeiras a parte, eu creio que o modelo de negócio antigo em nossa área, deixou certas mazelas que dificilmente serão quebrados em sua totalidade… Legados do Delphi e mais recentemente escrachamentos do PHP (programo nos 2 e por isso não estou diminuindo nem um nem outro), onde no primeiro você tinha seu código completamente fechado pra ninguém ver e por um acaso “ROUBAR” sua obra de arte e o outro onde se via uma porrada de Script on-line que era só CTRL+C CTRL+V no site e já tava funcionando tudo macarrônicamente (lembrando que isso não é culpa da tecnologia).
Pois bem, creio que essa barreira será quebrada um dia e algo que hoje parece ser de outro mundo, de fato será comum, e coisas como obsfucadores (criado para alegrar a galera que queria vir pro Java,mas não vinha por causa do modelo de código) ficarão pra trás e esquecidos… Creio que obfuscadores podem servir para outro tipo de segurança… Mas em quase 100% das vezes é pra esconder código de gente que quer programar em Java, mas esconder seu código dos outros…
Só me resta continuar com esse pensamento que sempre verei como certo, o bom é saber que não sou o único maluco do mundo… rsrsrs
[quote=kicolobo]Acho que aqui cabe o seguinte questionamento:
por que o meu cliente deve continuar comigo? Por que tenho o código fonte ou porque meu trabalho é admirado?
Opto pela segunda alternativa. Nos últimos 5 anos não tive nenhum projeto no qual prender o código fonte me oferecesse alguma vantagem (na realidade, só me ofereceu desvantagens) real.[/quote]
Que bom vc pode optar por liberar o código. Infelizmente alguns casos não é possivel escolher e a unica opção é não permitir o acesso ao código fonte.
Para esses casos vc pode sempre optar por fazer uma chamada a um servidor remoto onde o código sera executado, ou uma chamada a um código compilado. Essa questão de “código fonte de mão beijada” não é bem uma limitação das linguagens interpretadas mas sim da competencia do programador em saber escolher suas ferramentas.
Se você quer vender produto, liberar o código fonte pode ser ruim dependendo do modelo de nogócio.
Mas se você desenvolve sob demanda, não vejo motivo de esconder o código fonte, já que provavelmente o código está bem acoplado com o negócio do cliente e dificilmente vai ser reaproveitado pra outra coisa. Sem contar que quem compra software sob demanda é porque quer ter um diferencial em TI, e por isso a última coisa que ele quer é outra empresa usando o software dele.
[quote=mochuara][quote=kicolobo]Acho que aqui cabe o seguinte questionamento:
por que o meu cliente deve continuar comigo? Por que tenho o código fonte ou porque meu trabalho é admirado?
Opto pela segunda alternativa. Nos últimos 5 anos não tive nenhum projeto no qual prender o código fonte me oferecesse alguma vantagem (na realidade, só me ofereceu desvantagens) real.[/quote]
Que bom vc pode optar por liberar o código. Infelizmente alguns casos não é possivel escolher e a unica opção é não permitir o acesso ao código fonte.
Para esses casos vc pode sempre optar por fazer uma chamada a um servidor remoto onde o código sera executado, ou uma chamada a um código compilado. Essa questão de “código fonte de mão beijada” não é bem uma limitação das linguagens interpretadas mas sim da competencia do programador em saber escolher suas ferramentas.[/quote]
Imaginei que houvesse esse outro “benefício” do que simplesmente querer ofuscar código…
Concordo com o mochuara: há algumas raras situações nas quais não é realmente interessante liberar o código fonte (mas pela minha experiência, se tornam cada vez mais raras).
Mas o que penso a respeito é o seguinte: quando o assunto é venda, o negócio deve ser igualmente bacana pro cliente (e costumo pensar mais do lado do cliente do que meu)
O que o cliente realmente quer é não ter amolação. Sendo assim, se você libera o seu código fonte, mas detem um conhecimento superior sobre o seu funcionamento (e principalmente a lógica de negócios), o cliente sempre vai pensar em você como a melhor fonte possível pra resolver os seus problemas.
Construção da confiança: este é um aspecto fundamental pra mim como consumidor. Suponhamos que eu contrate os serviços de um programador e este me entregue código 100% fechado. Que garantia possuo (como consumidor) de que aquele código realmente faz APENAS o que eu pedi. Melhor ainda: que garantia tenho de que é um código que realmente possua qualidade? Que garantia possuo de que não é um software espião (soa a paranóia? precisa ver o que já vi…) pra concorrência?
Desenvolvimento do produto como um todo. Este é batido, mas acho que vale também. Ao abrir o seu código, voce possibilita que outros o aprimorem. Se for feito um trabalho bem feito de monitoração deste código (prestar atenção às licenças, fazer um bom serviço de divulgação, etc), em pouco tempo você terá um produto campeão. E por que o cliente optará por você e não pelo Zequinha sobrinho do Tião que tem o seu código fonte? Por que é filho seu, e ao menos em teoria você o conhece como NINGUÉM. E além disto, você ainda poderá cobrar um valor premium pelos seus serviços.
Se distribuido gratuitamente (lembre-se: open source diferente de gratuito), fica muito mais fácil construir uma base de usuários em cima da qual você poderá construir serviços e, assim, ampliar a sua renda em cima deste produto.
Claro, se quiser manter seu bicho fechado, concordo novamente com o mochuara. Crie um servidor e disponibilize uma API. É a única maneira que conheço de, de fato, esconder o seu código fonte (já vi gente analisando assembler pra descobrir como algo funcionava de fato).
[quote=kicolobo]Acho que aqui cabe o seguinte questionamento:
por que o meu cliente deve continuar comigo? Por que tenho o código fonte ou porque meu trabalho é admirado?
Opto pela segunda alternativa. Nos últimos 5 anos não tive nenhum projeto no qual prender o código fonte me oferecesse alguma vantagem (na realidade, só me ofereceu desvantagens) real.[/quote]
Essas duas opções não são mutualmente exclusivas. Você pode ter os dois. Além do mais necessita-se de investimento, tanto em forma de dinheiro quanto em tempo, para se desenvolver qualquer coisa. Entregar o seu trabalho para outra pessoa ou empresa é entregá-lo de mão beijada para que outra empresa lucre sem investir um tostão.
Como se mede conhecimento? Só no mundo dos nerds introvertidos é que isso importa, e geralmente é fruto de alguma fantasia de auto-engrandecimento.
A verdade é que ninguém é especial. Praticamente quase tudo que é feito em termos de software é fácil para a maioria das pessoas. A menos que se esteja tratando de um nicho muito específico onde existem poucos especialistas, a imensa maioria dos trabalhos é simples. E aí é que você perde negócio, pois outra pessoa poderá facilmente fazer o que você faz por menos.
Sim, o cliente não amolação, mas também não quer pagar caro.
[quote=kicolobo]
Construção da confiança: este é um aspecto fundamental pra mim como consumidor. Suponhamos que eu contrate os serviços de um programador e este me entregue código 100% fechado. Que garantia possuo (como consumidor) de que aquele código realmente faz APENAS o que eu pedi. Melhor ainda: que garantia tenho de que é um código que realmente possua qualidade? Que garantia possuo de que não é um software espião (soa a paranóia? precisa ver o que já vi…) pra concorrência?[/quote]
O que é qualidade? Isso é algo subjetivo que depende do que o cliente espera que o produto faça. Um produto pode ser tecnicamente perfeito, mas não ter qualidade no ponto de vista de alguém simplesmente porque ele tinha expectativas diferentes.
E quem garante que software aberto faz APENAS o que você pediu? Quantas pessoas auditam cada linha de código de todos os softwares que utilizam? Todo mundo só baixa da internet e usa e ponto final. Opensource não é segurança alguma.
Você permite que outros peguem seus clientes. Sobre ajuda externa, isso é falácia. A maior parte dos softwares opensource são mantidos por um ou poucos desenvolvedores. Raramente você receberá ajuda, e mesmo que receba não há nada que garanta que farão o que você quer que façam.
Desenvolver software não é uma habilidade rara.
Existem formas mais interessantes de se distribuir software do que de graça, basta pensar um pouquinho. Mas esse é o grande problema do opensource: ninguém quer pagar por nada. Todos esperam pegar de graça da internet porque essa é a cultura do opensource. E mesmo que você tente cobrar pelo software, ou algum engraçadinho o disponibilizá em um site ou então criarão um fork para competir com você e destruir o seu negócio.
realmente, pouquíssimos irão lhe ajudar a desenvolver o seu software opensource (sou testemunha disto)
há clientes que SEMPRE querem pagar o mínimo possível, e são clientes perdidos mesmo
É um fato e não resta dúvidas com relação a isto: há o risco de outras pessoas pegarem seus clientes? Sem dúvida alguma. No entanto, o nome por trás daquele produto sempre será o seu. E isto é difícil de tirar. Como consequência, sua credibilidade aumenta, e muito (você é chamado para mais trabalhos pelo menos).
Com relação à qualidade: não tem como entrar neste seu argumento. A partir do momento em que o “tudo é relativo” entra na história, a discussão acaba.
Dependerá muito do contexto. No entanto, do ponto de vida técnico, é inegável: software aberto é software auditável, fechado nem sempre.
Agora, neste ponto aqui eu discordo completamente:
ai que entra o ponto: é melhor você possuir esta possibilidade do que não a tê-la. E isto é inegável. Mesmo que as pessoas jamais olhem para uma linha de código fonte, AO MENOS elas sabem que podem. Só isto já garante duas coisas:
Que o código pode ser auditado
Que quem o escreveu, sabe que o código pode ser auditado (o que força o desenvolvedor a ao menos tentar melhorar a qualidade técnica do seu produto)
É interessantíssimo este ponto. E concordo com você. No entanto, a pergunta “como se mede conhecimento?” é fácil de ser respondida. Se você escreveu aquele software, e é responsável pelo desenvolvimento do projeto. Difícilmente existirá alguém que o conheça mais que você.
Outro ponto: quem disse que o serviço prestado pelo criador do software sempre será o mais caro? Os serviços da MySQL por exemplo tem um preço excelente. E outra: construção de preço é um processo complexo. Nem sempre o custo final é aquele pago em um primeiro momento. Por exemplo: você pode optar por pagar R$ 10,00 para o seu sobrinho. No entanto, que GARANTIA ele te dá de que o trabalho dele tem de fato qualidade, e não irá lhe gerar prejuízos no futuro?
(vocë poderia me retornar a pergunta: “e quem garante que o criador do software pode dar esta garantia também?”.
respondo: ao menos é um especialista COMPROVADO naquela tecnologia, visto tê-la criado. já é uma vantagem)
(pergunto: o cliente que sempre quer pagar menos, independente da qualidade (seja ela como for medida), realmente é um BOM cliente? Você realmente quer trabalhar com este tipo de gente?)
Pode existir alguém que faça o que você faria cobrando 1/10 do preço? Claro! Mas novamente, repito: a referência sempre será o responsável pelo projeto original.
É como o MySQL. Pode haver zilhões de forks do bicho. A questão é: quem, além dos responsáveis pelos mesmos, de fato confia nestes forks? As pessoas acabam sempre optando pelo original e, ainda mais interessante: pagando por serviços prestados pela Sun/MySQL ao produto (eu mesmo já quase paguei, porque valia muito à pena).
(pergunte pra si mesmo: suponha que você queira ter suporte ao seu servidor de aplicações JBoss: em quem confia mais? Na RedHat ou no Juquinha?)
Com relação a ser um modelo viável de negócios ou não, bem: individualmente, acredito que seja uma boa propaganda, pois no mínimo expõe sua competência profissional. No entanto, mercadológicamente, é fato que após o opensource, o mercado mudou completamente, não sei se pra melhor ou pior. Para cada software proprietário há um concorrente de código fonte aberto sendo distribuido gratuitamente. Na maior parte das vezes, é melhor que a opção fechada? Não: mas é no preço e, pior ainda: na maior parte dos casos, supre a esmagadora maioria do público para aquele software específico. Isto é bom ou ruim? Não sei, mas devo confessar que temo por este fato.
No final das contas, é mais uma questão de mudança de visão mesmo: é nítido que estamos saindo do modelo “venda de licenças” para o de prestação de serviços que, se formos analisar, é um negócio muito melhor para nós. Na venda de licenças, você lucra somente enquanto seu cliente quiser atualizar. Na venda por serviços, o lucro a longo prazo (e por ser longo, talvez seja exatamente O problema) é melhor. E, sinceramente, venda de serviços SEMPRE foi um bom negócio: prova disto é a IBM, que há mais de 100 anos faz exatamente isto.
Com relação ao argumento “as pessoas não querem pagar”. Bem: furado. Elas querem e vão pagar se a proposta oferecida for boa.
[quote=kicolobo]Com relação a ser um modelo viável de negócios ou não, bem: individualmente, acredito que seja uma boa propaganda, pois no mínimo expõe sua competência profissional. No entanto, mercadológicamente, é fato que após o opensource, o mercado mudou completamente, não sei se pra melhor ou pior. Para cada software proprietário há um concorrente de código fonte aberto sendo distribuido gratuitamente. Na maior parte das vezes, é melhor que a opção fechada? Não: mas é no preço e, pior ainda: na maior parte dos casos, supre a esmagadora maioria do público para aquele software específico. Isto é bom ou ruim? Não sei, mas devo confessar que temo por este fato.
No final das contas, é mais uma questão de mudança de visão mesmo: é nítido que estamos saindo do modelo “venda de licenças” para o de prestação de serviços que, se formos analisar, é um negócio muito melhor para nós. Na venda de licenças, você lucra somente enquanto seu cliente quiser atualizar. Na venda por serviços, o lucro a longo prazo (e por ser longo, talvez seja exatamente O problema) é melhor. E, sinceramente, venda de serviços SEMPRE foi um bom negócio: prova disto é a IBM, que há mais de 100 anos faz exatamente isto.
Com relação ao argumento “as pessoas não querem pagar”. Bem: furado. Elas querem e vão pagar se a proposta oferecida for boa. [/quote]
Isso é um erro comum. No Brasil não há a perspectiva de se ganhar dinheiro com tecnologia, pelo menos para a maioria das pessoas, portanto elas vêem apenas o que querem ver. Um certo dia tive a oportunidade de assistir a uma apresentação de um funcionário da IBM, um que provavelmente já estava lá há décadas a julgar pela idade dele, e fez justamente essa pergunta: qual é o negócio da IBM? Todos responderam “serviços”, mesmo aqueles que eram programadores. Sabe o que ele disse: “Não, a IBM vende tecnologia”.
A IBM vende tecnologia e software proprietário, os contratos de suporte estão associados ao hardware e software proprietário deles simplesmente porque os clientes não têm opção.
A opção da IBM por dar suporte ao Linux faz perfeito sentido, pois assim eles não dependerão da Microsoft e terão um sistema que custa zero dólares para se desenvolver e manter. É simples mão de obra barata.
Vender serviços e vender licenças não são mutualmente exclusivos, visto que a Microsoft faz isso. Simplesmente não cobrar pelo tempo gasto no desenvolvimento de um produto e ainda por cima entregar para os seus concorrentes todo o seu trabalho para que façam o que bem entender, inclusive buscar um investidor e montar uma companhia muitas vezes maior que a sua e roubar os seus clientes, é suicídio profissional.
A pior coisa que existe é que em faculdade de Ciência da Computação não se dá nenhuma noção de negócios e empreendedorismo. Daí sai um bando de profissional que não sabe negociar nada que acaba afetando o mercado negativamente, seja aceitando salários baixos ou não cobrando o suficiente por qualquer coisa que faça. O problema de dar o seu trabalho de graça não é o que outros indivíduos farão com ele, mas sim corporações. Eles simplesmente podem se apropriar e não lhe dar um tostão por nada, e terão muitos mais recursos para investir.
O que vale mais, o código ou o conhecimento para faze-lo?
Apertar o parafuso ou saber qual parafuso apertar?
Se você precisa de uma forma de prender o seu cliente que não seja a qualidade e/ou vantagens do seus serviços/produtos, significa que você ou sua empresa é medíocre e não se garante no mercado, tem medo da concorrência.
Voltando ao assunto do tópico, eu sou a favor do Software Livre, onde você entrega os fontes para o cliente e ele faz o que bem entender com aquilo. Por isso não me preocupo com isso.
[Off]
Pessoal,
Querem um conselho, não percam seu tempo discutindo com o Thiagosc
Se vcs olharem os tópicos que ele já criou boa parte é totalmente tendenciosa e só visa gerar Flames