Código aberto é o software licenciado sob padrões de código aberto. O princípio de abertura abrange não apenas a esfera do desenvolvimento de software. Por exemplo, os designers fornecem acesso a modelos e fontes gratuitos. Em alguns países, as agências governamentais estão mudando para software de código aberto. Na Alemanha, a cidade de Munique decidiu mudar para o sistema operacional LiMux, que é uma versão customizada do Ubuntu. Em Hamburgo, os funcionários decidiram usar o pacote de escritório Phoenix em vez do Microsoft Office. O governo do Reino Unido mudou de PDF para ODF. Na França, a polícia usa o Ubuntu OS e o LibreOffice gratuito.
- Requisitos para software de código aberto
- Projetos de código aberto – qual é o seu recurso
- A história do surgimento do software livre
- Licenças de código aberto
- Exemplos de projetos de código aberto
- Como se envolver em um projeto de código aberto
- Usando código aberto no desenvolvimento de robôs comerciais
- Bot GEKKO
- Zenbot
- OsEngine
Requisitos para software de código aberto
Vamos listar os principais requisitos que um aplicativo distribuído sob a licença Open Source deve atender:
- os programas são distribuídos gratuitamente;
- O software vem com o código fonte, se não estiver no kit básico, você pode baixá-lo gratuitamente ou obtê-lo de outra forma;
- o código pode ser alterado e partes do código podem ser usadas em outros projetos, e os aplicativos modificados devem ser redistribuídos sob os termos da licença Open Source;
- a discriminação de quaisquer grupos de pessoas não é permitida, por exemplo, nos EUA existem restrições à exportação de programas, mas uma licença gratuita não pode estabelecer suas próprias proibições;
- A licença Open Source permite todos os usos dos aplicativos, para que as convicções morais pessoais do desenvolvedor não interfiram na distribuição, por exemplo, cláusulas como: “proibido de usar para pesquisa genética” são inaceitáveis;
- todas as regras relacionadas à licença Open Source são as mesmas para todos os usuários, acordos adicionais, como não divulgação, são proibidos;
- a licença não pode ser vinculada ao programa, o desenvolvedor que usa apenas uma parte do código tem os direitos que o produto completo concedeu;
- o usuário pode escolher o que vai utilizar, por exemplo, é proibido exigir que o software fornecido com Open Source seja open source.
Projetos de código aberto – qual é o seu recurso
A maioria dos aplicativos distribuídos sob a licença Open Source tem as seguintes diferenças:
- os programas são escritos por aqueles que os utilizam, portanto, os desenvolvedores monitoram o código, corrigem rapidamente os erros e as vulnerabilidades descobertas;
- a maioria dos produtos é compatível com vários sistemas operacionais;
- a comunidade de desenvolvedores de código aberto está aberta para entrar em contato com usuários que podem enviar suas sugestões;
- normalmente, as atualizações de software livre são lançadas com mais frequência do que de software comercial, portanto, os erros são eliminados mais rapidamente;
- os usuários, se desejarem, podem apoiar o aplicativo de que gostam com dinheiro;
- O risco de infectar um computador ou smartphone ao instalar um programa Open Source é mínimo, já que vêm com o código-fonte.
A história do surgimento do software livre
Acredita-se que o fundador do movimento do software livre seja Richard Stallman. Enquanto trabalhava no Artificial Intelligence Lab do MIT, ele contribuiu para o desenvolvimento de software livre. Por exemplo, ao escrever um editor de texto EMACS para computadores PDP. Em 1984, Stallman deixou seu emprego no MIT e fundou o Projeto GNU. Seus entusiastas cunharam o termo “software livre” e desenvolveram o manifesto GNU.
Richard Stallman [/ legenda] Em 1985, Stallman criou a Free Software Foundation (FSF), que era usada para desenvolver software livre por meio de doações voluntárias. Em 1989, foi lançada a primeira Licença Pública Geral (GPL), que protegia os usuários e dava direitos para copiar, modificar e distribuir aplicativos. Posteriormente, houve uma licença do Instituto de Tecnologia de Massachusetts e BSD, desenvolvida na Universidade da Califórnia. Em 1991, um sistema operacional independente foi desenvolvido, mas faltava um kernel. No mesmo ano, Linus Torvalds introduziu o kernel Linux, que foi licenciado sob a GPL em 1992. Em meados da década de 90 do século passado, grandes empresas começaram a se interessar pelo mercado de código aberto. O primeiro foi o Netscape.O navegador que ela lançou foi considerado um dos mais populares da época. Em 1998, ela abriu sua fonte. Depois que a empresa deixou de existir, o navegador Mozilla Firefox foi criado a partir do código do Navigator. Agora, a Open Source Initiative, que foi fundada em 1998, está envolvida no desenvolvimento e promoção de software de código aberto. Qual é o ponto do código aberto: https://youtu.be/8G3Dz_GyPI0
Licenças de código aberto
Existem várias licenças de código aberto diferentes. Para facilitar sua compreensão, fornecemos a figura a seguir, que mostra como eles diferem entre si.
Licenças de código aberto [/ caption] Agora vamos falar sobre as mais populares.
- A licença do MIT foi desenvolvida em uma das principais instituições de ensino dos Estados Unidos – Massachusetts Institute of Technology. Ela coincide quase totalmente com a versão de três cláusulas da licença BSD, com apenas uma cláusula adicionada, que proíbe o uso do nome do autor em publicidade. Sob ele saiu: XFree86, Expat, PuTTY e outros produtos.
- A licença BSD apareceu pela primeira vez no início dos anos 80 do século passado para distribuir o sistema operacional de mesmo nome. Existem as seguintes opções para esta licença:
- A licença BSD original é a primeira licença original, também chamada de licença de quatro cláusulas .
- A licença BSD modificada é uma licença de três cláusulas, uma cláusula está excluída dela, o que obriga em publicidade a indicar que este aplicativo usa software desenvolvido na Universidade da Califórnia.
- Licença da Intel desenvolvida para aplicativos protegidos por patente. Não é suportado pela Open Source Initiative. Licenças usadas no Git Hub [/ caption]
- A GNU General Public License é a licença mais popular. Ela apareceu em 1988. Em 1991, uma versão melhorada da GPL v2 apareceu, que não perdeu sua relevância até hoje. Em 2006, a licença GPL v2 foi adotada.
- A GNU Lesser General Public License, ou GNU LGPL para abreviar, foi criada para vincular bibliotecas com software distribuído sob outras licenças.
- A licença Apache permite que você modifique e redistribua programas tanto na origem quanto nos binários. Além dos direitos do produto, também está prevista a transferência de patentes.
- Guile é semelhante à GNU GPL, mas adiciona uma cláusula que permite a fusão de software de código aberto e não livre, portanto, não pode ser considerado um copyleft estrito, mas é compatível com a GNU GPL.
- A Licença Pública Comum foi desenvolvida pela IBM para seu desenvolvimento. Ele permite que você altere o código e use-o em programas comerciais. Esta licença foi usada pela Microsoft para Windows Installer XML.
- A Mozilla Public License (MPL) é uma licença complexa que não é estritamente copyleft.
- Licença da Sun Publi c License semelhante à MPL, mas há pequenas alterações, por exemplo, em vez da Sun Microsystems listada pela Netscape.
Existem também outras licenças menos comuns, como Guile, Common Public License, Mozilla Public License e outras. https://youtu.be/oAW5Dh9q3PM
Exemplos de projetos de código aberto
O desenvolvimento do kernel do Linux e dos aplicativos GNU tornou-se a base para outros aplicativos de código aberto. A chegada da Netscape interessou a grandes empresas de TI. Desde então, muitos produtos diferentes foram desenvolvidos. Primeiro, mencionamos o Debian, que apoiou a Free Software Foundation de 1994 a 1995, e mais tarde a organização sem fins lucrativos Software in the Public Interest foi criada, que continuou a financiar o projeto. No âmbito deste projeto, não só foi criado o sistema operacional, mas também a suíte de escritório LibreOffice, o navegador Firefox, o cliente de e-mail Evolution, o aplicativo de gravação de CD K3b, o reprodutor de vídeo VCL, o editor de imagens GIMP e outros produtos . A Apache Software Foundation, uma empresa sem fins lucrativos, surgiu como um projeto de suporte a software de código aberto.O produto mais popular desta organização é o servidor web com o mesmo nome. A empresa agora oferece suporte a um grande número de projetos distribuídos sob a licença Apache. Os patrocinadores do ASF incluem Microsoft, Amazon e Huawei. Outra empresa de código aberto é a Red Hat. O principal desenvolvimento é um sistema operacional baseado no kernel Linux. Ela está envolvida não só com software, mas também com suporte técnico e treinamento de especialistas. Foi adquirido pela IBM em 2018. O Google também desenvolve software livre. Ela desenvolve e dá suporte aos seguintes projetos: a biblioteca TensorFlow para desenvolver sistemas de aprendizado de máquina, a linguagem Go, o programa Kubernetes para automatizar a implantação de software e outros produtos. Na ciência, o Código Aberto diz respeito não apenas ao software, mas também à publicação de trabalhos,revisão por pares e apoio de recursos educacionais. Em 1991, Paul Ginsparg organizou um arquivo eletrônico arXiv no Laboratório de Los Alamos, no qual se podem encontrar trabalhos não só em física, mas também em medicina, matemática e outras ciências. O CERN também possui um portal com trabalhos científicos abertos.
Sistemas operacionais de código aberto – sistemas operacionais de código aberto [/ caption]
Como se envolver em um projeto de código aberto
Se você quer praticar programação e preencher seu currículo, então participar do desenvolvimento de um produto Open Source é exatamente o que você precisa. Diremos em etapas o que é necessário para isso. Em primeiro lugar, você precisa se registrar no GitHub e selecionar um projeto do qual participará. Deve ser do seu interesse. É bom se ele contiver muitas tarefas que você pode fazer. Você também deve prestar atenção à popularidade do projeto, ela pode ser determinada pelo número de estrelas. Também é importante determinar o quão ativo está o desenvolvimento e quando as últimas alterações foram feitas. Depois de escolher um projeto interessante, você precisa encontrar um curador e estabelecer interação com ele. A próxima etapa é selecionar uma tarefa. Para começar, é recomendável escolher a tarefa mais simples. O principal é que você pode resolver.Em seguida, transfira o projeto para a sua casa e instale todas as ferramentas necessárias. Depois de resolver o problema, faça sugestões para alterar o código no repositório. Para fazer isso, você precisa enviar seu código ao GitHub e clicar no botão “Solicitar pull”. Depois disso, você precisará inserir o nome de sua solicitação e uma descrição. Depois disso, você precisa esperar que o curador aceite ou rejeite as alterações propostas. Se, após assumir uma tarefa, aparecerem outros assuntos urgentes, ou se você perceber que não será capaz de lidar com a tarefa, você pode recusar a tarefa. Isso é normal, mas você precisa comunicar sua decisão aos curadores.Depois disso, você precisará inserir o nome de sua solicitação e uma descrição. Depois disso, você precisa esperar que o curador aceite ou rejeite as alterações propostas. Se, após assumir uma tarefa, aparecerem outros assuntos urgentes, ou se você perceber que não será capaz de lidar com a tarefa, você pode recusar a tarefa. Isso é normal, mas você precisa comunicar sua decisão aos curadores.Depois disso, você precisará inserir o nome de sua solicitação e uma descrição. Depois disso, você precisa esperar que o curador aceite ou rejeite as alterações propostas. Se, após assumir uma tarefa, surgirem outros assuntos urgentes, ou se você perceber que não será capaz de lidar com a tarefa, você pode recusar a tarefa. Isso é normal, mas você precisa comunicar sua decisão aos curadores.
Usando código aberto no desenvolvimento de robôs comerciais
Um consultor de negociação ou
robô é um programa que faz transações na bolsa de acordo com um algoritmo predeterminado. Eles podem negociar de forma totalmente independente ou semiautomática. No segundo caso, eles simplesmente enviam sinais sobre a negociação e o negociador toma a decisão final. Vamos listar as vantagens dos robôs de negociação:
- O trader não precisa acompanhar os preços por si mesmo.
- Os Expert Advisors operam estritamente de acordo com um determinado algoritmo, eles não têm emoções.
- Os robôs reagem muito mais rápido do que os humanos.
Mas, além dos prós, os conselheiros automáticos também têm desvantagens:
- em uma situação fora do padrão, por exemplo, com um salto brusco na taxa, o consultor pode reagir de forma inadequada e o trader perderá dinheiro;
- alguns consultores profissionais têm que pagar uma taxa de assinatura.
A seguir, vamos dar uma olhada em alguns consultores de negociação de código aberto. Eles podem ser baixados do GitHub, instalados e usados para negociação. Você também pode melhorar o código-fonte e criar um robô para você.
Bot GEKKO
Este é um consultor comprovado que apareceu há muitos anos. Muitos comerciantes começaram a negociar com este robô. Atualmente não é suportado por seus criadores, mas está disponível para download gratuito no GitHub. Ele pode ser usado em trocas de criptografia, pode coletar informações de mercado e fazer pedidos. O bot GEKKO possui várias configurações, com as quais você pode testar o algoritmo de negociação, bem como ajustar e otimizar o sistema para fazer negócios. Possui um conjunto de estratégias prontas que você pode personalizar. Também é possível criar seu próprio sistema de negociação. Ele suporta 23 trocas, incluindo: Bitfinex, EXMO, Bittrex, Bitstamp.
Zenbot
O consultor de negociação de criptomoeda Zenbot usa inteligência artificial para negociação. É possível personalizá-lo de acordo com seus desejos. É compatível com a maioria dos sistemas operacionais. Pode fazer negociações de alta frequência, negociar vários ativos ao mesmo tempo. Além disso, este bot pode ganhar dinheiro arbitrando criptomoedas. Mas não possui uma interface gráfica de usuário. Capaz de negociar nas seguintes bolsas: Bittrex, Quadria, GDAX, Pollniex e Gemini.
OsEngine
OsEngine é um conjunto de aplicativos de negociação de bolsa. Inclui:
- Dados – usado para carregar dados históricos de várias fontes.
- Otimizador – usado para testar uma estratégia.
- Testador – para testar vários algoritmos de negociação, mas sem alterar os parâmetros. Ele pode funcionar simultaneamente em vários prazos e instrumentos.
- Mineiro – pesquisa padrões lucrativos no gráfico. Os formulários encontrados podem ser usados em negociações reais.
- Trader é um módulo de negociação.
OsEngine usa mais de trinta sistemas de negociação embutidos, entre os quais há tendência (por exemplo, as estratégias de Bill Williams ou Jesse Livermore), contra-tendência (por exemplo, usando lastro,
linhas de Bollinger ) e arbitragem. Pode ser usado em algumas bolsas internacionais (LMAX, InteractivBrokers e ninja trading disponíveis), em
MOEX (Transac,
Quik , Most Asts, Plaza 2, SmartCom) e em bolsas de criptomoeda (Bitstamp, Bitfinex, Kraken, LiveCoin, ExMo, Binance, ZB, Bitmex, BitMax). Também compatível com uma bolsa Oanda Forex. Existem outros consultores de negociação de código aberto populares, por exemplo, TradingBot, para negociação na Bolsa de Valores de Moscou por meio do corretor Atentis ou do simples robô TradingBot.