Programa de computador – Guia básico de programas

Programa de computador – Guia básico de programas

PROGRAMA DE COMPUTADOR

Programa de computador é a denominação que se dá a um conjunto organizado de instruções em linguagem natural ou codificada, contida em suporte físico de qualquer natureza, de emprego necessário em máquinas automáticas de tratamento da informação, dispositivos, instrumentos ou equipamentos periféricos, baseados em técnica digital ou análoga, para fazê-los funcionar de modo e para fins determinados. (Artigo 1º da Lei de Proteção de Programa de Computador).

Os programas de computador são protegidos pela Lei de Direitos Autorais. Em se tratando de obras protegidas pelo Direito Autoral, a proteção aos direitos relativos ao programa de computador nasce com sua criação. Diferentemente das demais obras protegidas pelo Direito Autoral, que geram provas materiais aceitas em direito, os softwares possuem característica de imaterialidade, sempre presentes em meios magnéticos ou voláteis. Outra característica da proteção do programa de computador é que, por ser regido pela Lei de Direitos Autorais, protege-se apenas a expressão literal do programa (código fonte, linguagem), não abrangendo seu conteúdo técnico. Dessa forma, o registro de programas garante o direito da autoria, formalizando-se a exclusividade na sua produção, uso e comercialização.        Programa de computador – Guia básico de programas

Desse modo, para assegurar a titularidade, os programas de computador poderão ser registrados no Instituto Nacional da Propriedade Industrial – INPI, o que se dá por meio do depósito dos códigos fonte do programa, que ficarão custodiados no referido órgão, caso eventualmente seja contestada a titularidade.

QUANDO UM SOFTWARE POR SER PATENTEADO?

 

Programa de computador - Guia básico de programas
Programa de computador – Guia básico de programas

O software poderá ser protegido como patente quando estiver embarcado em hardware e for essencial para o funcionamento de determinada máquina. Com a proteção pelo sistema de patentes, protege-se o objeto com a funcionalidade que o programa introduziu. Para tanto, o software deve preencher as condições de patenteabilidade:

-Resolução de um problema técnico encontrado no estado da técnica;
-resultar em aplicação prática;
-possuir efeito técnico novo.

PROTEÇÃO DO SOFTWARE E DO NOME COMERCIAL DO PROGRAMA

Com a concessão do registro, o nome comercial do programa estará protegido juntamente com o software. Contudo, a proteção da marca deve ser requerida à parte e para tal, os trâmites normais para pedido de registro de marca devem ser seguidos.

PRAZO DE VALIDADE DA PROTEÇÃO DO SOFTWARE

O programa de computador no Brasil é protegido por 50 anos contados a partir de 1º de janeiro do ano subsequente da sua publicação ou na ausência desta, a contar da data da sua criação (Artigo 2º da Lei de Proteção de Programa de Computador).

VALIDADE INTERNACIONAL DOS DIREITOS DE PROTEÇÃO DE SOFTWARE

Os programas de computador registrados no Brasil, por serem regulados de acordo com a Lei do Direito Autoral, têm sua proteção estendida para o exterior, em países signatários dos acordos internacionais. Da mesma forma, os programas protegidos no exterior estão resguardados no Brasil.

Programa de computador – Mais informações

Programa de computador ou software é um conjunto de instruções ou declarações a serem usadas direta ou indiretamente por um computador, a fim de obter um determinado resultado. Ele é composto por um código-fonte, desenvolvido em alguma linguagem de programação. O registro do programa de computador no INPI, por força da Lei de Direito Autoral (Lei nº 9.610/98), da Lei de Software (Lei nº 9.609/98) e do Decreto n° 2.556/98, é a forma mais segura de garantir sua propriedade e provar sua autoria.

Com a reestruturação ocorrida no INPI ao final do ano de 2016, a Divisão de Programas de Computador e Topografias de Circuitos Integrados – DIPTO foi realocada na nova estrutura da Diretoria de Patentes – DIRPA. A partir daí, iniciaram-se estudos buscando a remodelagem dos sistemas de registro de programas de computador e topografias de circuitos integrados, acarretando nova visão de negócio.

Hoje, o sistema de registro de software remodelado passou a ser totalmente eletrônico e automatizado (acesse aqui o fluxo do processo de registro), tendo entrado em produção em de setembro de 2017, a partir da vigência da Instrução Normativa nº 099/2019.        Programa de computador – Guia básico de programas

Daí em diante, não mais eram permitidos depósitos e demais serviços de programa de computador no INPI em papel, apenas eletrônicos. Um interessante comparativo entre as características das normas em vigor até e após o dia 11 de setembro de 2017 pode ser obtido aqui.

O novo sistema de registro de software no INPI, através do formulário eletrônico e-Software, implementa importantes inovações. Dentre elas, ressaltamos a assinatura digital e o resumo digital hash.

A assinatura digital é realizada nos documentos Declaração de Veracidade – DV e Procuração Eletrônica (quando for o caso). Tendo em vista o sistema declaratório, assinar digitalmente estes documentos garante o nível de segurança jurídica necessária ao processo, de modo a assegurar, com elevado grau de confiança, a autenticidade, integridade e o não repúdio da autoria destes documentos.

O resumo digital hash, por sua vez, mecanismo de verificação de integridade de arquivos largamente utilizado como prova eletrônica na forense computacional, é a chave dessa quebra de paradigma: por conta da adoção dessa tecnologia, o INPI não mais necessita armazenar a documentação técnica sigilosa (o CD contendo o código-fonte do software registrado) por 50 anos. Agora, o titular do direito deverá gerar o resumo digital hash a partir do arquivo contendo o código-fonte do programa de computador, transcrevendo o resultado no formulário eletrônico de depósito, e armazenar este arquivo.

O resumo digital hash constará do certificado de registro, e compreende o elemento mais importante do registro do software: é de posse dessas informações que, em caso de demanda judicial, um perito técnico nomeado pelo Juiz irá requisitar o código-fonte guardado pelo titular do registro, gerar o resumo digital hash desta documentação técnica, para então compará-las e assegurar, inequivocamente, se houve ou não a alteração no documento original, bem como atestar (ou não) a autoria do software.

Essas inovações permitiram um processo de registro completamente desburocratizado e automatizado, com segurança jurídica e celeridade, por meio da expedição do certificado de registro em até sete dias úteis.

Em um ano de sistema em produção, os resultados já são animadores: comparando o número de registros solicitados no ano de 2018 com os solicitados no ano 2017, houve um aumento de 48.4 % (fonte: AECON/INPI).

Maiores informações podem ser obtidas no Manual do Usuário para o Registro Eletrônico de Programas de Computador, disponibilizado e constantemente atualizado pela DIPTO para assistir os usuários neste novo sistema de registro.        Programa de computador – Guia básico de programas

Resumo digital hash – A função criptográfica hash é um algoritmo utilizado para garantir a integridade de um documento eletrônico, de modo que qualquer modificação no texto original gera um resumo hash completamente diferente, o que permite a sua utilização para esta finalidade.

O que são unidades de CD / DVD? (disco compacto)

O que é o teclado do computador? qual a sua função!

O que é mouse de computador? qual é a sua função!

 

Para realizar o registro de programa de computador é necessário promover a transformação, em resumo digital hash, dos trechos do programa de computador e de outros dados que considerar suficientes e relevantes para identificá-lo, ficando a responsabilidade da guarda do objeto com o titular do direito. A apresentação da informação de resumo hash no formulário eletrônico e-Software, no ato do registro, garantirá que o objeto não foi alterado ao longo do tempo desta guarda. Esta documentação técnica é fundamental para caracterizar a originalidade do programa de computador junto ao Poder Judiciário, quando for o caso. Reforçando: a guarda e manutenção da integridade da documentação técnica serão feitas pelo titular de direito e serão fundamentais para uso futuro como prova digital, ou seja, a informação do resumo hash e a descrição do algoritmo no formulário eletrônico e-Software serão fundamentais para uma validação deste documento, guardado pelo interessado, no Judiciário. Um perito técnico poderá inequivocamente assegurar ao judiciário se houve ou não a alteração no documento, bem como a autoria do software.

Para comprovar a autoria de um programa de computador (software) será necessária a apresentação do objeto protegido, como o código-fonte ou partes deste código, em juízo. Sendo assim, o Certificado de Registro expedido pelo INPI conferirá segurança jurídica aos negócios do titular de direito do software.

É recomendável fazer cópias de segurança em um dispositivo de armazenamento do titular de direito, a fim de garantir a integridade do arquivo ao longo do tempo.

Declaração de Veracidade (DV) – O solicitante do registro, seja ele o próprio interessado (titular do direito) ou seu procurador, deverá assinar digitalmente (certificado digital ICP-Brasil) o documento DV eletrônico, disponível para download na ocasião da geração da GRU ou no formulário eletrônico e-Software, o qual será disponibilizado na íntegra com as informações do solicitante, seja ele o titular do direito ou o procurador. Após a assinatura digital (ver item 2.6 do manual), este documento será obrigatoriamente anexado (upload) ao formulário eletrônico e-Software. O DV é específico para o serviço solicitado e este está relacionado ao nosso número da GRU emitida, ou seja, para cada solicitação de serviço de programa de computador haverá um DV único. O DV pode ser obtido através do link “clique aqui”, abaixo do botão “Adicionar Declaração de Veracidade”, existente no formulário eletrônico ou no botão “Declaração de Veracidade” disponível no módulo GRU, e deve ser assinado digitalmente por uma pessoa física ou jurídica, sendo ele já assinado digitalmente pelo INPI.

Procuração Eletrônica – A procuração eletrônica é um instrumento particular na qual o outorgante (titular do direito) concede poderes para o outorgado (procurador) utilizar o sistema online de formulário eletrônico e-Software no INPI. O outorgante (titular do direito) deverá assinar digitalmente (ICP-Brasil) a procuração eletrônica. Após esta assinatura o outorgado (procurador) deverá obrigatoriamente assinar o documento DV e apresentar ambos (procuração e DV) no ato do preenchimento do formulário eletrônico e-Software, através de upload do documento (ver item 2.6 do manual).        Programa de computador – Guia básico de programas

O documento Procuração com amplos poderes, elaborado pelo próprio, deverá ser anexado ao formulário eletrônico e-Software pelo outorgado, assinado digitalmente pelo outorgante. Os poderes administrativos definidos nesta procuração deverão ser assinalados pelo procurador no formulário eletrônico e-Software. O outorgado, ao apresentar pela primeira vez a procuração de amplos poderes através do formulário eletrônico e-Software, deverá assinalar os poderes administrativos, da procuração apresentada, o que permitirá a solicitação de futuros serviços de registro de programa de computador no INPI:

Como iniciar um blog – o guia definitivo

Como escrever blogs que convertem – guia prática

Crie um Ebook de graça – Aprenda a criar um Ebook

Função e tipos de placas de computador

 

-Pedido de Registro de Programas de Computador – RPC;
-Alteração de nome (pessoa física);
-Alteração de Razão Social (pessoa jurídica);
-Alteração de endereço;
-Revogação ou Renúncia da Procuração;
-Correção de dados no Certificado de Registro devido à falha do interessado;
-Renúncia do Registro;
-Transferência de Titularidade;
-Solicitação de levantamento do sigilo.

Uma vez apresentada esta procuração de amplos poderes administrativos declarados, o formulário eletrônico e-RPC não exigirá posteriormente o upload de nova procuração para aqueles mesmos serviços anteriormente assinalados, para o mesmo outorgante. O sistema e-INPI registra estas informações em seu banco de dados para controle interno.

COMO FUNCIONA UM PROGRAMA DE COMPUTADOR

 

Programa de computador - Guia básico de programas
Programa de computador – Guia básico de programas

Antes de aprender lógica e uma linguagem de programação, precisamos saber como de fato um computador funciona, pois só assim vamos entender como funciona um programa de computador. Neste artigo vamos aprender sobre isso e no final ainda temos um primeiro comando para você executar em sua máquina para exibir uma mensagem na tela.

Até aqui aprendemos ferramentas de programação, como o terminal, Git e GitHub. Durante esse aprendizado, conhecemos bem pouco da história dos computadores. Vimos que antigamente os sistemas operacionais não possuíam interface gráfica. Seu hardware era de baixa capacidade (se comparado a hoje em dia) e por isso era necessário que os programas fossem altamente otimizados.

Aprendemos que softwares são compostos por alguns ou milhares de arquivos e que o sistema operacional é responsável por cuidar de como tudo isso vai funcionar, mas enquanto desenvolvemos trabalhamos com versionamento de código para garantir que nada vai quebrar na mão do usuário final devido a alguma de nossas alterações.

Agora podemos entrar em programação de fato. Antes mesmo de escrever nossas primeiras (ou não) linhas de código, precisamos entender como funciona um programa de computador. Como pode um monte de texto se transformar em algo visual na nossa tela, em um aplicativo, em uma rotina que automatiza processos. Para tal é importante aprender sobre arquitetura de computadores.

Componentes de um computador

Existem componentes em um computador que são muito importantes para o seu funcionamento. Podemos listar aqui alguns que você já até deve conhecer ou ter ouvido falar: placa mãe, processador, memória primária, memória secundária, dispositivos de entrada e saída e o sistema operacional.

Placa mãe

A placa mãe é quem conecta todos os nossos componentes. Ela é uma placa eletrônica com trilhas de metal que trafegam a eletricidade através dos componentes eletrônicos do PC, servindo tanto para alimentar estes componentes, quanto para trafegar a informação entre eles.

Quando ligamos o PC, existe um comando elétrico, que ativa algum comando dentro do computador, no processador, que faz com que ele vá se ativando e ativando todos os outros componentes necessários para o seu funcionamento.

Processadores

 

Programa de computador - Guia básico de programas
Programa de computador – Guia básico de programas

O processador é a parte central do nosso computador, por isso seu nome é CPU (unidade central de processamento, em português). É ele quem faz todas as contas para que aconteça algo em nosso computador. Internamente é tudo 0 e 1. Não existem instruções dizendo para o processador “faça isso” ou “faça aquilo”. O que acontece são contas binárias que ligam ou desligam transistores de dentro desses componentes eletrônicos tão importantes através da lógica binária. O processador entende esses 0s e 1s como “liga” ou “desliga” a corrente elétrica que passa por dentro dele através dos seus transistores.

O que são transistores São componentes eletrônicos utilizados principalmente como amplificadores e interruptores de sinais elétricos, além de retificadores elétricos em um circuito, podendo ter variadas funções. O termo provém do inglês transfer resistor (resistor/resistência de transferência), como era conhecido pelos seus inventores. Wikipédia- Transístor

Isso acontece em taxas muito rápidas e aqui entram as operações lógicas binárias que o processador executa de AND, OR, NOT, XOR e Shift, onde o que acontece é:

-quando o processador recebe um comando AND, a saída elétrica vai acontecer somente se as duas entradas forem “ligado” (receber corrente elétrica nas duas entradas do transistor)
-quando recebe o comando OR, a saída acontece se uma ou outra entrada aconteceu
-o NOT apenas inverte a entrada, se recebeu corrente elétrica (1) ele inverte ela para não (0)
-XOR devolve uma saída sempre que o número de entradas é ímpar
-Shift desloca bits para alterar o processamento, por exemplo se movimentarmos bits para a esquerda temos uma multiplicação por dois, se movimentarmos para a direita temos uma divisão por dois
Apenas com esses operadores lógicos o processador calcula tudo o que precisamos para implementar qualquer lógica em nossos programas e para todo o funcionamento do nosso computador.

Dentro do processador existe algo chamado código de máquina, que são as instruções que o processador sabe interpretar e executar. Um código de máquina não é muito legível para seres humanos. Mais a frente vamos conhecer as linguagens de programação e assim vamos aprender sobre linguagens de alto e baixo nível.

Memória primária

A memória não é tão interessante quanto o processador, porém sua função é primordial para o funcionamento do nosso computador, do nosso sistema operacional e dos programas que rodamos.

É nela que ficam armazenados os 0s e 1s das instruções que estamos executando em algum momento. Quando rolamos a página deste blog, por exemplo, o navegador vai tratar de baixar informações da internet através de um complexo processo de comunicação com os servidores, carregar essa informação na memória do nosso computador e o sistema operacional vai dar as instruções para que o processador controle a placa gráfica (a nossa placa de vídeo) para que as informações apareçam na tela.

A memória primária é a nossa memória RAM, aquela que normalmente ouvimos falar quando queremos comprar um computador ou celular. Normalmente de 2 GB para frente (hoje em dia), mas já foram de capacidade muito menores, assim como os programas que eram executados utilizando elas.

Memória secundária

Na memória primária os dados são armazenados de maneira temporária. Se você copiar algo utilizando o CTRL+C, este dado é armazenado na memória primária, nossa memória RAM, mas ao reiniciar o sistema operacional vai perceber que isso não está mais na área de transferência. Se você pressionar CTRL+V assim que ligar o PC, nada vai acontecer.

Para guardar informações para depois, utilizamos a memória secundária, nosso disco rígido (o HD), um DVD, um pen-drive. Esses dispositivos possuem suas tecnologias para guardar os 0s e 1s de maneira que possamos recuperar isso depois.

Dispositivos de entrada e saída

Com o uso do processador nós processamos impulsos elétricos para transformar em dados, com a memória RAM nós temos uma área onde ficam rodando nossos programas e com o HD guardamos dados para depois, mas como nós adicionamos dados e como nós recuperamos isso no computador?

Para isso existem os dispositivos de entrada, como os conectores dos teclados, mouses, controles, etc e de saída, como placa de vídeo e os monitores, impressoras, etc.

Assim como tudo dentro do nosso PC, esses dispositivos também processam eletricidade e dentro deles temos mais transistores e outros componentes eletrônicos que permitem essa comunicação.

Para que algo apareça em nosso monitor, acontecem milhares de cálculos em menos de um segundo e tudo isso é trabalhado entre processador, memórias e placa de vídeo.

Sistemas operacionais

O sistema operacional é uma coleção de milhares de programas que existem para gerenciar nosso computador e nossos programas. Toda aquela comunicação entre processador, memórias e placa de vídeo, trabalhada para mostrar algo na nossa tela, é orquestrada pelo sistema operacional.

Você já deve ter ouvido falar ou tido problemas com um driver no Windows, Linux ou Mac, que são os sistemas operacionais mais utilizados do mundo. Um driver nada mais é que um programa que se comunica com o hardware e o sistema operacional para que algo aconteça e quem controla a comunicação entre o hardware e o que tentamos fazer (como digitar algo na caixa de comentário deste artigo) é o sistema operacional.

Como eu comentei acima, o Windows, o Linux e o MacOS são os sistemas operacionais mais utilizados em PCs, porém existem outros tanto sendo utilizados em computadores pessoais como em servidores, os computadores que executam tarefas específicas, como nos enviar essa página que você está lendo.

Linguagens de programação

Agora que entendemos, bem por cima, como funcionam os computadores, chegamos nos programas de fato. Mas para entender como um programa funciona, precisamos entender as linguagens de programação.

As linguagens de programação existem para que uma pessoa possa escrever instruções que serão executadas pelo nosso computador (seguindo todo aquele fluxo que aprendemos anteriormente). Quando criamos um programa, nós criamos um arquivo, em um formato que o computador vá entender que é um programa, como com extensão .js, e precisamos escrever as instruções em um idioma que a máquina vá entender. Esse idioma é a linguagem de programação.

Existem muitas linguagens de programação e muitas maneiras de fazer um programa. Dentre essas, tem uma classificação que precisamos entender, que é a questão de linguagens de alto e baixo nível.

Linguagens de baixo nível

As linguagens de baixo nível são aquelas mais próximas do código de máquina, como é a linguagem Assembly, que muitos de nós achamos terrível devido a nossa vivência com linguagens modernas.

Noticias Web

Noticia Web foi criado para trazer noticias relevantes a você, que quer ficar informado do dia dia do nosso Brasil e mundo. OBRIGADO

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *