19 febbraio 2020

Perchè IntelliCAD ha fatto causa a GStarCAD

Come si è scoperto che GstarCAD 8 a livello di codice era una copia di IntelliCAD ? Capiamo come si è tecnicamente dimostrato l'inganno.

se conosci già la storia del consorzio ITC e del suo funzionamento puoi andare subito al paragrafo : "Cosa ha fatto Gstarsoft."


Cos'è il consorzio ITC IntelliCAD

Il consorzio ITC (IntelliCAD Technology Consortium), è una organizzazione indipendente, senza fini di lucro, finanziata e diretta dai suoi stessi membri creata allo scopo di sviluppare e manutenere la tecnologia IntelliCAD.

I membri del consorzio, dietro pagamento di un canone annuale, hanno la possibilità di accedere al codice sorgente di IntelliCAD e creare proprie 'personalizzazioni' migliorate del CAD AutoCAD compatibile.
Un esempio conosciuto dalle nostre parti è progeCAD, realizzato da progeSoft che è membro dell'ITC.

Come nasce il consorzio

Nel marzo 1997, Visio Corporation acquisì IntelliCAD da uno sviluppatore di sw, Boomerang Technology Inc. (in pratica Softdesk poi acquisita da Autodesk) per il totale di 6,7 milioni di dollari.

Con l'acquisizione di IntelliCAD Visio è in grado di offrire una piattaforma CAD compatibile .dwg ai suoi utenti che desiderano un CAD AutoCAD compatibile a basso costo.

Visio Corporation ha rilasciato la prima versione commerciale, IntelliCAD 98, nel marzo 1998.

Nel 1999 Visio Corporation ha ceduto IntelliCAD ad un consorzio creando l'ITC e concedendo al consorzio una licenza esclusiva e irrevocabile per il codice sorgente di IntelliCAD.

La cessione di IntelliCAD è avvenuta poco prima dell'acquisizione di Visio Corporation da parte di Microsoft all'inizio del 2000.

Dietro tutte queste operazioni ci sono questioni di posizione dominante nel mercato del CAD che, per via indiretta (tramite società collegata/acquisite) Autodesk o Microsoft avrebbero potuto maturare. C'è dunque stato anche l'intervento dell'antitrust americana.

Accesso al codice sorgente

I membri del consorzio ITC pagano un canone annuale e ottengono l'accesso al codice sorgente di IntelliCAD e diritti di distribuzione.

I membri devono accettare però disposizioni protettive, tramite un accordo di affiliazione commerciale, sull'uso del codice sorgente e la creazione di piattaforme CAD competitive.

Le regole sono state progettate per mantenere il consorzio aperto a tutti i membri, proteggendo al contempo la proprietà intellettuale dagli abusi, fornendo a tutti i membri una piattaforma CAD sicura su cui costruire la propria attività.

L'accesso al codice sorgente è consentito solo in base alle necessità e l'ITC protegge il codice sorgente inserendolo in un repository protetto.

I singoli dipendenti ITC, gli appaltatori e i dipendenti dei membri del consorzio devono eseguire accordi che impongono loro di mantenere la riservatezza del segreto commerciale dell'ITC.

Cosa ha fatto Gstasoft

Fondata nel 1992, Gstarsoft è risultata come uno dei primi leader del settore CAD nel mercato cinese. Si è unita all'ITC, come membro commerciale, nel novembre 2001.

Gstarsoft ha rilasciato la prima versione del suo cad basato su IntelliCAD nel 2003, poi  nel  2007 ha continuato con GstarICAD 2007 fino a GstarCAD 2012.

Mentre era ancora membro dell'ITC, nell'aprile 2013, Gstarsoft ha affermato di aver sviluppato un sistema completamente nuovo, basato su codice progettato in modo indipendente e denominata "GstarCAD 8."

L'ITC era perplesso da questo annuncio di Gstarsoft perché il "nuovo" prodotto GstarCAD 8 era incredibilmente simile a GstarCAD 2012, che è stato l'ultimo prodotto basato su IntelliCAD di Gstarsoft.

Inoltre, Gstarsoft non ha lasciato il consorzio ma ha continuato a pagare le quote associative per il 2013 ed ad avere persino un rappresentante nel Consiglio di amministrazione di ITC fino al 2014.

Secondo le regole del consorzio ITC a Gstarsoft era espressamente vietato l'uso del codice sorgente di base di IntelliCAD, anche integrandolo con altro codice, al fine di creare un software CAD ibrido o concorrente.

Per questo, alla fine del 2014, il consorzio ha comunicato a Gstarsoft che avrebbe esercitato il diritto di eseguire un controllo del codice sorgente di GstarCAD 8.

Gstarsoft si è rifiutata di collaborare e conformarsi alle richieste del ITC nel permettere un controllo del codice sorgente di GstarCAD 8. Inoltre, Gstarsoft si è rifiutata di pagare le quote associative del 2014.

La cosa paradossale è stata poi che Gstarsoft ha iniziato ad invitare i membri dell'ITC a lasciare il consorzio ITC ed usare la loro piattaforma di GstarCAD invece di IntelliCAD.

Nel maggio 2015, l'ITC ha avviato un procedimento arbitrale per violazione del contratto e ad ottobre, l'arbitro si è espresso a favore di ITC, accogliendo tutte le sue istanze.

Il 27 gennaio 2016, il tribunale distrettuale degli Stati Uniti (distretto dell'Oregon) ha confermato quanto ha stabilito il procedimento arbitrale : Gstaraoft deve rifondere una somma di denaro con gli interessi (250.000$) all'ITC e deve sottoporsi a un audit del proprio software (verifica dei sorgenti).

Gstarsoft si è rifiutata di rispettare l'ordine del tribunale e di pagare la somma di denaro.

Come hanno scoperto l'inganno

Il nuovo GstarCAD 8 funziona in modo identico alle versioni precedenti di IntelliCAD. Troppo identico, e la cosa non poteva certamente essere una coincidenza.

Variabili

Andando sul pratico, in GstarCAD 8 erano presenti delle variabili di sistema (richiamabili facilmente da linea di comando) che non avevano senso di esistere.

I CAD AutoCAD compatibili per emularlo al meglio mettono a disposizione dell'utente parecchie  variabili proprio per garantire una piena compatibilità, anche a livello di programmi di terze parti. Inoltre, ne aggiungono di proprie.

Quindi, non ha assolutamente senso che vi siano variabili proprie di IntelliCAD all'interno di un riscritto GstarCAD 8. In quel caso c'erano le seguenti:
  • FITTYPE
  • UCSICONPOS
  • ISLASTCMDPT
  • HPSTYLE
  • LASTCMDANG
  • TEXTANGLE
  • ZOOMPERCENT
  • ICADPREFIX
  • ICADVER
Sono presenti addirittura 2 variabili di IntelliCAD che... non fanno nulla:
  • VIEWASPECT
  • LTSCLWBLK

Comandi

Stesso discorso vale per i nomi di comandi. Se è lecito che vi siano nomi di comandi identici a quelli di AuttoCAD non ha senso che in GstarCAD 8 siano presenti alcuni comandi propri ed esclusivi di IntelliCAD come:
  • TIPOFDAY
  • WCASCADE
  • WHTILE
  • WVTILE

Altre 'coincidenze'

Analizzando il contenuto di alcune DLL (dei moduli di programma che affiancano l'eseguibile principale) hanno trovato parecchie classi (procedure software) nominte proprio come quelle di IntelliCAD !

Nei file di Help c'erano ancora riferimenti alla parola "IntelliCAD" o "ICAD".

In un file di supporto (sysvdlg.dat) del comando SYSVDLG c'erano numerosissimi riferimenti alla parola "ICAD" (abbreviazione di IntelliCAD)

Conclusioni

Il rifiuto di Gstarsoft di ottemperare all'ordine del tribunale del 2016, non ha lasciato altra scelta all'ITC che intraprendere il 3/12/2019 una ulteriore azionie legale  per violazioni del copyright e appropriazione indebita di segreti commerciali.

Non è la prima volta che si sentono storie simili. In passato (anni 90) fu Autodesk a smascherare una software house che era riuscita ad utilizzare  porzioni di codice nel loro CAD (non ricordo purtoppo il nome :-( ...) dimostrando l'ingiustificata presenza di variabili di sistema nascoste di AutoCAD.

BricSYS ha fatto la stessa cosa di Gstsrsoft con il suo BricsCAD. La software house belga ha però davvero riscritto il codice del software da zero, e la cosa si vede! In termini di funzionalità, prestazioni e continue implementazioni ad ogni release.
Bricsys al termine della riscrittura (durata anni) ha lasciato il consorzio ITC, di cui era membro fin dal 2002, nel febbraio 2010.

Come a volte dicevano i nostri professori di scuola: "anche per copiare, bisogna saperci fare. Non è cosa da tutti", e sembra evidente che quelli di Gstarsoft l'abbiano fatto proprio male. Tra l'altro i comandi incriminati elencati sopra sono ancora presenti anche nella versione 2020. 

Fonte: First Amended Complaint.pdf


[aggiornamento maggio 2021]

Come è finita

Il 27 aprile 2021 le 2 parti hanno trovato un accordo bonario. Dal comunicato congiunto emesso dalle 2 aziende si legge:

“The IntelliCAD Technology Consortium” ( "ITC") e Suzhou Gstarsoft Co. Ltd. ("Gstar") sono lieti di annunciare di aver raggiunto un accordo globale completo e definitivo che risolve tutte le controversie derivanti dalla precedente relazione commerciale delle parti, inclusa una causa intentata dall'ITC contro Gstar pendente presso i tribunali distrettuali degli Stati Uniti per il distretto dell'Oregon, e una causa intentata da Gstar contro l'ITC pendente presso la Corte intermedia del popolo della città di Suzhou, provincia di Jiangsu, Repubblica popolare cinese."

<...>

"L'accordo globale delle parti risolve in modo completo e definitivo le loro controversie. Nessuna parte ha ammesso illeciti o responsabilità e non vi è stato alcun accertamento giudiziario in merito al merito delle azioni legali delle parti. Tuttavia, al fine di risolvere completamente le controversie ed evitare futuri malintesi, le parti hanno stipulato un accordo transattivo confidenziale."


Nessun commento:

Posta un commento