Aplicações de Código Aberto - Artur...

50
Aplicações de Código Aberto Código e propriedade intelectual

Transcript of Aplicações de Código Aberto - Artur...

Page 1: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Aplicações de Código Aberto

Código e propriedade intelectual

Page 2: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual?• O Direito da Propriedade Intelectual tenta lidar com

duas dificuldades de mercado do conhecimento:– O conhecimento custa mais a produzir do que a copiar– O conhecimento em “segredo” tem mais valor para os seus

detentores, mas menos para a sociedade como um todo• A natureza do conhecimento

– Bem “público”– Ver classificação de bens ([non]rivalrous / [non]excludable)– The Writings of Thomas Jefferson (1859)

• EUA Presidente #3• Examinador de patentes #1

Page 3: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Explicitando conceitos #1• Free vs. Open Source

– Não são o mesmo conceito• Free Software

– Não no sentido de “gratuito”, “preço”– Mas sim no sentido de liberdade(s) – No sentido de “Libre Software”

• Open Source– Propriedade intelectual está “aberta”– No sentido de disponível, mas com que liberdades?– Porquê?

• Criar oportunidade(s) para que outros a entendam• Semente para trabalhos derivados de continuidade / “cumulativos”• Semente para trabalhos “forked” (forks)

• FOSS– Free and Open Source Software

Page 4: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Explicitando conceitos #2• Enquanto autores de código estaremos a autorar

conhecimento– Conhecimento é o principal fator de produção das

sociedades do “primeiro mundo”– E existem instrumentos de Direito (da Propriedade

Intelectual / Intellectual Property / IP) para• Benefício da Sociedade como um todo (disseminação)

– Assume que o conhecimento tem +valor coletivo quando aberto• Recompensar o autor/criador/a invenção/a criação

– Assume que a prazo não haverá criação se não for valorizada

– Que instrumentos?• “Copyright” (espectro de copyLEFT a copyRIGHT?)• Patentes• Trademarks ™• Trade Secrets

Page 5: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Explicitando conceitos #3• Prestar atenção a certas palavras

– Por exemplo “copyright”, no extremo “right”, é comummente descrito como o autor tendo “direitos exclusivos” relativamente às respostas às perguntas:

• O que podem os “utilizadores” fazer com a criação?• Podem os “utilizadores” modificar a criação?• Quem pode fazer “distribuição” da criação?

– Todas estas as questões são uma preocupação se comprometerem o proveito económico do criador

– “Exclusivos”?• Que excluem todas as alternativas não reconhecidas/não

legitimadas.– O criador tem o Direito de excluir quem entender

Page 6: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Explicitando conceitos #4• Se o criador tem os Direitos exclusivos / de “excluir”

– Também tem o Direito inclusivo / de “incluir”• O criador NÃO tem que ser o detentor dos Direitos• O criador pode ser em simultâneo o “rights holder”• O criador também pode ceder/vender/abdicar dos

Direitos– Nessa altura serão outros os…

• “Copyright holder(s)”• “Patent holder(s)”

Page 7: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Explicitando conceitos #5• Copyright

– Protege a cópia “verbatim”, “literal” da criação• Mas, tal como os restantes instrumentos, não existe

isolado– Existe num sistema em que há partes mais relevantes

• Aspetos a considerar, ou outrora considerados, em IP– Valor sociais considerados prioritários

• É sempre tido em conta o benefício coletivo em caso de confusão– Esforço criativo mínimo

• Minimis doctrine, “sweat of the brow”– “fair use”, “uso aceitável”

• Confere o direito de utilização de porções de IP em trabalhos terceiros

– A porção tem mesmo que ser uma “porção”– O proveito económico do IP holder não pode ficar comprometido

Page 8: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Classificação económica de bens• “Rivalrous” : o bem que só pode ser detido por uma

pessoa a certo instante• “Excludable” : quando uma pessoa pode ser

excluída de obter o bem

Page 9: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual?• Pode resultar da autoria de trabalhos

– Literários– Pictóricos, gráficos, de escultura– Musicais– Sonoros– De expressão dramática– Pantomímicos e/ou coreográficos– Fílmicos e/ou outros audiovisuais– Arquitetónicos

• “Resulta de qualquer expressão criativa original, atribuível e verificável”.

• É aplicável a quaisquer produções atribuíveis a autor ou autores identificáveis.

Page 10: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Casos interessantes• Napster

– Copyright• America Online vs. Aimster

– Trademark• SCO’s UNIX vs. IBM

– Põe em causa o Linux• NTP Inc. vs. RIM

– The Campana patents– Põe em causa o serviço de e-mail nos Blackberry

• Eolas vs. Microsoft– Disputa sobre plug-ins em web browsing

• Compuserve's GIF– LZW descrito em 1983 numa edição da “IEEE Computer Magazine”

omitindo referência a patente detida pela Sperry (mais tardeUnisys) > Compuserve admitiu que era "public domain" e aplicou-o a GIFs

– 1987 Compuserve torna GIF uma especificação open source

Page 11: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual e globalização• Geografias diferentes => conceitos diferentes de propriedade

intelectual => mecanismos diferentes de reconhecimento, de disputa, de defesa, etc.

• Categorias de mecanismos para proteção de propriedade intelectual– Copyright

• @EUA– http://www.loc.gov/copyright/ [“U.S. Copyright Office”]– Válido, no máximo, por +70 anos após a morte do titular ou [95 a 120] anos, para

entidades coletivas• Protege a representação de ideias• Exige tangibilidade

– E.g. dança exige coreografia associada• Adequado a código de software• Automático, assim que tangível• “mais forte” se se indicar explicitamente uma “copyright notice”

– Copyright, “copr.” ou ©– Ano da primeira publicação– Nome do titular

Page 12: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Copyright para software• “Non-dramatic literary work”• Automático assim que tangível• No limite, trabalhos idênticos mas feitos

independentemente são ambos protegíveis• Palavras e frases curtas, como citações, NÃO são

protegíveis por copyright– De Minimus Doctrine

Page 13: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual e globalização– Patentes

• @EUA– http://www.uspto.gov/patft/index.html– Concedida, no máximo, por 20 anos

• “copyright” para invenções de produtos ou processos, desde que– Significativamente originais– Únicas o suficiente para se distinguirem de outras– Não óbvias

• Não há patentes para algoritmos ou “ideias”– O software (e métodos/modelos de negócio) tornou-se patenteável depois

de uma série de casos nos 1980s e 1990s, quando foi considerado que poderia ser considerado um “processo” ou uma “máquina”.

• Direito– “negative rights” ou "exclusive rights" (porque excluem)

• O titular da patente tem o direito de impedir outros de usarem, (re)produzirem, monetizarem a sua invenção

• @EUA o software só é patenteável se for reconhecido e descrito enquanto “processo”

Page 14: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual e globalização• Patent holder e criador não têm que coincidir• Casos interessantes mencionados na sessão

– Robert Kearns• Filme “A Flash of Genius”

– Relacionado com Inteligência Artificial• Deep Learning• Processamento de linguagem natural• FB “Big Sur”

• A patente é um documento altamente estruturado onde se deve investir especial atenção na secção de “patent claims”– O que não estiver explicitamente assumido em “patent

claims”, será permitido a terceiros em caso de litígio

Page 15: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual e globalização– Trade marks

• Protegem a associação entre um fornecedor de bens/serviços e imagen(s), palavra(s), slogan(s) e/ou música(s), conhecidas por “marcas”

• Orientadas à proteção do consumidor– Minimizar confusões de associação– Facilitar decisões

• Exigem defesa constante e activa– Trade secrets

• A primeira forma de propriedade intelectual a ser defendida em tribunal

– Desincentivar o suborno de escravos na Roma antiga

• Delia Robbia & porcelana?• Flaming Moe?

Page 16: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Propriedade intelectual e globalização• Trade marks : quais as grandes diferenças deste

instrumento para proteção de propriedade intelectual, relativamente a TODOS os outros:– É não tanto orientado à proteção do “criador”, mas mais

orientado à proteção do “utilizador”, “consumidor”– Não existe exatamente uma “expiração” da trademark

Basta que vá sendo “vigiada” e que haja manifestações dessa vigilância para ser considerada atribuída

Page 17: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Atitude perante copyright• Ser passivo? Ativo?

– Em países com Direito nesta matéria, tipicamente basta ser autor para automaticamente ter direitos sobre a produção: copyright automático.

• O copyright clássico atribui ao autor direitos exclusivos– Distribui o autor, ou quem ele autorizar– Utiliza quem e como o autor autorizar– Modifica quem e como o autor autorizar

• Consequências?– Eventuais limitações à criatividade

– A defesa destes direitos pode exigir empenho do autor.

Page 18: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Domínio público• Domínio público são as situações em que os direitos de

propriedade intelectual não se podem aplicar– Porque entretanto decorreu o período de tempo para

proteção (expiração)– Porque não se verifica alguma condição, como conhecer-se o

autor (inaplicabilidade)– Ainda assim o trabalho está disponível para o público em

geral e/ou não pode tornar-se propriedade privada• Autores podem optar uma declaração de cedência ao

domínio público– “public domain declaration”

• Procurar templates– Em que abdicam de todos os direitos “no rights reserved”

Page 19: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Fechado ou aberto? Usar, modificar, difundir• Se um autor conseguir criar sem utilizar propriedade

intelectual alheia, e quiser exercer certo controlo sobre o seu código, então:– O copyright clássico é um mecanismo adequado/possível– Tem liberdade para escolher uma licença ou conceber a sua

[fortemente desaconselhado]• Perl Artistic License

– Modificações e distribuições por outros só serão legítimas se autorizadas, caso a caso

• O que não é prático para a partilha em escala• Se o autor quiser permitir a outros que trabalhem

sobre o seu código, que o usem, modifiquem e distribuam sem necessidade de autorizações caso a caso, então– Tem que pensar em licenciamento [free sw / open source]

Page 20: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Abertura do código• Abrir o código sem associar-lhe uma licença, poderá

significar torná-lo domínio público ou mesmo domínio de outrem

• Abrir o código ao abrigo de uma licença open source [na comunidade adequada], poderá significar o reconhecimento inquestionável da autoria e potenciar novas aplicações provavelmente não antevistas– Atitude de criação colaborativa

Page 21: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Organizações motoras• Algumas organizações no centro da atitude free

software / open source– GNU

• Do sistema operativo GNU/Linux• http://gnu.org

– Free Software Foundation• http://fsf.org

– Open Source Initiative• Definição de Open Source em 10 pontos

– http://opensource.org/osd-annotated• Da licença ISC

– opensource.org/licenses/isc-license.txt • http://opensource.org/

– Software Freedom• http://www.softwarefreedom.org/

Page 22: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

GNU Free? Copyleft enquanto forma de copyright• A GNU (http://gnu.org) define “free” como sendo a

propriedade do software cujos utilizadores tem a liberdadede – Freedom #0 => Utilizá-lo para qualquer propósito– Freedom #1 = >Modificá-lo para adaptá-lo às suas necessidades– Freedom #2 => Distribui-lo, sem alterações, a quem entenderem– Freedom #3 => Distribuir, partilhando as modificações feitas

• Software “GNU free” pode ser distribuído com uma licença chamada “GNU GPL” será “GNU free” para sempre: reciprocidade– Esta perpetuação do conceito em todos os trabalhos derivados é

proteção copyleft: uma forma de copyright em que o autor abre os direitos de usar, modificar e distribuir, em vez de reservá-los para si

Page 23: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do vídeo com Richard Stallman• Richard Stallman on Free Software - Freedom is Worth

the Inconvenience– “Leader” of the free sw movement– Criador do s.o. “GNU/Linux” que tornou possível usar um

computador apenas com software “livre”• Como alternativa ao “Unix” proprietário de 1983• Em 1990 faltava o Kernel• Entra na história Linus Torvalds• Em 1992 o Linux Kernel torna-se “free software”

– “Free software”, very short version: “respects the user’s freedom and community”

– “non free software” => “subjugating software”• https://www.youtube.com/watch?v=NB8mCcLRxlg

– "freedom is worth the inconvenience"• AUDIO apenas

– https://s3.amazonaws.com/Nikola-Files/Richard-Stallman.ogg

Page 24: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• slides @

http://www.slideshare.net/jgenender/leveraging-open-source-7606336

• vídeo @ https://vimeo.com/28610688• Perspectiva de um developer (Jeff) sobre como

entrar no mundo do open source– Há outras

• Qual o interesse de open source?– Potencial para disrupção de modelos de negócios

suportados por receitas de licenças (copyright)• Microsoft (Windows/Linux), IBM (Websphere/JBoss)

– Motor de inovação

Page 25: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Qual o interesse de open source?

– Comunidade– Free (free as in freedom)

• Quais as vantagens, na perspetiva de organizações, de adoptar soluções open source– Segurança

• Assumindo que temos capacidade para entender o código fonte, vulnerabilidades quanto às comunicações, quanto aos dados, quanto a outros aspetos, poderão ser identificadas pelos utilizadores (prosumers) e eventualmente resolvidas pelos próprios

– Custo potencialmente inferior (custo de quê? Custo de licenciamento de utilização)

– “easier to customize”? Maior potencial para ser adaptado ao perfilde necessidades de cada utilizador

– “less dependence on vendors”, menor risco de “lock-in”• Sendo a solução aberta (a vários níveis) há maior probabilidade de caso a

comunidade original perder interesse no produto, de outros pegarem e continuarem-no

Page 26: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Motivações para participação em open source

– Route #1• “Necessidade”

– Precisamos de uma solução para…– Ou uma solução que já existe tem limitações…

– Route #2• “Vontade” de fazer• Insatisfação é motor de procura de alternativa(s)

• Onde investir a motivação?– Em projeto existente?– Começar um projeto novo? Reinventar a roda?

• SIM > código de fraca qualidade, comunidade venenosa• Tomcat > Jetty

Page 27: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Build it and they’ll come

– No more, cuidado• Comunidade primeiro

– Depois o software– “Community first, code follows” (Apache.org)

• httpd.apache.org

• Tipos de comunidade– Decisão centralizada … Decisão distribuída

• Determina a probabilidade de forks

• Repositórios– De acesso livre

• Github.com, Sourceforge.net “where projects go to die”, mas subsiste• Terminados: Codehaus.org , code.google.com

• Por convite:– Apache.org

Page 28: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Atitude para contribuição

– Bom senso, educação– Central nuclear .. estacionamento de bicicletas

• Vem do projeto “Free BSD”– Freebsd.org

• No meio está a virtude– Quer-se colaboração, mas substantiva

– Também está a ser discutida a atitude:• Se um assunto é trivial, provavelmente saberemos contribuir e

teremos algo a dizer– Mas deveremos fazê-lo?

» Apenas para “show off” NÃO» Contributos substantivos

Page 29: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Que ferramentas?

– Tudo deve ficar explícito, preferencialmente por escrito• Para efeitos de histórico do projeto

– Wikis > documentos colaborativos– Foruns– E-mail e mailing lists, porque são assíncronas, porque tudo fica registado

e distribuído por quem participou• Vimos o exemplo das mailing lists em projetos Apache

– @dev– @users– @private– @commits

– Source Control• Vamos usar GIT

– Visualização do código• Muitas possibilidades

– Ticket systems• Exemplo: “BugZilla”, da mozilla.org

– Ver• Atlassian.org

Page 30: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Do consumo do vídeo de Jeff Genender• Cada projeto terá as suas regras

– Regras de nomenclatura• Antes de tentar participar num projeto

– Aprender as ferramentas que o projeto utiliza• Exº: aprender Git

– Aprender a “code base”• Não significa necessariamente conhecer/compreender todo o código

fonte, mas pelo menos aquele relacionado com a nossa área de interesse

• Caminho mais fácil– Identificar uma bug e resolvê-la

• Patch > CLA = Contributor Licence Agreement

• A metodologia de desenvolvimento mais comum emopen source é “agile”

Page 31: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Licenças “recomendadas” @Lindberg

Page 32: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Outras perspetivas• Exercício: ler

– http://blog.codinghorror.com/pick-a-license-any-license• Classificadores

– Source = { open , proprietary }– Type = { permissive, copyleft, mostly copyleft, weak

copyleft, read only }– Nomes = { GPL, LGPL, MIT, BSD, Apache, Eclipse, Mozilla,

MS permissive, MS community, MS reference }– ALT = WTFPL @ http://sam.zoy.org/wtfpl/

• Uma piada?

Page 33: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: BSD• BSD License : Berkeley Software Distribution License

– Uma “academic license”– A mais curta e simples de todas as licenças “recomendadas”– http://www.freebsd.org/copyright/freebsd-license.html– Nascida para licenciar software com restrições mínimas às

possibilidades de redistribuição– Pertence a uma classe de licenças muito permissivas

comummente chamadas de “copyfree”• Derivados podem mesmo tornar-se software proprietário

– New BSD/Modified BSD• Permite distribuição irrestrita

– Desde que se mantenham os copyright claims e garantias• Uma nova cláusula que dissuade referências à freeBSD.org, como se

a organização tivesse noção de projetos particulares– Simplified BSD/Free BSD

• Omite a nova cláusula

Page 34: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: BSD• The FreeBSD Copyright• Copyright 1992-2013 The FreeBSD Project. All rights reserved.• Redistribution and use in source and binary forms, with or without modification,

are permitted provided that the following conditions are met:1. Redistributions of source code must retain the above copyright notice, this list of

conditions and the following disclaimer.2. Redistributions in binary form must reproduce the above copyright notice, this list of

conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

• THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

• The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.

Page 35: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: Apache License v2.0• Apache License v2.0

– Uma licença “permissiva”• Não exige que mods tenham que ser distribuídas com a licença que

originalmente tinham (mas partes não modificadas sim)– Suporta usos diversos, closed e open source– Compatível com GPL v3.0 *e* sw proprietário, embora não na mesma

solução; se combinada com código GPL v3, o novo trabalho deve ser distribuído com GPL v3

– Inclui provisões para copyright, patentes, trademarks e “contribuições”• Suporta modelos de negócio “fee-for-support”• Cobre o tópico das contribuições

– O melhor é sempre um “Contributor Agreement” explícito…– …um projeto pode ter uma confiança razoável que poderá continuar baseado em

quaisquer contributos– Direitos perpétuos e globais– Direitos de utilização não exclusivos– Direitos irrevogáveis

• Trabalhos derivados podem ter a certeza de que as condições se mantêm, no futuro

• Iniciar qualquer forma de litígio de patentes significa a revogação automática da licença

Page 36: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: Apache License v2.0• Apache License v2.0

– Granularidade é o ficheiro– Cada ficheiro sob a licença deve preservar todas as

referências originais a ©, patents, tm e atribuições em geral

– Todo o ficheiro modificado deve ser assinalado com uma notificação de alterado

– Um ficheiro NOTICE.TXT deve referir eventuais mudanças de condições à licença original nas modificações

Page 37: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Provisões para patentes em licenças• As provisões terão tipicamente duas secções

– “Grant”• Explícita o que é permitido

– “Retaliation”• Explícitas as consequências de litígio ou infração do que é

permitido• Uma consequência muito comum é a revogação automática da

licença: isso significa que o utilizador fica proibido de utilizar a propriedade intelectual em causa desde logo

• Os mecanismos de “Retaliation” surgem também referidos como “poison pills”– Dissuadir conflito com a licença

Page 38: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: MPL• The Mozilla Public License

– 3 características chave1. Incorpora um modelo de como projetos open source realmente

acontecem§ Developer original tem direitos especiais§ Incluindo a aplicação de múltiplas licenças ao código original

§ Outros developers fazem “modificações” ao código original§ Todas sob “licença recíproca”

2. A sua reciprocidade tem como âmbito apenas o ficheiro e não todo o projeto, e é escrita para aplicar-se apenas a código já sob licença Mozilla§ Assegurando que código MPL permanecerá sempre free e MPL§ Mas permitindo a ligação com código sob outras licenças, suportando

inovação proprietária de base open source3. Cobre patentes com um detalhe superior ao de qualquer outra

licença “recomendada”§ Em geral com as mesmas cautelas quanto à reciprocidade das patentes§ Poison Pill : se uma entidade X alega infração de patentes, TODAS as

licenças Mozilla que X possa utilizar, mesmo para código sem relação com o caso, são automaticamente terminadas

Page 39: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: MPL• The Mozilla Public License

– É um compromisso entre a MIT/BSD e a GPL, porque aplica reciprocidade a ficheiros MPL, ainda assim permitindo invocação de código fechado

– Não concede direitos downstream sobre trademarks

Page 40: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: LGPL• GNU LGPL : Lesser General Public License

– Mesmo “nicho” que a MPL– Tipicamente utilizada quando se pretende a ligação a bibliotecas

de código, sob licença proprietária, que sustentam funcionalidade na aplicação cliente

– Projeto caso de estudo: Wine• Leitura:

http://interviews.slashdot.org/story/04/05/17/0057241/jeremy-whites-wine-answers

– A favor: tamanho e vitalidade da comunidade– Contra?

• http://www.gnu.org/licenses/why-not-lgpl.html• Uma sugestão GNU é a opção pela GPL sempre que a criação conferir

alguma vantagem à comunidade open source vs. “comunidade proprietária”

• Quando o código já competir com diversas alternativas, então poderá fazer sentido optar LGPL e permitir a sua integração com código proprietário, porque não se estará a furtar uma vantagem à “comunidade open source”.

Page 41: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: GPL v2.0• GNU GPL : General Public License

– A “licença recíproca” original• Uma revolução na forma de pensar proteção da propriedade

intelectual– http://www.gnu.org/licenses/gpl.html– Podem distribuir/copiar, sem restrições

• A licença GPL tem que seguir, sempre– Podem monetizar a distribuição

• A licença GPL tem que seguir, sempre– Podem modificar, sem restrições

• O projeto derivado resultante tem que ser GPL– O âmbito é o “programa” e não o “ficheiro”– A integração pode ser incompatível com software licenciado

sob outras licenças• Nomeadamente código proprietário apenas disponível em binário

Page 42: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: GPL v2.0• Granularidade é o “programa”: aqui está o seu ponto forte

*e* o seu ponto fraco– “either the Program or any derivative work under copyright law:

that is to say, a work containing the Program or a portion of it, either verbatim or with modifications.”

– Ponto forte: Infeção garantida porque não se reconhece uma unidade de trabalho menor que todo o “programa”

– Ponto fraco: ambiguidade em “programa” – comete um “sin oflegal writing”, que é definir um termo duas vezes

– É uma licença ou um contracto que inclui uma provisão para licenciamento de propriedade intelectual? Ninguém sabe ou saberá até um tribunal decidir exatamente esta questão

• Ler e comentar:– “At its core, the GPL is a very simple license; if I share my code with

you, you should share your code with me. The GPL imposes downstream restrictions on later uses of the code to prevent anyone from taking away the benefits of the shared code. Within the world of the GPL, code shared once is code shared forever.”

Page 43: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: GPL v3.0• Introduzida em 2007 para tentar resolver algumas ambiguidades na

GPL v2.0• Internacionalizou termos

– Por exemplo definindo o que é “distribution”• Passou a ter provisões para patentes

– Autorização downstream relativamente a IP protegida por patentes• Permanece todavia a dúvida licença ou contracto?• Incompatível em diversos contextos, por exemplo pela suas provisões

anti-DRM• Comunidade menor que GLP v2.0• Incompatível com GLP v2.0

– Existem situações em que não obriga à abertura do código• Faz sentido licenciamento duplo GPL v2.0 + v3.0 para permitir a

escolha downstream

Page 44: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: GPL v3.0• Compatibilidade

Page 45: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: MIT• MIT License : Massachusetts Institute of Technology License

– http://web.mit.edu/tlo/www/ [dead em 2017]– http://tlo.mit.edu/learn-about-intellectual-property/licensing-

mits-intellectual-property– Sem restrições ao uso, cópia, modificação e distribuição– Permite a venda do software– Exige que a licença se faça sempre acompanhar em derivados– O principal da licença:Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software

Page 46: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: CC• Creative Commons [CC]

– Tecnicamente NÃO SÃO licenças "free"• Porquê?

– Grande variedade• +restritiva: A, NC , ND• +libre: A

– Comummente utilizadas para projetos de Design• Mas ok para código de software

– Partes relevantes, opcionalmente combináveis• Attribution / Reconhecimento

– O autor original tem que ser reconhecido como o criador; feito isto, outros podem usar, modificar, distribuir, copiar, como entenderem

• Share Alike / Partilhar nas mesmas condições– O trabalho e eventuais derivados têm que sê-lo sob a mesma licença CC

• Non-commercial / Não comercial– As liberdades permitidas excluem sempre propósitos comerciais. Mas o que é

“comercial”? As licenças não definem o conceito.• No derivative works / Sem derivados

– Nalguns casos, permite-se a cópia e distribuição, mas não a modificação ou qualquer forma de adaptação do original.

Page 47: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Algumas licenças: CC• E ainda uma introdução a "Creative Commons":• What Is Creative Commons

– https://www.youtube.com/watch?v=7j7ZSEt-ME0

Page 48: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Exercícios• Qual a relevância?

– http://www.zdnet.com/blog/btl/court-clarifies-open-source-copyright-key-excerpts-for-the-enterprise/9669

• Ler e comentar:– http://code.blender.org/index.php/2013/08/cycles-render-

engine-released-with-permissive-license/• Android Contributor License Agreement for Individuals:

– http://source.android.com/source/cla-individual.html– https://cla.developers.google.com/about/google-individual

• Android License(s):– http://source.android.com/source/licenses.html

Page 49: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Exercícios• O desafio de escrever uma licença

– Larry Wall e a Perl “Artistic License” v1– http://www.shlomifish.org/philosophy/computers/open-

source/foss-licences-wars/ *– http://lwn.net/Articles/246695/

Page 50: Aplicações de Código Aberto - Artur Marquesarturmarques.com/edu/aca/files/w02/aca_01_codigo_e_ip_2019_v1.pdf · Aplicações de Código Aberto Código e propriedade intelectual.

Referências• http://www.loc.gov/copyright/• http://www.uspto.gov/patft/index.html• http://gnu.org/• http://opensource.org/• http://www.softwarefreedom.org/• http://www.freebsd.org/copyright/• http://web.mit.edu/tlo/www/• Van Lindberg. 2008, Intellectual Property and Open

Source: A Practical Guide to Protecting Code, O'Reilly Media