Por que os programadores gostam da idéia de código aberto? Não estou falando sobre os criadores desses projetos, é claro que eles ganham fama, mas estou falando sobre o setor em geral, por que gostamos tanto do conceito de código aberto quando ele traz tantos impactos negativos para o setor?
Primeiro, projetos como o wordpress e outros CMS, eles tiram muitos trabalhos freelancers onde os clientes querem um blog ou um site simples. Em segundo lugar, projetos como Rails e outras bibliotecas e APIs, colocam muitos programadores fora do trabalho e diminuem a demanda por programadores, porque agora com essas APIs de código aberto, um programador pode fazer coisas que 10 programadores costumavam fazer. E, finalmente, com softwares de código aberto como o Notepad ++, agora as pessoas se sentem engraçadas quando você pede para comprar software.
Então, a pergunta é: por que ainda gostamos de código aberto se isso nos torna pobres? Provavelmente, minha vida como programador seria mais difícil, mas pelo menos eu posso ganhar a vida com isso. Mas agora, é mais como uma máquina substituindo humana, o engraçado é que estamos criando essas "máquinas" que se substituem.
Digamos que, se você inventou uma ferramenta, não precisa compartilhá-la, ela ainda ajudará você e sua empresa. Mesmo sem essas ferramentas de código aberto, outros programadores viverão porque ainda têm um trabalho que gera dinheiro.
fonte
Respostas:
Por que gostamos de hardware comum?
A Intel e a Dell me pararam de cobrar pela montagem dos meus próprios computadores e fabricação dos meus próprios PCBs.
Linguagens de alto nível significam que não posso cobrar por duas semanas trabalhando por uma simples função de impressora escrita em Assembly.
E, finalmente, a Internet significa que as pessoas podem simplesmente fazer perguntas de graça e alguém as responderá, em vez de me pagar para escrever livros e dar aulas.
Passei alguns dias instalando e aprendendo scipy + numpy + skimage, o que significa que consegui escrever um processador de imagens em um dia. Isso me torna mais valioso para os acionistas da minha empresa do que se eu tivesse passado semanas trabalhando na matemática de todos os documentos originais e depois codificando tudo em C ++.
fonte
Você tem alguma estatística que mostre isso? De fato, de acordo com o Paradox de Jevons, eles deveriam realmente causar mais demanda por programadores.
Além disso, existem muitos colaboradores do software livre e de código aberto que são pagos por isso.
fonte
Acima e além da resposta de Martin:
Código aberto significa que você tem a oportunidade de trabalhar em projetos nos quais provavelmente não teria a chance de trabalhar se apenas seguisse o que fazia profissionalmente. Nisso, há dois grandes benefícios:
Ambos também o tornam um programador melhor e mais valioso para sua empresa.
fonte
fonte
The majority of open source projects are libraries/frameworks which still require developers in order to incorporate them into products.
muito verdadeiro.Sua posição me lembra o Admirável Mundo Novo . Nesse livro, eles pararam artificialmente o desenvolvimento científico e tecnológico, para que as pessoas não perdessem o emprego e o status não perdesse o equilíbrio .
Mesmo assim, um de seus pontos chamou minha atenção:
Esse raciocínio é falho, na minha opinião, e aqui está o porquê:
Em seguida, expanda esse ponto para incluir outras bibliotecas e APIs:
Mais uma vez, minha resposta:
fonte
Um experimento de pensamento útil aqui é trabalhar para trás. Por que parar nas estruturas da Web, e se tudo tivesse que ser codificado manualmente na montagem? Quantos trabalhos de programador haveria então? Não muitos, porque desenvolver a maioria das coisas seria muito caro e demoraria demais.
Ter muito software para desenvolver gratuitamente expande o mercado que você pode alcançar. Qual é o tamanho do mercado para um programa C que você escreve em um dia? Não muito grande. Qual é o tamanho do mercado de um site que você leva um dia para criar com algumas estruturas gratuitas? Facilmente na casa das dezenas de milhões.
fonte
Você parece ter medo de que, em algum momento, todo o software seja gravado e que o trabalho acabe. Na realidade, o oposto é verdadeiro. O software nunca é realmente "concluído" até que não seja mais usado. Quanto mais software houver, mais software haverá para manter, melhorar e recombinar de maneiras novas e interessantes.
Além disso, o aumento da disponibilidade de software cria mais clientes, não menos. Ferramentas como MySQL e PostgreSQL abrem o poder dos bancos de dados para milhões de pessoas e organizações que nunca poderiam usar um banco de dados se tivessem que comprar uma licença da Oracle. A web certamente seria muito menor e menos útil se não fosse por ferramentas como o servidor Apache, e isso significaria muito menos empregos para desenvolvedores da web.
fonte
Depois de ler a pergunta, lembrei-me de um medo que estava se espalhando em meu lugar durante os anos 90 de que o computador levaria seus trabalhos embora!
O código aberto e a comunidade maior de desenvolvedores são críticos por vários motivos;
fonte
Uma coisa sobre o código aberto é compartilhar idéias / código. Do ponto de vista do desenvolvimento, pode ser uma boa experiência de aprendizado observar o código de outra pessoa e aprender como ele funciona ou contribuir para um projeto de código aberto. Eu vejo muitas oportunidades de aprendizado e crescimento. Portanto, não vejo como isso pode ser negativo em relação a um possível desenvolvimento.
Mas, do ponto de vista comercial, definitivamente pode haver consequências negativas. Se estou vendendo um produto para o X e existe um projeto de código aberto gratuito (vamos considerar o mesmo), estou sem negócios.
Nada é de graça. Mesmo com o (s) projeto (s) de código aberto, as pessoas desistiram de lá para produzir algo, talvez estivessem dispostas a fazer isso, mas o tempo ainda era gasto. Então é uma espada de dois gumes. Sempre que algo é gratuito, desvaloriza o mercado para o qual é desenvolvido. Por que pagar por algo que é grátis? Isso pode deixar as pessoas desempregadas ou fazer com que alguns mercados sequem.
Mas também pode desprezar a inovação. Ele pode levar a indústria adiante, pode gerar crescimento e mais inovação.
No final, costumo pensar que existe um meio termo. Certamente não queremos dar tudo de graça, como uma forma de programar o socialismo. Mas uma combinação de código aberto e fonte de negócios manterá o setor saudável e inovador.
fonte
Ainda é preciso um programador para operar essas ferramentas e bibliotecas de código aberto. Assim como em outros campos, a escala é maior. Não é mais impossível construir arranha-céus, mas ainda precisa de engenheiros e trabalhadores para fazê-lo. Da mesma forma, a instalação do wordpress é de 5 minutos, mas se você quiser algo personalizado, ainda será necessário um programador (seja uma simples mudança de CSS, a maioria dos não programadores está longe de conseguir fazer isso, porque não é a profissão deles). Talvez ninguém o contrate para escrever um mecanismo de blog, mas sempre há outro trabalho a ser feito. As tarefas que esses projetos de código aberto simplificam ou eliminam não demoram muito tempo; portanto, as empresas farão outras coisas e o contratarão para trabalhos reais. Por quê? Porque todo mundo quer se expandir para competir com os outros. Isso significa que eles investirão em TI porque há valor comercial nela.
fonte
Você inicia sua pergunta escrevendo:
Mas é claro que são exatamente os criadores do software de código aberto: se eles não escrevessem e liberassem o código, ele não existiria; e se o fazem, não importa o que mais alguém deseje. E muitos - eu diria que, se não todos, quase todos - obtêm mais do que fama disso.
Obviamente, algumas pessoas ganham dinheiro escrevendo código-fonte aberto, diretamente (por exemplo, escrevem o software e depois vendem o suporte) ou indiretamente porque trabalham para uma empresa que paga para escrevê-lo (o que geralmente significa que a empresa está obtendo algo mais que fama). Porém, muitos softwares de código aberto são criados para uso próprio do escritor, por pessoas que querem apenas "arranhar a coceira": elas derivam utilidade apenas da existência do software, e quaisquer melhorias nele feitas por outros são apenas um bônus. topo disso.
Por exemplo, digamos que eu quero um blog. Digamos que eu queira que o meu blog tenha alguns recursos que nenhum software de blog gratuito existente fornece de imediato (porque então eu poderia simplesmente fazer o download do software, instalá-lo e pronto).
Uma coisa que eu poderia fazer seria comprar uma plataforma de blog de código fechado, se houvesse uma adequada no mercado, e talvez pagar às pessoas que a vendem extra para adicionar os recursos necessários. No entanto, como eu mesmo conheci alguns Perl e PHP, tenho mais algumas opções:
Eu poderia escrever meu próprio software de blog a partir do zero e mantê-lo para mim.
Eu poderia escrever meu próprio software de blog e lançá-lo como código aberto.
Eu poderia baixar uma plataforma de blog de código aberto e adicionar os recursos necessários (e, se quiser e / ou a licença exigir, liberar as adições como código aberto).
(Claro, se minhas próprias habilidades de programação não fossem boas o suficiente, ou se eu sentisse que estava ocupada demais para perder meu tempo com esse trabalho, também poderia optar por contratar outra pessoa para fazer alguma dessas coisas.)
Obviamente, a última opção provavelmente será a mais fácil das três, se houver algum software de código aberto existente que se aproxime do que eu preciso. Mas mesmo se não houver, por que eu escolheria a opção 1 em vez da opção 2?
Lembre-se de que não tenho interesse em vender blogs ou software de blog para outras pessoas - esse é um trabalho tedioso e chato, e não é o negócio em que estou. Tudo o que quero é um blog para mim, com o conjunto de recursos de que preciso . Também não perco nada se alguém usa o mesmo software para criar seu próprio blog; se alguma coisa, se o blog deles for interessante, acabei de ganhar algo para ler. Portanto, ir para a opção 1 não me traz nada sobre a opção 2.
Por outro lado, se eu escolher a opção 2 e outra pessoa decidir usar o software em seu blog, é provável que eles desejem alguns recursos que eu não me importei em incluir. E, se eles implementarem esses recursos e os liberarem ( seja porque minha licença exige ou apenas porque eles raciocinaram da mesma maneira que eu), talvez eu ache alguns deles úteis para o meu blog também. E talvez eles também encontrem alguns bugs que eu perdi e os conserte, o que significa que também recebo a correção gratuitamente.
Então, é por isso que a economia de código aberto funciona . Não se trata de desenvolvedores não remunerados escrevendo softwares de que não precisam e depois entregando "apenas pela fama". Em vez disso, trata-se de pessoas que escrevem software útil para eles e o compartilham com outras pessoas, para que elas possam compartilhar suas melhorias com elas.
fonte
Eu não tenho números, mas suspeito que há muito mais programadores hoje do que há 10 anos atrás. Tendo trabalhado em TI há algumas décadas, eu diria que o Código Aberto parece estar aqui para ficar e é mais benéfico do que prejudicial.
O código aberto em si não é mais prejudicial do que (digamos) PHP ou Ruby. Ambos, aliás, idiomas de código aberto. Costumava ser, se você voltar o suficiente, os compiladores (e intérpretes) eram algo pelo qual você tinha que pagar, mas hoje em dia você pode obter compiladores decentes de graça. Parece não ter parado o negócio de "escrever compiladores comerciais" (mas não sei se ele cresceu, encolheu ou permaneceu o mesmo durante qualquer período de tempo).
fonte
Não é uma pergunta estúpida. Eu poderia argumentar que há pouco imperativo para eu escrever um software útil para vender, porque provavelmente já existe uma alternativa de código aberto gratuito. Se não houver, poderá ocorrer em breve se meu software foi bom.
A realidade não é assim. Lembro que no final dos anos 80 e início dos anos 90 já havia um grande corpo de software livre. Dê uma olhada no artigo da wiki sobre Fred Fish para apenas um exemplo. Eu tinha minhas próprias distribuições, mas elas claramente não eram importantes o suficiente para garantir um artigo na wiki;)
Mas, por dinheiro, o software continua aparecendo e gerando lucro. Eu trabalho como desenvolvedor e ganho uma massa razoável fazendo isso. O código aberto me ajudou às vezes no meu desenvolvimento corporativo, nunca foi um problema, portanto, no geral, é benéfico.
fonte
Richard Stallman, o fundador da fundação Software Livre, explica há décadas por que você está errado. Linux, Firefox, MySQL e o próprio conceito e cultura do Open Software existem apenas porque muitas pessoas acham esses argumentos persuasivos. Leia sobre isso no site da FSF (role para baixo até "Objeções facilmente refutadas" para obter as respostas à sua pergunta).
http://www.gnu.org/gnu/manifesto.html
fonte
Eu acho que é a 'LÓGICA DE NEGÓCIOS' que mais importa e busca dinheiro.
Então deixe que as pessoas construam o mundo de código aberto e você se preocupe em como fará dele um bom negócio.
fonte
Parece que a premissa dessa pergunta é que a única razão para escrever código é para fortuna ou fama; mas, de fato, existe outra razão para escrever código, criar software ou inventar qualquer tipo de nova tecnologia ... ou seja, para tornar a vida das pessoas melhor, mais produtiva e mais eficiente!
fonte
Se você estiver interessado em criar um produto de software de alta qualidade, encontrará um software de código aberto e gratuito um sonho. Se o seu produto for bom, ele será vendido. Observe que o produto que você está vendendo pode ter qualquer formato, por exemplo, Software como serviço (SAAS) ou Plataforma como serviço (PAAS).
Ao desenvolver um produto, você deseja gastar seus recursos limitados (tempo e dinheiro) para agregar valor ao seu produto, não para escrever código (padrão). Projetos de código aberto geralmente produzem software de alta qualidade porque são abertos. Mais programadores podem revisar o código fonte e contribuir com patches contendo correções de erros, otimizações ou mais recursos. Você não tem esse luxo ao comprar software para usar em seus produtos. Não digo que comprar software seja ruim. É ruim quando você não tem permissão para olhar para o código-fonte para ver como ele funciona ou para corrigi-lo. E muitas vezes isso vem com um pacote de suporte caro e de baixa qualidade e / ou com dependências de componentes caros de terceiros (um pesadelo quando você está preocupado com o custo total de propriedade).
Agora, é necessário fazer uma distinção entre licenças copyleft como GNU GPL e licenças mais permissivas, como a licença MIT. Eles têm propósitos diferentes. As licenças da Copyleft exigem que, se você distribuir seu produto, forneça acesso completo ao código-fonte e permita que outras pessoas o modifiquem como bem entenderem. Eu acho que isso é uma coisa boa, mas é mais difícil monetizar seu trabalho. É por isso que os projetos de código aberto mais bem-sucedidos são licenciados sob uma licença permissiva (MIT, BSD, Apache, MPL, etc.) do que licenças copyleft, como a GPL ou a AGPL. Com licenças copyleft, geralmente é mais difícil proteger suas vantagens comerciais, mas isso depende do seu modelo de negócios. Outra coisa que observei é que os componentes liberados sob uma licença copyleft tendem a ser isolados quando integrados a um sistema, para que não "
Pessoalmente, acredito em todos os modelos acima, pois, como na natureza, sempre há mais de uma maneira de realizar alguma coisa e você deve escolher o modelo que atende bem a seu objetivo.
fonte