la version courte est disponible ici

publicité
Serge MIGAYRON
Ingénieur SUPELEC
Expert en Informatique et en Technologies de l’Information
Expert près les Cours d’Appel et Administrative d’Appel de PARIS
LINAGORA / BLUE MIND
Note Technique
établie à la demande de la société LINAGORA
18 février 2013
1
Contexte et mission
2
2
Identification des logiciels et programmes comparés
4
3
1 ère comparaison (version ancienne de BLUE MIND)
7
4
2 ème comparaison (version récente de BLUE MIND)
20
5
Synthèse
33
6
Annexes
39
74, rue Falguière, 75015 PARIS - Std : 33 (0)1 43 22 64 64 - Fax : 33 (0)1 43 22 01 01
Dir : 33 (0)1 43 22 24 19
[email protected]
Serge MIGAYRON - 18 février 2013
1
Contexte et mission
La société LINAGORA est spécialisée, depuis une dizaine d’années, dans l’édition de logiciels Open Source et la fourniture de prestations de support et de services associés.
Elle emploie environ 150 collaborateurs en FRANCE, en BELGIQUE et aux ETATS UNIS.
Sa clientèle est autant publique (Armée de l’Air, Assemblés Nationale, Ratp, Ministère
de la Défense …) que privée (Macif, France 24, Fnac, Carrefour, Bouygues Telecom…)
Parmi les logiciels édités par la société LINAGORA figure une application libre de messagerie collaborative nommée OBM.
La société BLUE MIND est également spécialisée, depuis 2010, dans le domaine de
l’édition de logiciels libres et la fourniture de prestations de support et de services a ssociés.
Elle propose un logiciel de messagerie collaborative Open Source nommé BLUE MIND.
Selon la société LINAGORA, le logiciel BLUE MIND utiliserait des sous -ensembles du logiciel OBM sans respecter les termes du contrat de licence s’appliquant à ces sousensembles (licence GNU/GPL v2 ou toute version ultérieure).
C’est dans ce contexte que la société LINAGORA nous a demandé de procéder à une
analyse comparative des 2 logiciels afin de dire :
·
si le logiciel BLUE MIND utilise ou non des sous -ensembles du logiciel OBM
·
dans l’affirmative, si les termes de la licence s’appliquant à ces sous-ensembles du
logiciel OBM sont ou non respectés par la société BLUE MIND
·
dans l’affirmative, si les mentions de paternité figurant dans ces sous -ensembles du
logiciel OBM ont ou non été conservées dans le logiciel de la société BLUE MIND
2
Serge MIGAYRON - 18 février 2013
Pour exécuter notre mission, nous nous sommes rendus dans les locaux de la société
LINAGORA à LYON où nous avons procédé, en présence de techniciens de cette société,
à une analyse comparative des 2 logiciels.
A la suite de quoi, nous avons été en mesure d’établir la présente note technique en
réponse à notre mission.
3
Serge MIGAYRON - 18 février 2013
2
4
Identification des logiciels et programmes comparés
Présentation de la solution OBM
OBM est une solution collaborative (dite « groupware ») libre qui permet à des utilisateurs de stocker, organiser et partager des fichiers de rendez-vous, de contacts, de
courriels, de documents. OBM offre également des fonctions de gestion de projet et de
planning.
L’architecture de la solution est composée d’un serveur qui est accessible, soit via un
navigateur web, soit via un logiciel installé s ur le poste du client
tel qu’OUTLOOK
(« client lourd ») pour la messagerie (IMAP ou POP3) ou l’annuaire (LDAP).
OBM se synchronise (soit en mode direct, soit via des outils complémentaires tel
qu’ACTIVESYNC) avec de nombreux terminaux mobiles tels que des smarphones.
OBM supporte de nombreux standards de communication tels que SOAP, LDAP, ICAL,
HTTP, HTTPS, SMTP, IMAP, POP3...
La solution OBM peut être utilisée de façon autonome ou être intégrée à un système
d'information existant.
Périmètre de comparaison
Nous avons concentré notre comparaison sur 2 modules du logiciel OBM nommés
OBM-SYNC et OBM OPUSH (ou OPUSH), tous 2 soumis à la licence GNU/GPL v2 ou
Serge MIGAYRON - 18 février 2013
toute version ultérieure.
OBM-SYNC fournit les fonctions qui permettent de synchroniser les agendas, les fichiers de contacts et les tâches avec les clients lourds (tels qu’OUTLOOK), les terminaux mobiles (tels que les PDA ou assistants personnels). Ces fonctions sont mises à la
disposition des développeurs sous forme de web services.
OPUSH fournit les fonctions de synchronisation de périphériques mobiles au standard
ACTIVESYNC de MICROSOFT. Il permet à un terminal portable (supportant ce protocole) tel un smartphone d'être synchronisé avec un PC de bureau ou un serveur MICROSOFT EXCHANGE.
Les fonctions de synchronisation offertes par ces 2 modules sont essentielles à des ut ilisateurs mobiles ou distants de messageries collaboratives car elles leur permettent
de bénéficier, sur leurs différents lieux de travail ou de déplacement d’informations à
jour en temps réel.
Dans ces 2 modules, nous avons retenu les 9 programmes (ou « classes ») suivants :
·
Programme 1 : “Ical4jHelper.java” (OBM SYNC) pour intégrer une librairie (iCal4j)
de manipulation du format iCalendar (Rfc)
·
Programme 2 : “CalendarBindinglmpl.java” (OBM SYNC) contient la logique métier
des web services de manipulatio n du calendrier
·
Programme 3 : “CalendarHome.java” (OBM SYNC) contient la logique d’accès aux
données pour les web services de manipulation du cale ndrier
·
Programme 4 : “BookItemsWriter.java” (OBM SYNC) de codification des données
d’entrée et de sortie des web services de gestion des contacts
·
Programme 5 : “ResultSetProxy.java” (OPUSH) relative à l'interaction technique
avec la base de données
·
Programme 6 : “SyncHandler.java” (OPUSH) d'implémentation de la logique liée à
une commande de synchronisation d u protocole Microsoft Activ eSync
·
Programme 7 : “EmailManager.java” (OPUSH) de synchronisation des emails dans
opush
5
Serge MIGAYRON - 18 février 2013
·
6
Programme 8 :“EventConverter.java” (OPUSH) de conversion entre le modèle de
données OBM et le modèle de données Microsoft ActiveSync
·
Programme 9 :“ActiveSyncServlet.java” (OPUSH) d'implémentation générique de
commande Microsoft ActiveSync
Ces 9 programmes représentent environ 8.000 lignes soit 10 % des lignes totales des
2 modules OBM SYNC et OPUSH (80.000 lignes).
Versions comparées des modules
Nous avons retenu les versions suivantes des modules :
·
OBM SYNC version 2.3.9. Archive « obm-sync-2.3.9.tar.gz » téléchargée à partir de
l’adresse « obm.org/content/old-versions ».
L’empreinte md5 de l’archive est : « 488e07dc572fec9ff46c10c08fca8f55 »
·
OPUSH version 2.3.24.
Archive « opush-2.3.24.tar.gz » téléchargée à partir d’un
serveur de la société LINAGORA.
L’empreinte md5 de l’archive est : « 1a2b01f487530192b33a85c1641efae7 »
Nous avons également téléchargé cette archive à partir de l’adresse « code.google.
com/p/o-push/source/checkout » puis avons procédé à une comparaison de ces 2
archives, classe par classe, afin de vérifier leur identité (cf. annexes 1).
·
BLUEMIND :
Archives
téléchargées
à
partir
de
l’adresse
« http://git.blue-
mind.net ». Nous avons retenu :
·
la
version
la
plus
ancienne de
l’archive
d’empreinte
md5
d’empreinte
md5
« 3b684cfa13279f0be6abe2dbc035aa4df963dbc4 »
·
la
version
la
plus
récente
de
« 25ad84c706b0ced827d308f67407654ba6a5a769 »
l’archive
Serge MIGAYRON - 18 février 2013
3
1 ère comparaison (version ancienne de BLUE MIND)
Programme 1, “Ical4jHelper.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 2.1.
91% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
7
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1.
8
Serge MIGAYRON - 18 février 2013
Programme 2, “CalendarBindinglmpl.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 2.2.
61% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
9
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
10
Serge MIGAYRON - 18 février 2013
Programme 3, “CalendarHome.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 2.3.
69% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
11
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1.
12
Serge MIGAYRON - 18 février 2013
Programme 4, “BookItemsWriter.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 2.4.
62% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
13
Serge MIGAYRON - 18 février 2013
Programme 5, “ResultSetProxy.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 2.5.
100% des lignes des 2 programmes sont identiques .
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
14
Serge MIGAYRON - 18 février 2013
Programme 6, “SyncHandler.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en annexe 2.6.
92% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
15
Serge MIGAYRON - 18 février 2013
Programme 7, “EmailManager.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 2.7.
89% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme dans le programme :
16
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
17
Serge MIGAYRON - 18 février 2013
Programme 8, “EventConverter.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 2.8.
89% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
18
Serge MIGAYRON - 18 février 2013
Programme 9, “ActiveSyncServlet.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 2.9.
82% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
19
Serge MIGAYRON - 18 février 2013
4
2 ème comparaison (version récente de BLUE MIND)
Programme 1, “Ical4jHelper.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 3.1.
89% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
20
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
21
Serge MIGAYRON - 18 février 2013
Programme 2, “CalendarBindinglmpl.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 3.2.
49% des lignes des 2 programmes sont identiq ues.
Licence LINAGORA dans le programme :
22
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
23
Serge MIGAYRON - 18 février 2013
Programme 3, “CalendarHome.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en annexe 3.3.
52% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
24
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
25
Serge MIGAYRON - 18 février 2013
Programme 4, “BookItemsWriter.java” (OBM SYNC)
Les résultats de la comparaison réalisée figurent en a nnexe 3.4.
56% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
26
Serge MIGAYRON - 18 février 2013
Programme 5, “ResultSetProxy.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 3.5.
98% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
27
Serge MIGAYRON - 18 février 2013
Programme 6, “SyncHandler.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 3.6.
83% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
28
Serge MIGAYRON - 18 février 2013
Programme 7, “EmailManager.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en annexe 3.7.
78% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme :
29
Serge MIGAYRON - 18 février 2013
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1.
30
Serge MIGAYRON - 18 février 2013
Programme 8, “EventConverter.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 3.8.
80% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
31
Serge MIGAYRON - 18 février 2013
Programme 9, “ActiveSyncServlet.java” (OPUSH)
Les résultats de la comparaison réalisée figurent en a nnexe 3.9.
77% des lignes des 2 programmes sont identiques.
Licence LINAGORA dans le programme : Néant
Licence BLUE MIND dans le programme :
Le fichier “License.txt” d’exceptions de BLUE MIND est joint en annexe 4.1 .
32
Serge MIGAYRON - 18 février 2013
5
33
Synthèse
La solution OBM
Les
logiciels
constituant
la
solution
OBM
développée
par
la
société
LINAGORA
s’inscrivent dans le contexte évolutif et innovant des outils collaboratifs dits de
« groupware ».
Ces outils permettent à chacun de nous d’utiliser sa messagerie, ses contacts, son
agenda, sur ses différents lieux de travail ou de mobilité.
Les informations sont mises à jour en temps réel grâce aux fonctions de synchronis ation supportées par ces outils.
L’usage, généralisé depuis quelques années, des terminaux mobiles tels que les smar tphones (iPhone, Galaxy Androïd …) ou les tablettes (iPad), tant dans la vie privée que
dans la vie professionnelle, impose des solutions particulièrement performantes, en
termes de fiabilité, d’ergonomie et de rapidité.
Ce secteur est un des plus dynamiques et créatifs de l’industrie informatique.
Résultats des comparaisons effectuées
Les taux d’identité constatés dans les comparaisons réalisées, sont, programme par
programme, les suivants :
Serge MIGAYRON - 18 février 2013
34
Version
Version
ancienne de
récente de
BLUEMIND
BLUEMIND
Programme 1 (OBM SYNC , Ica l4jHe lper.ja va )
91 %
89 %
Programme 2 (OBM SYNC , Ca lendarBindin glmp l.java )
61 %
49 %
Programme 3 (OBM SYNC , Ca lendarHome.ja va )
69 %
52 %
Programme 4 (OBM SYNC , BookIte msWr iter.java )
62 %
56 %
Programme 5 (OPUSH, Resu lt SetProxy.j ava )
100%
98 %
Programme 6 (OPUSH , S yncH andler.ja va )
92 %
83 %
Programme 7 (OPUSH , E ma ilM anager.java )
89 %
78 %
Programme 8 (OPUSH , E ventConverter.java )
89 %
80 %
Programme 9 (OPUSH , Act ive SyncServlet.java )
82 %
77 %
Programme
Ces taux d’identité sont très élevés, ne peuvent s’expliq uer par des contraintes techniques et ne laissent aucun doute quant à une origine commune des programmes comparés. Les noms des programmes sont d’ailleurs identiques dans les 2 logiciels.
On constate que les taux d’identité mesurés diminuent lentement dans le temps mais
demeurent encore très élevés aujourd’hui.
Licences des programmes comparés
Les licences identifiées dans les codes sources des programmes comparés sont les su ivantes :
Licence
Licence
LINAGORA
BLUEMIND
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure
v3 / CeCILL v2
Programme
Programme 1 (OBM SYNC, Ica l4jHe lper.ja va )
Serge MIGAYRON - 18 février 2013
35
Programme 2 (OBM SYNC, Ca lendarBin-
GNU GPL v2 ou
GNU GPL Affero
din g lmpl.ja va )
vers ultérieure
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure (1)
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
Programme 3 (OBM SYNC, Ca lendarHome.ja va )
Programme 4 (OBM SYNC, BookIte msWr iter.java )
Programme 5 (OPUSH, Resu lt SetProxy.j ava )
vers ultérieure (1)
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure (1)
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure
v3 / CeCILL v2
Programme 6 (OPUSH, S yncH andler.ja va )
Programme 7 (OPUSH, E ma ilM anager.java )
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure (1)
v3 / CeCILL v2
GNU GPL v2 ou
GNU GPL Affero
vers ultérieure (1)
v3 / CeCILL v2
Programme 8 (OPUSH, E ventConverter.java )
Programme 9 (OPUSH, Act ive SyncServlet.java )
Il est à noter que l’indication de licence commerciale suivante est présente dans les
programmes de BLUE MIND : « Blue Mind SAS also offers commercial licenses with additional
warranties »
Concernant les programmes sans mention de licence dans le code source (1), la société
LINAGORA nous a indiqué qu’ils étaient soumis à la licence GNU GPL v2 ou toute version ultérieure.
Cette explication est corroborée par la présence, à la racine du répertoire « Obm-Sync
2.3.9 », du fichier « header » suivant :
Serge MIGAYRON - 18 février 2013
36
Selon l’explication fournie par la société LINAGORA et l’observation qui précède, les
programmes 4, 5, 6, 8 et 9 du tableau ci-dessus apparaissent donc également soumis
à la licence GNU v2 ou plus.
Il apparaît que pour chacun des 9 programmes la licence applicable a été supprimée et
remplacée.
Mentions de paternité des programmes comparés
Les mentions de paternité
identifiées dans les codes sources des programmes de LI-
NAGORA sont les suivantes :
Programme
Programme LINAGORA
Programme BLUEMIND
Copyright © Blue Mind SAS,
Programme 1 (OBM SYNC,
Ica l4jHe lper.ja va )
Copyright © 1997 - 2008
2012
Aliasource - Groupe Linagora
Pas de mention de patern ité
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Programme 2 (OBM SYNC,
Copyright © 1997 - 2008
CalendarB ind ing lmpl.java )
Aliasource - Groupe Linagora
2012
Pas de mention de patern ité
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Programme 3 (OBM SYNC,
CalendarHome.java )
Copyright © 1997 - 2008
2012
Aliasource - Groupe Linagora
Pas de mention de patern ité
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Copyright © 1997 - 2008
Programme 4 (OBM SYNC,
2012
Aliasource - Groupe Linagora
Pas de mention de patern ité
BookItemsWr iter.ja va )
(2)
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Copyright © 1997 - 2008
Programme 5 (OPUSH, Re-
2012
Aliasource - Groupe Linagora
Pas de mention de patern ité
sultSetProxy.java )
(2)
d’Aliasource ou de Linagora
Programme 6 (OPUSH , S yn-
Copyright © 1997 - 2008
Copyright © Blue Mind SAS,
Serge MIGAYRON - 18 février 2013
cHand ler.java )
37
Aliasource - Groupe Linagora
(2)
2012
Pas de mention de patern ité
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Programme 7 (OPUSH,
Ema ilManager.ja va )
Copyright © 1997 - 2008
2012
Aliasource - Groupe Linagora
Pas de mention de patern ité
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Copyright © 1997 - 2008
Programme 8 (OPUSH,
2012
Aliasource - Groupe Linagora
EventConverter.java )
Pas de mention de patern ité
(2)
d’Aliasource ou de Linagora
Copyright © Blue Mind SAS,
Copyright © 1997 - 2008
Programme 9 (OPUSH, Act i-
2012
Aliasource - Groupe Linagora
veSyncSe rvlet.ja va )
Pas de mention de patern ité
(2)
d’Aliasource ou de Linagora
Concernant les programmes 4, 5, 6, 8, 9 (2), la société LINAGORA nous a indiqué que
la mention de paternité « Copyright © 1997 - 2008 Aliasource - Groupe Linagora »
s’appliquait.
Cette explication est corroborée par le contenu du fichier « header » précédent.
On constate donc que les mentions de paternité LINAGORA ne sont présentes dans aucun des 9 programmes BLUE MIND.
Serge MIGAYRON - 18 février 2013
38
A PARIS, le 18 février 2013
Serge MIGAYRON
Téléchargement