PROTEZIONE del SOFTWARE COPYRIGHT e BREVETTO Corrado BORSANO PANORAMA NORMATIVO ITALIA LEGGE SUL DIRITTO D'AUTORE - 22 APRILE 1941 N. 633 e successive modifiche (LDA) Legge 248/2000 - Inasprimento sanzioni contro pirateria LEGGE INVENZIONI - D.L. 10 febbraio 2005 N. 30 (LI) EUROPA CBE - CONVENTION, CASE LAW DIR UE su SOFTWARE PROTECTION N. 91/250 PANORAMA NORMATIVO Wednesday 6 July 2005 - Strasbourg European Parliament legislative resolution on the Council common position with a view to the adoption of a directive of the European Parliament and of the Council on the patentability of computerimplemented inventions (11979/1/2004 – C6-0058/2005 – 2002/0047(COD)) 1. Rejects the common position; 2. Instructs its President to declare the legislative procedure closed and to forward its position to the Council and Commission. GENERALITA’ - invenzioni Art 45 (LI) : ……………………….. non sono considerate invenzioni: …………………………... b) ……………., e i programmi di elaboratore ; c) le presentazioni di informazioni. ………………...non sono considerate invenzioni …………. nella misura in cui il brevetto riguardi ...…...…….. programmi in quanto tali. GENERALITA’ - invenzioni Art 52 CBE : …………………………... (2) The following in particular shall not be regarded as inventions within the meaning of paragraph 1: ……………………………... (c) schemes, rules and methods for performing mental acts, playing games or doing business, and programs for computers; (d) presentations of information. (3) The provisions of paragraph 2 shall exclude patentability of the subject-matter or activities referred to in that provision only to the extent to which a European patent application or European patent relates to such subject-matter or activities as such. GENERALITA’ - invenzioni Art 45 LI e Art 52 CBE: i programmi di elaboratore non sono considerati invenzioni, e non sono brevettabili nella misura in cui il brevetto concerna programmi in quanto tali. Partiamo dal presupposto che il software in quanto tale manchi del requisito di "applicazione industriale" : però il divieto di brevettazione non si estende ai risultati derivanti dall'applicazione ed uso del SW, quando nei detti risultati si riscontri un'applicazione industriale. DIRITTO D’AUTORE (COPYRIGHT) art 1 LDA: sono altresì protetti i programmi per elaboratore come opere letterarie. art 2.8: sono protetti i programmi per elaboratore in qualsiasi forma espressi purchè originali, quale risultato della creazione intellettuale dell'autore. Esclusi dalla tutela sono le idee ed i principi alla base degli elementi del programma, compresi quelli alla base delle sue interfacce. E’ compreso nella protezione il materiale preparatorio per la sua progettazione. Nell'interpretazione corrente sono esclusi gli algoritmi (come idee e principi), mentre sono compresi i diagrammi di flusso (come materiale preparatorio). DIRITTO D’AUTORE (COPYRIGHT) art. 64bis. - Diritti esclusivi conferiti: diritto di effettuare o autorizzare: a)- riproduzione permanente o temporanea, parziale o totale, con qualsiasi forma e mezzo, compreso caricamento, visualizzazione, esecuzione, trasmissione, memorizzazione; b)- traduzione, adattamento, trasformazione, modificazione; c)- distribuzione al pubblico, locazione; esaurimento del diritto relativo ad una copia del programma: la prima vendita regolare della copia esaurisce il diritto di distribuzione. DIRITTO D’AUTORE (COPYRIGHT) art. 64ter. - salvo patto contrario, non sono soggette ad autorizzazione le attività dei commi a) e b) sopra, se esse sono necessarie all'uso del programma, inclusa la correzione di errori. Lecita una copia di riserva (back-up) Lecito studiare e provare il programma, da parte di chi ha diritto di usarlo, per capirne le idee ed i principi. art. 64quater - le attività dei commi a) e b) art.64bis sono lecite per garantire l'interoperabilità con altri programmi, a patto che: siano compiute da parte di chi ha diritto di usare il programma, le informazioni per l'interoperabilità non siano già facilmente accessibili, queste attività siano limitate alle parti necessarie del programma. Divieto di arrecare indebito pregiudizio al titolare dei diritti. DIRITTO D’AUTORE (COPYRIGHT) art 103: registrazione alla SIAE: dichiarativa e non costitutiva di diritto art 171bis LDA e legge 248/2000 - sanzioni - per uso abusivo di un programma o di una banca-dati a fine di lucro: reclusione da sei mesi a tre anni e multa da 5 a 30 milioni di lire. INDICAZIONE DI COPYRIGHT Mettere l’indicazione di Copyright su ogni Release software Indicazioni corrette: Copyright © “anno” “titolare”. Tutti i diritti riservati. Copyright © “year” “owner”. All rights reserved. DIRITTO D’AUTORE (COPYRIGHT) IMPLICAZIONI CONTRATTUALI Il software non si vende, si concede in licenza Differenza tra “titolarità” e “diritto d’uso” Clausola di concessione licenza d’uso per la parte di software in un contratto di vendita di un prodotto Accordi di riservatezza (Non-Disclosure Agreements) DIRITTO D’AUTORE (COPYRIGHT) PROTEZIONE BANCHE DATI DIR UE 96/9 del 11 marzo 1996 Un capitolo apposito della legge sul “Copyright” Protegge le banche dati Diritto “Sui generis”: Protezione estesa a Scelta e disposizione del materiale Durata 15 anni dal 1°gennaio dell’anno successivo Corrispondenza tra Hardware e Software per IPRs HW SW Prodotto Supporto per il programma (ROM, RAM, CD, tape) IPRs sul prodotto Contenuto del supporto, cioè il programma stesso Diritto di riprodurre il Diritto di riprodurre il prodotto e di programma e di venderne venderne copie copie Licenza d’uso di IPRs Licenza d’uso del programma INVENZIONI Art 45 LI e Art 52 CBE: i programmi di elaboratore non sono considerati invenzioni, e non sono brevettabili nella misura in cui il brevetto concerna programmi in quanto tali. Partiamo dal presupposto che il software in quanto tale manchi del requisito di "applicazione industriale" : però il divieto di brevettazione non si estende ai risultati derivanti dall'applicazione ed uso del SW, quando nei detti risultati si riscontri un'applicazione industriale. Quindi vediamo se e cosa si può brevettare nel campo del software INVENZIONI EPO - Case Law Landmark Decisions T 1173/97 (IBM) T 935/97 (IBM) T 1194/97 T 931/95 T 769/92 INVENZIONI Guidelines EPO - Chapter C-IV 2.3 - PATENTABILITY - Programs for computers ……………………………………………... The basic patentability considerations here are in principle the same as for other subject-matter. While "programs for computers" are included among the items listed in Art. 52(2), if the claimed subject-matter has a technical character, it is not excluded from patentability by the provisions of Art. 52(2) and (3). ……………………………….. However ….. the execution of a program always involves physical effects……... According to T 1173/97 such normal physical effects are not in themselves sufficient to lend a computer program technical character. But if a computer program is capable of bringing about, when running on a computer, a further technical effect going beyond these normal physical effects, it is not excluded from patentability, irrespective of whether it is claimed by itself or as a record on a carrier. This further technical effect may be known in the prior art. INVENZIONI Guidelines EPO - Chapter C-IV 2.3 …………………………………. A further technical effect which lends technical character to a computer program may be found e.g. in the control of an industrial process or in processing data which represent physical entities or in the internal functioning of the computer itself or its interfaces under the influence of the program and could, for example, affect the efficiency or security of a process, the management of computer resources required or the rate of data transfer in a communication link. As a consequence, a computer program claimed by itself or as a record on a carrier or in the form of a signal may be considered as an invention within the meaning of Art. 52(1) if the program has the potential to bring about, when running on a computer, a further technical effect which goes beyond the normal physical interactions between the program and the computer. ……………………………. PROTEZIONE Dalla legge sul diritto d’autore deriva la protezione del software come forma espressiva (listato, codice sorgente e codice oggetto) Dalla case law CBE deriva il concetto di brevettabilità del software nei risultati di carattere tecnico. Con il diritto d'autore si protegge il software nella sua forma espressiva, mentre con il brevetto si protegge il software nei risultati tecnici. N.B.: LE DUE FORME DI TUTELA POSSONO COESISTERE PROTEZIONE SITUAZIONE IN USA Non esistono più divieti specifici, quindi sono brevettabili sia i programmi per computer sia i metodi di business purchè nuovi ed utili 35 U.S.C. 101 Inventions patentable. Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Protezione brevettuale per il Software BREVETTO Due tipi principali di invenzioni software: - quelle in cui il programma produce [ulteriori] effetti tecnici all'interno dell'elaboratore in cui è fatto girare, ad esempio come miglioramento del funzionamento dell'elaboratore stesso; - quelle in cui il programma produce [ulteriori] effetti tecnici esterni, distinti dal funzionamento dell'elaboratore, ad esempio comandando apparati o procedimenti industriali. In ogni caso l'elemento chiave è se esistano effetti tecnici come risultato dell'invenzione. CLAIMS Metodo ….. (elenco di un determinato numero di fasi (steps) che corrispondono ad operazioni più o meno complesse realizzate tramite procedure software, definite in sequenza eventualmente ripetuta (loops or state transitions)). Dispositivo…… (elenco di un determinato numero di mezzi per eseguire le fasi del metodo. Di solito le rivendicazioni di dispositivo sono la riscrittura di quelle di metodo in un’altra forma) N. Computer program comprising computer program code means adapted to perform all the steps of claim ... when said program is run on a computer. N+1. A computer readable medium having a program recorded thereon, said computer readable medium comprising computer program code means adapted to perform all the steps of claim ... when said program is run on a computer. ESEMPI Metodo e dispositivo di elaborazione dati per la rappresentazione interattiva ad immagini di oggetti e luoghi su terminali mobili e fissi 1. Metodo di elaborazione dati per la rappresentazione ad immagini di oggetti e luoghi (panoramiche) su un elemento di visualizzazione, caratterizzato dal fatto che detta rappresentazione è eseguita in modo interattivo con l’utente tramite visite virtuali ad immagini reali o sintetiche, e dal fatto che comprende le fasi di : compressione progressiva di una collezione di N immagini di rappresentazione interattiva di oggetti e/o luoghi, e memorizzazione; decompressione progressiva di detta collezione di N immagini di oggetti selezionati e/o immagini di luoghi a panoramiche; eventuale visualizzazione di dette immagini decompresse mediante motore grafico specializzato. ESEMPI Method and apparatus for edge-based image and video encoding and decoding especially for selective encryption application and flexible network services. 1. Method for edge-based image and video encoding, characterized in that it comprises decomposing images according to the following steps: - edge detection, for generating an edge-set image (ESI); - edge description for gray-tone/luminance and/or colour sampling along the edges, for generating encoding bit-streams (EdgeC) describing the edge-set image (ESI); - residuum “smooth” image extraction and encoding according to any image description/ compression standard. ESEMPI Esempi Software architecture aspects For example: Network management or service management architecture Internet or multimedia software architecture Software methodology aspects For example: Method of searching an object in an object library Method for retrieval of stored graphs Method to maintain the containment between objects Esempi Kernel or System software Software for: Operating system Data base management User interface Application software Software for: Typical functions for specific applications Network services Esempi Interworking of software modules For example: Automatic detection of reachable network elements Software for exchange of information, translation, … Network management system Conversion of data representations For example: Transformation between CMIP and SQL for database access General managed object model for LAN domain (converting SNMP view to CMIP view) Esempi User interfaces For example: Direct manipulation of icons via conversational linking Method for inputting data Support software For example: Apparatus and method for logic description conversion Graphical system for modelling a process Display method in software development support system Patent Protection Specific examples PROBLEMS AND NEEDS Many product segments of the market tend to comprise an increasing amount of embedded software The products within said segments tend to be differentiated more and more only by the performing differences of the embedded software rather than the utilized hardware The future demands of software designs in general will very great with respect to both fault recognition and elimination, and short-term development deadlines. One of many examples of relevance may be within the automotive industry. The large scale appearance of software-controlled units will cause increasing troubles to the system designers It may be difficult to overview every aspect of the possible state of each unit, and to keep track of the synergy between all the subsystems utilized. PRIOR ART PROBLEMS One way of testing such types of products is to check the logic design prior to the fabrication of a device through symbolic model checking. Another approach is described in US-5,465,216 in which a method of automatic design verification is described. A drawback is that the possibly obtainable results will only be partial and non-exhaustive. A more promising technique is presented in W. Lee ... This technique uses a partitioned transition relation, and a greedy heuristic is used to select subsets of the transition relation. For each chosen subset, a complete fixed point iteration is performed. If the formula cannot be proven after this iteration, a larger subset is chosen. ….. A drawback of the technique is that it uses a greedy strategy involving a fixed-point iteration for each of the remaining machines. If the system only has a single initial state, as is typical in embedded software systems, the greedy strategy reduces to selecting an arbitrary machine, thus involving extraneous fixed-point iterations. AIM OF THE INVENTION The present invention meets the requirement of both a formal verification and a use of an unreduced system model and provides the possibility of performing theoretical model "crash tests" in even very large-scale state based system models. Moreover, analyses and verification of the said models can be achieved in non-reduced models at a much higher rate than prior art analyses and verification tools. Rivendicazioni brevetto europeo Rivendicazioni brevetto europeo Rivendicazioni brevetto europeo NOTA: sono concesse 22 rivendicazioni: 20 rivendicazioni di metodo "A method of analyzing a state based system model comprising a set of machines (Ml,.., Mn),….. " 2 rivendicazioni di prodotto computer Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA Rivendicazioni brevetto USA NOTA : sono concesse 82 rivendicazioni. Rivendicazioni indipendenti 1, 11, 29, 37: "A computer-implemented method of performing a reachability check of a state based system model comprising a set of machines(Ml,.., Mn), ..”" Rivendicazioni indipendenti 42, 52: "A computer-readable medium having stored thereon instructions for performing …. " Rivendicazioni indipendenti 70, 78: "A computer-readable medium having stored thereon sequencies of instructions for performing …. " Rivendicazioni brevetto USA SW Patents: Examples TITLE Managing remote IP NEs through the Sonet/SDH DCC PROBLEM: To connect IP managed network elements NEs to Sonet/SDH network element SOLUTION: The management information is carried to the IP NEs using Connection Less Network Protocol, placing IP over CLNP via the Sonet/SDH OSI DCC. LIG RIG IP NI NAP TSP/IP LAN IP Intermediate NEs NI CLNP CLNP SONET DCC NAP CLNP SONET DCC TCP/IP LAN SW Patents: Examples TITLE: SN MP POLLIN G MAN AGEMEN T PROBLEM: The use of a connection-less protocol (as SNMP) in Manager-Agent interface generates a problem related to the detection of both Manager and Agent Isolation. As the SNMP protocol is of the connection-less type, this functionality is not automatically provided, as for example checking the state of the connection in a connection-oriented protocol, such as CMIP. SOLUTION : At the start-up, the Manager will store inside the Agent, in a persistent way, its address and time-out value. This time-out is the time interval between two different polling messages sent by the manager. This way the Agent can check the time-plus-address and can be informed of the Manager’s presence. SW Patents: Examples TITLE: SN MP ALARM MAN AGEMEN T IN A CON N ECTION LESS PROTOCOL (SN MP) The Manager does not know when an alarm has been sent by the Agent. PROBLEM: SOLUTION : The Manager maintains the timeout polling mechanism, however the Agent sends “ very urgent alarms” to the Manager. Furthermore, it stores all the arisen alarms, both urgent and not, in the Log and Active Problem Table (APT). The Agent will send an alert alarm in order to highlight new alarm occurrences. This alert alarm is sent at fixed timeout and/ or after a frequency period, where frequency means a number of alarms the Agent has to generate and count in order to send the alert. MAN AGER LOG, APT POLLIN G GET ALERT TIME- OUT ALERT FREQ- COUN T LOG AGEN T URGEN T APT SW Patents: Examples Patent No.: Priority Date: Proprietor: Subject: EP 0 627 143 28/08/92 ERICSSON Management in telecom and open systems Main Claim: 1. A management network with at least one managing system and at least one managed system for telecom or open systems, in which said managed system includes physical and/or logical resources, which by the managing system are considered and managed as managed objects in the form of data images of the resources, and in which the managing system for its operations directed towards the managed system utilizes an information model of the managed system, which includes a description of all managed objects adapted to the mode of operation of the managing system, characterized by the management network including, besides the managed system, a generic manager and å representation of the management information model, where the performance of the generic manager during operation is determined by this model representation. SW Patents: Examples Patent No.: Priority Date: Proprietor: Subject: EP 0 624 964 14/05/93 GPT Limited Transformation between CMIP and SQL for database access Abstract: A Generic Database Agent (G-DBA), provides the database access component of a Service Logic Execution Environment (SLEE). The G-DBA provides for online deployment of new data objects to a relational database (RDBMS) in a high availability real-time system, requiring conversion between CCITT’s Common Management Information Protocol (CMIP), and a Structured Query Language. A database access component provides a transform between a Common Management Information Protocol and Structural Query Language. SW Patents Examples 1. A network browsing system comprising: a network including a plurality of nodes and a host computers, said host computer and said plurality of nodes being interconnected for the transmission of data; a client computer including a display, said client computer being connected to said network for the transmission of data; a network browser process implemented on said client computer that is capable of establishing a connection with said host computer and of generating a request for desired data from said host computer which is to generate desired images on said display of said client computer; and a server process implemented on said host computer which services said request for desired data received from said client computer by modifying the desired data into modified data such that no additional connection between the client computer and the host computer is required to receive the entirety of the modified data, where said browser process can generate said desired images from said modified data, said server process further being operative to transmit the modified data to the client machine, and disconnecting from the client computer after the transmission of the modified data; wherein said server process determines whether said requested data includes a local embedded URL and, if so, obtains the data associated with said local embedded URL and includes such data with said modified data. SW Patents Examples Claim 1: A method for controlling the transfer of command lines to a network element, comprising the steps of: 1) determining the maximum number of command lines that can be acknowledged by a network element, 2) determining the wait duration for a command line; 3) reading a command line from a batch file; 4) determining the number of command lines that have not been acknowledged by the network element and if the number of unacknowledged command lines is less than said maximum number, transferring the command line to the network element after waiting an amount of time equal to the wait duration; otherwise waiting at least until the number of unacknowledged command lines is less than said maximum number before transferring the command line to the network element; and 5) repeating at least steps 3 and 4. SW Patents Examples Claim 1: 1. A computer readable storage medium containing a program element implementing a software object, said software object having self-tracing capability, said software object being characterized in that: a) said self-tracing capability is acquired by said software object by inheritance; b) said software object having a traceable object class allowing said software object to manifest said selftracing capability, said traceable object class including a parameter subclass, said parameter sub-class providing means for storing tracing parameters; c) upon acquisition of said self-tracing capability, said software object implementing: a message analyzer for receiving a message containing a tracing instruction and for processing said tracing instruction to generate tracing data, the tracing data being indicative of events occurring during execution of a certain function by said software object; and a message loader for outputting a message containing the tracing data, the tracing data being recordable in a logfile. SW Patents Examples 1. A cellular telephone communications system accessing an asynchronous transfer mode (ATM) transport network, comprising: a plurality of base stations effectuating radio frequency communications with subscriber mobile stations; a base station concentrator connected to the plurality of base stations; a first and second access nodes connected to the ATM transport network; a first communications link connecting the base station concentrator and the first access node of the ATM transport network; a transport network management system; a second communications link connecting the transport network management system to the second access node of the ATM transport network; wherein the base station concentrator and each first and second access node include interfaces for communicating voice information over the first communications link using a communications bit stream that includes an embedded operation channel carrying system operation and maintenance information for delivery to and from the transport network management system; and wherein each first and second access node includes means for converting between the communications bit stream carried over the communications link and ATM cells carried over the ATM transport network.