|
|
|
![]() |
|
Strumenti |
![]() |
#21 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non è che ha ripreso: quelle dichiarazioni le ha COPIATE dal codice di Java!
![]() Quote:
No, non è affatto detto, come puoi leggere sempre dalle pagine di ArsTechnica (non i commenti, ma gli articoli): la sentenza non creerà un precedente. Ma se così fosse, ci sarebbero ben altre implicazioni per il software open source, visto che si potrebbero copiare gli header o buona parte di essi senza violare licenze virali come la GPL. Esempio: sviluppare driver per Linux, o utilizzare librerie di Linux. Questo sarebbe una manna dal cielo per le aziende. ![]() Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Scusatemi, continua a sfuggirmi qualcosa. Davvero la differenza tra violazione di copyright o meno sta nel riorganizzare l'ordine delle dichiarazioni delle API, o riscrivere i commenti?
![]() |
![]() |
![]() |
![]() |
#23 |
Senior Member
Iscritto dal: Jul 2007
Città: Agliana (PT)
Messaggi: 561
|
Secondo cdimauro si
__________________
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose.... The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning. |
![]() |
![]() |
![]() |
#24 | ||||
Senior Member
Iscritto dal: Jul 2007
Città: Agliana (PT)
Messaggi: 561
|
Quote:
Quote:
Quote:
Quote:
Se fosse come dici tu mi basterebbe
Se il problema fosse questo non sarebbe stato montato tutto questo caso e Google avrebbe sanato la cosa in 5 minuti. Quello che Oracle afferma, e la sentenza di appello precedente gli da purtroppo ragione fino a prova contraria, è che le dichiarazioni stesse sono protette da copyright. Questo è un assurdo perché nelle dichiarazioni di una API non c'è nessuno sforzo creativo e perché come conseguenza nessuno potrebbe più riutilizzare tali dichiarazioni con l'effetto finale che nessuno potrebbe più reimplementare una qualsiasi libreria. Non so se questo ti è chiaro perché da quello che dici pare proprio di no
__________________
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose.... The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning. |
||||
![]() |
![]() |
![]() |
#25 | |
Senior Member
Iscritto dal: May 2008
Messaggi: 1499
|
Quote:
I will now remind you of some important established facts regarding the copyrighted works at issue in this case. The Java platform is a software application platform that is used to write and to run programs in the Java programming language. The Java programming language is free and available to use without permission from anyone. The Java platform includes, among other things, the Java Virtual Machine and the Java API packages. “API” stands for “Application Programming Interface.” What is at issue in this case are the Java API packages, which are sets of prewritten computer programs used to perform common computer functions without a programmer needing to write code from scratch. These prewritten computer programs assist developers in writing applications. These prewritten programs are organized into packages, classes, and methods. An API package is a collection of classes. Each class contains methods and other elements. The packages, classes, and methods are defined by declaring code. The declaring code is the line or lines of source code that introduce, name, and specify the package, class, or method. The declaring code allows programmers to understand and make use of the prewritten programs in the API packages to write their own programs. The declaring code for the packages, classes, and methods reflects the structure, sequence, and organization (or “SSO”) for the Java API packages. The SSO specifies the relationships between and among the elements of the Java API packages and also organizes the classes, methods, and other elements in the package. The term structure, sequence, and organization is a concept used by lawyers and courts in connection with copyright. It is not a term used by computer scientists. Each individual method performs a specific function. The declaring code for a method is sometimes referred to as the “method declaration,” “header,” or “signature.” The declaring code for a method tells the programmer the information the method needs (the inputs) to perform the desired function. Each method also contains implementing code. The implementing code provides step- by-step instructions that tell the computer how to perform the function specified by the declaring code. The declaring code and the SSO of the 37 Java API packages at issue are protected as part of the overall work protected by copyrights owned by Oracle. The copyright protection does not extend to the idea of organizing functions into packages, classes, and methods, but the copyright protection does cover the SSO as expressed in the 37 Java API packages. Sempre dallo stesso link: "Under the Copyright Act, an author owns the exclusive right to use or to license his or her writings or images or other copyrightable works with the statutory exception that anyone may make fair use of even a copyrighted work and may do so without anyone’s permission and without payment of money to anyone." Ultima modifica di litocat : 30-05-2016 alle 14:12. |
|
![]() |
![]() |
![]() |
#26 |
Senior Member
Iscritto dal: Jan 2011
Messaggi: 3881
|
@cdimauro
Secondo la tua solita limitata capacità di vedere le cose, il problema è che sono state usate 11.500 linee di codice Oracle da parte di Google. Anzi, no, non è proprio codice, sono semplicemente dichiarazioni di API. Quindi il contendere non è sul fatto che queste dichiarazioni descrivano un'opera di ingegno nel loro complesso, ovvero una struttura che permetta a una ben definita libreria di lavorare in collaborazione con altro codice, cosa che Oracle ritiene essere il nocciolo della questione, ma il tutto è ridicolizzato ad avere usato gli stessi file header senza aver "camuffato" eventuali commenti o l'ordine delle funzioni. Cioè, 9 miliardi sono stati richiesti per non aver usato uno script che mescolasse i caratteri. Come dire che invece di aver intentato causa perché mi hai clonato l'auto ti sei permesso di aver messo gli stessi specchietti retrovisori e non hai avuto neanche il buon gusto di cambiare il colore della carrozzeria. Il problema reale, anche se per te è difficile capirlo come in altri contesti nel passato, è molto più profondo con implicazioni diverse dal "non aver riscritto le dichiarazioni da zero". Visto che il risultato sarebbe stato lo stesso e non è quello su cui Oracle si è opposta. Il problema è se le dichiarazioni delle funzioni pubbliche di una libreria siano o meno soggette a copyright. Se lo sono, sua che tu le riscriva o faccia C&P dei file originali stai violando la legge. Se non lo sono, sia che tu le riscriva perdendo tempo o che tu usi i file originali, non è violazione. È questione di arrivare a pensare un passo più in là. E dire "colpevoli per aver usato 11.500 linee di codice Oracle" dimostra che tu sei capace di arrivare solo a 2 passi più indietro di quel che sarebbe necessario per affrontare questo tipo di discussioni. Torna a scrivere codice x le Xeon Phi che ora con i 10nm oltre a Nvidia arriva anche ARM e i giochi di fanno più duri. |
![]() |
![]() |
![]() |
#27 | |||||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Poi, replicando a te che affermavi che fosse impossibile riscrivere il codice dichiarativo visto che ci sarebbe un solo modo (e l'hai di nuovo ribadito nel commento sotto), ti ho dimostrato in che modo è possibile tirare fuori del codice dichiarativo DIVERSO partendo da quello originale. Per me rimane violazione del copyright (copy - right, di nuovo) perché hai ugualmente co-pi-a-to del materiale non tuo (e del quale non hai licenza, ovviamente) anziché prenderti la documentazione e rimboccarti le maniche riscrivendo da zero tutto. Falso, e te l'ho dimostrato anche prima. Quote:
Quote:
FedNat, ma i precedenti commenti li hai letti prima di replicare di nuovo, oppure hai dimenticato già tutto? ![]() Quote:
Inoltre per roba che lavora in user space è "safe" copiare dichiarazioni di funzioni, costanti, enumerativi, ma se c'è del codice in mezzo (macro contenente istruzioni o funzioni inline) allora siamo in un'area grigia (anche se perfino Stallman ritiene che non ci siano problemi). E' per quest'incertezza che esistono gli appositi header che vengono generati in modo da avere soltanto codice dichiarativo, e che quindi si possono copiare. Informati. Quote:
![]() Quote:
Inoltre leggiti il successivo commento di litocat, nella parte iniziale. Su ArsTechnica, infine, trovi anche le dichiarazioni sulla copia delle 11500 linee di codice. Se non le trovi, te le riporto io appena ho un po' di tempo. In sintesi estrema ci sono DUE punti sulla vicenda: violazione di copyright per la copia delle suddette linee, e per aver copiato le API. Quote:
Quote:
Nulla di nuovo. Ma vedremo come stanno realmente le cose. Al solito. Quote:
Quote:
Quote:
Quote:
Quote:
![]() In passato sei stato messo in croce per le megaballe che hai scritto. Com'è funzionerebbero le istruzioni FMA? Tanto per riportare l'ultima. ![]() Ovviamente io sono ancora qui che aspetto le spiegazioni per le tue perle si saggezza. ![]() Quote:
![]() ![]() ![]() Intanto vedi sopra. Quote:
![]() Come se questo potesse sistemare tutte le tecnoballe che ha proferito, e che rimangono a bella posta. ![]() Si vede che ti basta poco per essere contento. Povero illuso.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||||||||
![]() |
![]() |
![]() |
#28 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Ipotizziamo che io mia sia svegliato stamattina con l'intenzione di reimplementare qualche parte del tuo wpython. Nella directory Include, ad esempio, trovo l'header code.h, in cui vi è la seguente dichiarazione: Codice:
PyAPI_FUNC(PyCodeObject *) PyCode_New( int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); E se non posso copiarla, come faccio a realizzare qualcosa di compatibile? |
|
![]() |
![]() |
![]() |
#29 |
Senior Member
Iscritto dal: Dec 2002
Città: Barletta
Messaggi: 3495
|
Contento che questo nonsense di Oracle sia stato fermato e che il buonsenso abbia prevalso..
Certo che al di la' di tutto, e' inconcepibile come qualcuno possa fare il 'tifo' (e deve essere necessariamente tifo dato che motivazioni logiche per supportare la posizione di Oracle non ve ne sono) per Oracle, che ha acquistato Sun con il piu' che evidente scopo di mettere i bastoni tra le ruote a Google.
__________________
si lavora e si fatica..per la panza e per..!! |
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Direi che dipende dalla licenza che ha questo wpython se MIT puo farne quello che vuoi (anche renderlo closed source e venderlo
![]() ![]() Comunque io credevo che la cosa fosse molto più semplice Java può essere re-implementato per uso personale (i vari Kaffe, Open JDK, ... sono legali), ma non puoi farne una copia per uso commerciale. Cioè non so se Google si faccia pagare per usare Android e so se campa grazie alla pubblicità che appare sotto, ma il discorso non cambia: per quell'uso avrebbe dovuto pagare a Sun / Oracle una licenza d'uso! Io - sinceramente - non ci vedo nulla di male a pagare chi ha fatto un buon lavoro... sarà che io per lavorare faccio il programmatore vero e non lo faccio per hobby quindi se non mi pagano non mangio ![]()
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
![]() |
![]() |
![]() |
#31 | |||||||||
Senior Member
Iscritto dal: Jul 2007
Città: Agliana (PT)
Messaggi: 561
|
Quote:
La parte di "codice" (sempre se di codice si può parlare) non è possibile modificarla pena perdere la compatibilità. Quello è l'unico modo per scrivere le dichiarazioni, per questo non dovrebbe essere coperto da copyright (la corte di appello che ha affermato che è coperto da copyright ha fatto un grosso errore) I commenti non c'entrano niente con la questione del copyright Quote:
Quote:
Sei d'accordo con questa conseguenza? Ti sembra normale e giusto? Pensa un po' alle reimplementazioni del BIOS che hanno fatto nascere tutto il mercato dei PC IBM compatibili sarebbe tutto illegale Quote:
Se sei veramente convinto che tutto questo caso sia nato perché google ha copiato i commenti sei molto fuori strada: Oracle chiede tutti quei soldi perché Google sta riutilizzando le dichiarazioni di Java, non i commenti. Se i commenti fossero il problema la cosa sarebbe già stata risolta da tempo. Quote:
Amazon che reimplementa le API di Google Map Compaq che reimplementa le API del BIOS Microsoft che reimplementa le API UNIX Quote:
Se io eseguo i seguenti passi:
Quote:
Quote:
Quote:
__________________
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose.... The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning. |
|||||||||
![]() |
![]() |
![]() |
#32 | |
Senior Member
Iscritto dal: Jan 2011
Messaggi: 3881
|
Quote:
Ma cosa vuoi mettere in croce. Al massimo avrai al solito vinto la battaglia sulle quisquilie e pinzillacchere che non sono il centro del discorso. Sei tu che son anni che vai dicendo scemenze una dietro l'altra per poi rimescolare le carte e dire che quello che dicevi non lo hai mai detto, però avevi ragione sulla virgola fuori posto. 14nm sono in perfetta tabella La fabbrica aprirà I 4 miliardi di incentivi x 40milioni di soc sono per promuovere il modem I 7 miliardi x promuovere i soc sono un investimento Gli Atom non temono i soc arm nemmeno con la stessa nanometria perché il vantaggio di Intel non è il PP I 10nm sono in perfetta tabella di marcia Intel non ha problemi con il fatturato record (12.000 licenziamenti annunciati il trimestre successivo) Continui a dire "ho dimostrato" "ho dimostrato" quando in realtà non hai mai dimostrato nulla. Parli e ti smentisci ogni 2 commenti. Ritorni e cambi il significato di quello che hai scritto nel post precedente, uno due, tre volte, poi quando non si capisce più quello che intendevi parti con un "ho dimostrato"...al massimo finora hai dimostrato di non saper argomentare in maniera chiara e coerente attaccando alle quisquilie una volta messo all'angolo. Il codice dichiarativo (sempre se di codice si può parlare dato che non è convertito in alcuna istruzione) si può scrivere in un solo modo a meno come detto di mischiare i caratteri, cosa inutile che non cambia la sostanza. SOSTANZA, il quid, l'interesse, l'argomento, non le pinzillacchere. Se vuoi descrivere una interfaccia lo puoi fare in uno e in solo modo. E il copyright è stato violato, sì, ma in maniera fair appunto perché solo copiando l'interfaccia pubblica si permette la collaborazione tra moduli SW distinti, moduli il cui vero codice è stato scritto da zero da Google. La sostanza è se l'interfaccia è copiabile o meno, non che la copia è violata tramite C&P mentre diventa buona se riscritta da zero. Rileggiti quello che hai scritto e vedi che sei tu quello che non ha capito nulla di quello che è stato discusso prima, non io. Ahahaha Torna a darmi del Troll quando avrai imparato a congiungere più di 2 puntini alla volta. Messo in croce... Da te e l'altro fanboy poi... Ahahaha... Mi hai rallegrato la giornata. Grazie. Era piuttosto noiosa fino alla lettura del tuo commento. Grazie ancora. Ciaoooooo |
|
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: Jan 2011
Messaggi: 3881
|
Ah, e per le istruzioni FMA, funzionano esattamente come ho descritto. Visto che il succo del discorso era il calcolo dei TFLOPS tra Maxwell e Pascal che qualcuno credeva fosse la stessa architettura perché a parità di frequenza e numero di core faceva gli stessi numeri.
Però anche lì hai trovato modo di darmi torto passando per le solite pinzillacchere sulla differenza tra istruzioni e operazioni che con il discorso non c'entrava nulla ed era comunque ben specificato. Il succo del discorso, ragazzo mio, il succo del discorso è quello che conta. E tu spesso e volentieri non sei in grado di comprenderlo. |
![]() |
![]() |
![]() |
#34 | ||||||||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Mettendoci nelle condizioni che la licenza non sia così libera, come ad esempio quella GPL, si pone il problema della copia di parti dei sorgenti che ne sono coperti. In questo caso il precedente commento di litocat ha chiarito che è possibile copiarne una parte se questo ricade nel cosiddetto "fair use", com'è stato giudicato per il caso oggetto della notizia. Mettendoci, infine, nell'ipotesi che non fosse possibile applicare il fair use, la precedente dichiarazione la potresti riscrivere così, ad esempio: Codice:
PyAPI_FUNC(PyCodeObject *) PyCode_New( int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject * ); Così, però, stiamo "barando", visto che abbia preso roba già scritta, perché stiamo sfruttando il frutto del lavoro altrui. In realtà per riscrivere l'interfaccia di un'API dovremmo fare molto diversamente, e più precisamente dovremmo partire dalla descrizione delle API, aprire il nostro editor/IDE, e iniziare a scrivere da zero il nostro codice. Esempio pratico, usando la funzione PyCode_New che hai tirato in ballo. Dalla documentazione ufficiale degli oggetti di tipo Python Code scopriamo che l'API PyCode_New ha la seguente interfaccia: Codice:
PyCodeObject *PyCode_New(int argcount, int nlocals, int stacksize, int flags, PyObject *code, PyObject *consts, PyObject *names, PyObject *varnames, PyObject *freevars, PyObject *cellvars, PyObject *filename, PyObject *name, int firstlineno, PyObject *lnotab); Codice:
PyCodeObject *PyCode_New( int argcount, int nlocals, int stacksize, int flags, PyObject *code, PyObject *consts, PyObject *names, PyObject *varnames, PyObject *freevars, PyObject *cellvars, PyObject *filename, PyObject *name, int firstlineno, PyObject *lnotab); Faccio notare che, ad esempio, non abbiamo assolutamente fatto uso della macro PyAPI_FUNC, che invece viene usata in W/CPython: eppure la definizione dell'API funziona esattamente nello stesso modo, perché genera un'identica definizione nella symbol table del compilatore (e "firma" per il linker, ovviamente). Questo è bene sottolinearlo perché è un esempio di come il codice si possa riadattare in base alle proprie esigenze/visione/capacità. Spero che l'esempio sia chiaro e mostri la differenza che passa fra la descrizione di un'API e il codice vero e proprio che la definisce in maniera fruibile da un ben preciso linguaggio di programmazione: il C. Ma non sta scritto da nessuna parte che si debba usare il C, e infatti s.o. come il vecchio MacOS utilizzavano il Pascal per descrivere le API del s.o.. Questo a ulteriore dimostrazione della differenza fra i due concetti. Quote:
Quote:
Quote:
Quote:
Adesso leggiti la mia replica a GTKM, che dimostra con un esempio reale e inoppugnabile come stanno realmente le cose. ![]() Quote:
Quote:
Quote:
Quote:
Quote:
https://www.youtube.com/watch?v=rdkecMOT1ko Quote:
Secondo, la MIA posizione è che il codice, TUTTO, non si dovrebbe copiare. Terzo, litocat ha riportato la situazione reale: la copia è fattibile in caso di "fair use". Quote:
Per il resto, io ho parlato della copia di 11500 righe di codice. Dunque tutto quello che c'era messo, commenti inclusi SE ci fossero stati. Quote:
Quote:
Tutto legale, per quanto detto prima. Quote:
Come già detto, dovresti rimboccarti le maniche e riscrivere completamente da zero tutto, partendo dalla documentazione (che va CONSULTATA e NON saccheggiata, sia chiaro). Questa è la MIA, personalissima, posizione. Quote:
Quote:
Quote:
Ma questo mio commento dovrebbe aver chiarito una volta per tutte le questioni.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||||||||||||
![]() |
![]() |
![]() |
#35 | |||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Puoi minimizzare e cercare di mistificare quanto vuoi: i commenti sono lì a dimostrazione di come siano andate realmente le cose. Quote:
Non per te, visto che non c'è speranza di avere una risposta dopo che ho demolito tutte le balle che avevi scritto, ma per gli altri utenti, che potranno verificare come stiano realmente le cose. Quote:
"TU: Mamma mia, ha quadruplicato le prestazioni x watt!! A parte che è vero solo per i calcoli floating point IO: Falso: anche per gli interi. AVX-2, infatti, colma le lacune di AVX proprio sugli interi!!! AVX aveva introdotto il supporto sostanzialmente per i soli floating point. Hai mai aperto un manuale delle architetture x86? Mi pare proprio di no." Ed è soltanto una delle tante che hai proferito: basti leggere il commento per trovare altre chicche di primordine, come il famigerato "riordino" dei registri (e delle istruzioni obsolete) di x64, l'assenza di modifiche a questa nuova ISA a parte i puntatori a 64 bit, nessuna modifica a compilatori e tool di sviluppo per supportarla, ecc. ecc. ecc. ![]() Certo, per uno che ne capisce di architetture degli elaboratori quanto io di bricolage capisco benissimo che tutto ciò sia classificabile come "quisquilie", ma quanto meno è servito a strappare delle grasse risate a chi, invece, ha conoscenze in materia. ![]() Quote:
![]() Quote:
Quote:
Google ha preferito una comoda scorciatoia, invece di scriversi anche quella parte di codice. Quote:
Quote:
Quote:
![]() Quote:
"TU: qui hai voluto fare il precisino facendo le pulci tra istruzione e operazione, senza ovviamente riportare quale sia la differenza dato che in questo caso non esiste. IO: Sei proprio "sfortunato": proprio le FMA sono istruzioni che NON sono assolutamente equivalenti a un paio di altre, visto che hanno delle caratteristiche molto particolari." ![]() Quote:
"TU: Efficienza ho specificato che è il rapporto tra il valore teorico massimo di istruzioni eseguibile e quelle che effettivamente vengono eseguite (le FMA), IO: Che non vuol dire proprio niente, perché ho già scritto che le FMA NON sono le uniche istruzioni che vengono eseguite. Ma poi hai dei dati ufficiali in proposito? Portali pure." ![]() Quote:
Quote:
![]() ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||||||
![]() |
![]() |
![]() |
#36 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Il riassunto è che sei libero di riscrivere da zero un'API senza andare minimamente a copiare del codice già esistente (e coperto da copyright).
Mentre Google ha preferito la scorciatoia (copiare 11500 righe di codice di Java, aventi copyright di Sun/Oracle).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#37 | ||
Senior Member
Iscritto dal: Jul 2007
Città: Agliana (PT)
Messaggi: 561
|
Quote:
Le dichiarazioni che tu hai sopra riscritto e dichiarato come MOLTO DIVERSE sono invece ASSOLUTAMENTE IDENTICHE, non crederai che basti reindentare il codice per evitare di violare il copyright. Non puoi prendere un libro, aggiungere qualche ritorno a capo, cambiare la formattazione e magari il font e dire che non è una violazione del copyright. Riguardo poi ai grassetti aggiunti da me, credi che tra fare copia incolla oppure ribattere tutto copiando a vista o anche reimplementare da zero (dato che il risultato finale è lo stesso) cambi qualcosa dal punto di vista delle violazioni del copyright? Se non ne sei convinto vai a chiedere un parere all'ufficio legale della tua azienda e senti cosa ti rispondono. Un altro modo per mostrare che la tua dimostrazione non funziona e quella di rianalizzare il caso in questione: Se fosse vero quello che tu affermi sopra e cioè che basta riscrivere le dichiarazioni magari indentandole in maniera diversa per essere a posto allora vuol dire che Google non ha commesso una cosa così grave. Google poteva riutilizzare la API di Java, ha solo preso una scorciatoia e risparmiato un mese di lavoro, non avrebbe dovuto pagare niente a Sun/Oracle (ai tempi c'era Sun). Sotto le ipotesi suddette avrebbe commesso un illecito ed andrebbe punito, sicuramente dovrebbe sanare la cosa e pagare una multa, ma non avrebbe creato nessun danno rilevante a Java e a Sun/Oracle. A maggior ragione, una volta scoperto, Google avrebbe ammesso la colpa e sanato la situazione, perché il lavoro è poca cosa riducendo così la multa. Invece Oracle ha chiesto 9 MILIARDI DI DOLLARI di danni, una simile cifra è giustificabile solo se Google avesse fatto qualcosa che non avrebbe potuto assolutamente fare e non sanabile se non con il pagamento di una percentuale sugli introiti/fatturato. Anche per questo motivo la tua interpretazione del copyright non ha senso Il problema principale, come ha fatto notare anche CrapaDiLegno, è che il codice dichiarativo non dovrebbe essere protetto da copyright per quanto avevo già riportato nel mio post precedente. Riporto nuovamente Quote:
Dato che esiste un solo modo per esprimere le dichiarazioni di una API (il metodo da te sopra usato per la dimostrazione non cambia la questione come già detto) la conseguenza è che: Non puoi reimplementare una libreria senza violare il copyright. Quindi tutti gli esempi di reimplementazioni che ti ho fatto prima e che dicevi fossero corretti diverrebbero illegali. in certi casi ci sono state delle cause che sono state vinte dai reimplementatori in quanto le interfacce non erano soggette a copyright Spero di essere stato chiaro
__________________
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose.... The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning. |
||
![]() |
![]() |
![]() |
#38 | |||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Ecco l'originale, contenuta in W/CPython, riportata da GTKM: Codice:
PyAPI_FUNC(PyCodeObject *) PyCode_New( int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *) Codice:
PyCodeObject *PyCode_New( int argcount, int nlocals, int stacksize, int flags, PyObject *code, PyObject *consts, PyObject *names, PyObject *varnames, PyObject *freevars, PyObject *cellvars, PyObject *filename, PyObject *name, int firstlineno, PyObject *lnotab); Quote:
"Secondo, la MIA posizione è che il codice, TUTTO, non si dovrebbe copiare.? Quote:
"Poi, replicando a te che affermavi che fosse impossibile riscrivere il codice dichiarativo visto che ci sarebbe un solo modo (e l'hai di nuovo ribadito nel commento sotto), ti ho dimostrato in che modo è possibile tirare fuori del codice dichiarativo DIVERSO partendo da quello originale." più il terzo punto precedentemente mensionato? Quote:
Quote:
Sono whatif, ma l'adozione di Java, che è un linguaggio molto diffuso a tutti i livelli, è stato molto importante per la diffusione di Android, come prima lo era per i telefonini con JavaME. Quote:
Ma, come già detto, è la MIA posizione (vedi secondo punto). Quote:
"Terzo, litocat ha riportato la situazione reale: la copia è fattibile in caso di "fair use"."Dunque non c'era bisogno che tu lo riportassi, visto che litocat aveva già mostrato la legislazione in materia. Che poi io, come già detto, non concordi perché ho un'opinione diversa, è legittimo o no? Vorrei capire se è lecito pensarla diversamente, giusto per essere chiari. Quote:
Da una parte sono per la protezione delle API poiché il frutto del lavoro di qualcuno. Dall'altra le API sono delle definizioni che servono per sviluppare altre applicazioni, su di esse basate. E' una questione che mi trascino da tempo. Quote:
Quote:
Quote:
Riguardo alla questione, c'è un altro pezzo apparso su ArsTechnica che tratta quanto avevo ipotizzato qualche giorno fa: Op-ed: Oracle attorney says Google’s court victory might kill the GPL
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||||
![]() |
![]() |
![]() |
#39 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Secondo me, comunque, non è una questione dai confini netti.
Da un lato, ci sarebbe da dire che le API non cascano dal cielo, e chiunque abbia mai sviluppato una libreria lo sa. Quindi a primo impatto vorrei che il mio lavoro fosse tutelato. Dall'altro, visto che si parla di dichiarazioni di interfacce, forse non ha molto senso pretendere che ognuno se le riscriva partendo dalla documentazione, visto che, gira e rigira, comunque si dovrà arrivare allo stesso codice. Quindi si potrebbe pure permettere di copiare i file con le dichiarazioni. Non riesco a capire come "schierarmi". |
![]() |
![]() |
![]() |
#40 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:32.