Archives mensuelles : mai 2014

Les rouages de la contrefaçon

On peut s’étonner que l’équipe de projet BLUE MIND ait violé avec une telle désinvolture les dispositions légales et les licences dont ils sont pourtant familiers.

La qualification de contrefaçon et les sanctions associées sont en effet connues par les professionnels du libre. Les problématiques que soulève la contrefaçon de logiciel libre ont été régulièrement abordées et tranchées par les praticiens du droit depuis déjà quelques années :

Entre autres tactiques (travail au noir et utilisation de licences piratées), l’équipe BLUE MIND a repris une partie des codes source tiers pour accélérer le développement de son propre produit en s’économisant des développements coûteux, et notamment le code source d’OBM (surtout la partie codée en langage Java).

Si la reprise de code est à la base du logiciel libre, la reprise effectuée par BLUE MIND a été faite en violation de toutes les règles (des licences et de la loi) : BLUE MIND a en effet supprimé systématiquement toute trace de paternité de LINAGORA dans le code source de sa solution Blue Mind.

La méthode de suppression utilisée par BLUE MIND n’est pas connue avec certitude mais ressemble à l’utilisation d’une commande de type sed pour supprimer les entêtes de licence et mentions de paternité de LINAGORA dans les fichiers source d’OBM et les remplacer par les entêtes de licence et mentions de paternité de BLUE MIND.

Ce faisant, BLUE MIND a violé non seulement le droit d’auteur de LINAGORA mais également le droit de divulgation attaché au droit d’auteur et les licences applicables au logiciel.

Après avoir été niée pendant presque deux ans, cette reprise ne peut plus être contestée. En effet, un examen sérieux du code source de Blue Mind permet à tout lecteur attentif de constater la réintégration de mentions de paternité de LINAGORA sur certains fichiers du code source de la solution Blue Mind.

Les courriers électroniques récupérés lors de la saisie-contrefaçon opérée par LINAGORA prouvent que toute l’équipe de BLUE MIND était parfaitement consciente et complice des opérations méthodiques de modification des licences et surtout de la dissimulation de la paternité des auteurs originaux des codes repris1.

Pourquoi ?

Quel est le problème pour BLUE MIND à citer LINAGORA et à reconnaitre la reprise des licences d’OBM lorsqu’elle en utilise le code source, c’est-à-dire  faire officiellement un fork d’OBM plutôt que d’en faire une contrefaçon ?

  • Reconnaître la paternité de LINAGORA, c’est d’abord renoncer à présenter Blue Mind comme un logiciel totalement innovant et disruptif. Cette apparente nouveauté était indispensable au lancement de cette société. A l’inverse, si BLUE MIND avait reconnu la paternité de LINAGORA, elle aurait du présenter son produit non plus comme étant flambant neuf,  mais comme un simple fork ;
  • Reconnaître la paternité de LINAGORA, c’est reconnaître la reprise de la technologie vendue à LINAGORA et donc risquer que soient encore plus flagrantes les violations des engagements de non-concurrence vis-à-vis de LINAGORA ;
  • Reconnaître la paternité de LINAGORA, c’est se priver du choix de la licence et notamment de celui de pouvoir utiliser une licence commerciale sur les modules repris ;
  • Reconnaître la paternité de LINAGORA, c’est prendre enfin le risque de tomber immédiatement sous le coup de la concurrence déloyale en proposant une technologie spécifiquement dérivée de celle de LINAGORA et ce spécifiquement à destination des clients de LINAGORA.

À un aveu de la reprise d’OBM auquel s’ajoute la concurrence déloyale à l’œuvre, BLUE MIND a préféré encourir (et faire encourir à ses clients et partenaires) les sanctions civiles et pénales de la contrefaçon.


 

1 Le 30 mars 2012, après avoir constaté qu’un huissier de justice s’était connecté à leurs profils Linkedin, les membres de l’équipe BLUE MIND s’inquiètent de ce LINAGORA pourrait faire. Dans un courrier électronique adressé à son équipe se voulant rassurant, Pierre Baudracco, fondateur et principal actionnaire de BLUE MIND, indique ouvertement que l’équipe BLUE MIND a « fait ce qu’il faut » pour éviter le risque que LINAGORA ne revendique des droits sur le logiciel Blue Mind :

on_a_fait_ce_quil_faut

Malgré ces paroles qui se veulent rassurantes pour son équipe, Monsieur Pierre Baudracco est inquiet. Il vérifie donc le lendemain que toutes les traces du délit de contrefaçon ont bien été supprimées.

Or, il s’aperçoit que ce n’est pas le cas : il reste des mentions d’OBM dans le code source de Blue Mind accessible sur le git public de la société BLUE MIND. Résultat : le 31 mars 2012, à 10:45, Pierre Baudracco envoie un courrier électronique à l’équipe BLUE MIND intitulé : « On coupe le Git, n’importe quoi dedans ! », dont le contenu est : « des www.obm.org dans le repos git public !! » :

La comparaison des codes sources

La comparaison des codes sources d’OBM et de Blue Mind a révélé que l’équipe BLUE MIND a repris les fichiers source d’OBM en changeant leur entête de licence et en supprimant la mention de paternité de LINAGORA sur ceux-ci.

Voici comment LINAGORA s’en est aperçu :

Le code source de la solution Blue Mind est librement accessible et peut être téléchargé par quiconque à partir du site internet de la société BLUE MIND, en utilisant la commande :

git clone http://git.blue-mind.net bluemind

Lorsque, en avril 2012, BLUE MIND a révélé la version beta du logiciel Blue Mind au public en insistant sur son caractère novateur, LINAGORA s’est trouvée très intriguée.

La société LINAGORA a donc téléchargé le code source de la beta de Blue Mind, et a trouvé au cœur de son architecture des lignes de code java semblables à celles d’OBM, notamment les modules OBM-SYNC et OPUSH

Voulant en avoir le cœur net, LINAGORA a d’abord procédé seule à quelques comparaisons de codes sources de sa propre solution logicielle OBM, dans sa version 2.3.10, avec le logiciel Blue Mind, version beta 1.

Par exemple, pour le fichier Ical4JHelper.java, présent dans le module OBM-SYNC (à gauche) et dans le module net.bluemind.core de Blue Mind (à droite), la commande meld révélera très peu de changements, mis à part l’entête de licence et les mentions de paternité, totalement modifiées :

meld_iCal4jHelper_note

Le reste de la comparaison de ces fichiers fait apparaître qu’ils sont presque identiques :

meld_iCal4jHelper_note2  meld_iCal4jHelper_note3  meld_iCal4jHelper_note4  meld_iCal4jHelper_note5

meld_iCal4jHelper_note6  meld_iCal4jHelper_note7  meld_iCal4jHelper_note8  meld_iCal4jHelper_note9

Nous nous arrêtons aux 400 premières lignes de comparaison, mais les 900 et quelques lignes suivantes présentent la même régulière identité.

Que des développeurs puissent parfois, par coïncidence, créer des lignes de code qui se ressemblent, soit. Mais sur 1300 lignes d’un même fichier, toute coïncidence est exclue : BLUE MIND est partie d’OBM pour créer sa propre solution.

Et ce fichier Ical4jHelper.java est loin d’être le seul fichier d’OBM repris par BLUE MIND.

À ce stade, LINAGORA ne pouvait faire autrement que de s’interroger sur l’étendue de la reprise. D’autres fichiers étaient-ils concernés ? La réponse était et est encore et toujours oui, et les fichiers repris provenaient surtout des modules OBM-SYNC et OPUSH (mis à part quelques-uns, issus par exemple du module OBM-Locator).

Ne sachant pas exactement quelle version d’OBM avait été reprise par les équipes de BLUE MIND pour créer leur solution Blue Mind, LINAGORA a fait appel à un expert judiciaire, Monsieur Serge Migayron, qui a procédé à des comparaisons de 9 fichiers sources issus des modules OBM-SYNC et OPUSH avec des fichiers issus de deux versions différentes de Blue Mind :

Sa note technique a conclu à une reprise massive du code source java de ces modules d’OBM dans la solution Blue Mind. L’évidence et l’étendue de cette reprise de code source le contraint même dans sa note à utiliser l’expression « taux d’identité » plutôt que « taux de similitude » :

Cette note technique a également relevé (pages 34 à 37) que cette reprise par BLUE MIND avait été accompagnée d’une suppression des entêtes des fichiers source, et des mentions de paternité de LINAGORA.

Avant :

/* ***** BEGIN LICENSE BLOCK *****
 * 
 * Copyright (c) 1997-2008 Aliasource - Groupe LINAGORA
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 * 
 * http://www.obm.org/ 
 * 
 * ***** END LICENSE BLOCK ***** */

Après :

/*BEGIN LICENSE
 * Copyright © Blue Mind SAS, 2012
 *
 * This file is part of Blue Mind. Blue Mind is a messaging and collaborative
 * solution.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of either the GNU Affero General Public License as
 * published by the Free Software Foundation (version 3 of the License)
 * or the CeCILL as published by CeCILL.info (version 2 of the License).
 *
 * There are special exceptions to the terms and conditions of the
 * licenses as they are applied to this program. See LICENSE.txt in
 * the directory of this program distribution.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * Blue Mind SAS also offers commercial licenses with additional warranties,
 * professional functionalities or services. If you purchase a commercial
 * license, then it supersedes and replaces any other agreement between
 * you and Blue Mind SAS (above licenses and LICENSE.txt included).
 * See http://www.blue-mind.net/licenses
 * END LICENSE
 */

Irrespectueuse de toute notion de propriété intellectuelle, l’équipe de BLUE MIND a modifié l’entête des fichiers sources d’OBM qu’elle a repris dans sa solution pour :

  • changer sans autorisation la licence des codes sources repris de « GNU General Public License as published by the Free Software Foundation; either version 2 of the License, (at your option) any later version » à « GNU Affero General Public License as published by the Free Software Foundation (version 3 of the License) or the CeCILL as published by CeCILL.info (version 2 of the License) » et « commercial licenses with additional warranties, professional functionalities or services » ;
  • supprimer et remplacer « Copyright (c) 1997-2008 Aliasource – Groupe LINAGORA » par « Copyright © Blue Mind SAS, 2012« .

La nature des modifications :

Nous avons les preuves que ces remplacements de licences et mentions de paternité dans les codes sources sont délibérés :

Le 30 mars 2012, après avoir constaté qu’un huissier de justice s’était connecté à leurs profils Linkedin, les membres de l’équipe BLUE MIND s’inquiètent de ce LINAGORA pourrait faire. Dans un courrier électronique adressé à son équipe se voulant rassurant, Pierre Baudracco, fondateur et principal actionnaire de BLUE MIND, indique ouvertement que l’équipe BLUE MIND a « fait ce qu’il faut » pour éviter le risque que LINAGORA ne revendique des droits sur le logiciel Blue Mind :

on_a_fait_ce_quil_faut

Malgré ces paroles qui se veulent rassurantes pour son équipe, Monsieur Pierre Baudracco est inquiet. Il vérifie donc le lendemain que toutes les traces du délit de contrefaçon ont bien été supprimées.

Or, il s’aperçoit que ce n’est pas le cas : il reste des mentions d’OBM dans le code source de Blue Mind accessible sur le git public de la société BLUE MIND. Résultat : le 31 mars 2012, à 10:45, Pierre Baudracco envoie un courrier électronique à l’équipe BLUE MIND intitulé : « On coupe le Git, n’importe quoi dedans ! », dont le contenu est : « des www.obm.org dans le repos git public !! » :

 

L’action en contrefaçon et en concurrence déloyale

LINAGORA agit à l’heure actuelle, devant toutes les juridictions compétentes, pour juger de la contrefaçon, de la concurrence déloyale, et des divers manquements contractuels commis de manière répétée et en connaissance de cause par BLUE MIND, ses actionnaires et ses salariés.

En effet, LINAGORA a entrepris :

  • une action devant le Tribunal de grande instance de Bordeaux en contrefaçon et concurrence déloyale à l’égard de BLUE MIND et de la société Edeal. Instrumentalisé pour les besoins de la défense de BLUE MIND, Monsieur Cataldo s’est joint à la cause (cf. Les arguments de BLUE MIND) ;
  • une action contre Pierre Baudracco et Pierre Carlier au Conseil des prud’hommes de Nanterre pour violation des clauses de non-concurrence et exécution déloyale de leur contrat de travail ;
  • une action devant le Tribunal de commerce de PARIS pour mettre en jeu la garantie d’éviction à laquelle sont tenus Pierre Baudracco et Pierre Carlier à l’occasion de la cession de leur société.

Consciente de l’extrême gravité des preuves recueillies au cours de la saisie-contrefaçon et comprenant que LINAGORA avait enfin les moyens de démontrer les manœuvres frauduleuses mises en œuvre, BLUE MIND a demandé en référé au TGI d’invalider l’assignation de LINAGORA.

Or, dans son ordonnance, le Tribunal de grande instance de Paris a intégralement débouté BLUE MIND de ses demandes visant à annuler cette assignation.

Initialement soumise au TGI de Paris, l’affaire a été renvoyée devant le TGI de Bordeaux.

Devant le TGI de Bordeaux, LINAGORA a ensuite demandé :

  • d’une part que soit ordonnée une expertise du code de Blue Mind et du code d’OBM pour confirmer la contrefaçon dénoncée par LINAGORA ;
  • d’autre part une interdiction provisoire et conservatoire d’exploitation des modules contrefaisants (OBM-SYNC et OPUSH) ;

BLUE MIND s’est bien sur opposée fermement aux deux demandes de LINAGORA.
On comprend aisément que BLUE MIND se soit opposée à la mesure d’interdiction provisoire. En revanche, il est très étonnant que BLUE MIND se soit opposée à l’expertise sollicitée par LINAGORA, occasion pour BLUE MIND de démontrer sa bonne foi.

Dans son ordonnance du 28 avril 2014, le TGI de Bordeaux a accordé à LINAGORA une mesure d’expertise conforme à ses demandes.

Concernant la mesure d’interdiction provisoire des modules contrefaits, le TGI de Bordeaux a rejeté les demandes et renvoyé une éventuelle décision concernant ce point au résultat de l’expertise accordée.
Contrairement à ce que voudrait faire croire BLUE MIND sur la page discussion de Wikipédia qui lui est consacrée, cette ordonnance ne rejette pas les demandes de LINAGORA, et le litige n’est pas clos ! En effet, une modification récente affirme (de façon mensongère) que :

« Attaquée par Linagora => Ordonnance du juge du 28/04/2014 a rejeté 100% des attaques de Linagora »

100pourcent

Comme le montre l’ordonnance du 28 avril 2014, les attaques de Linagora n’ont pas du tout été rejetées !

Ainsi le dossier judiciaire se poursuit. BLUE MIND devra s’expliquer face à un expert judiciaire sur :

  • les reprises intégrales de codes sources issus de projets tiers dont OBM et les suppressions de mentions de paternité des auteurs de ces codes source, dont LINAGORA ;
  • l’usage de licences non conformes à la licence choisie par les auteurs de ces projets (dont LINAGORA), et en particulier l’usage d’une licence commerciale.

Cette expertise sera aussi l’occasion de faire tomber les argumentations dénuées de fondements que BLUE MIND a opposées jusque là à LINAGORA.

Le changement de modèle économique

 

Cherchant à maximiser ses profits au jour le jour, BLUE MIND entretient en permanence en confusion concernant son modèle économique.

Initialement, il s’agissait pour BLUE MIND de fournir le logiciel de messagerie sous deux versions et une triple licence :

  • une version libre et gratuite, sous double licence GNU Affero GPL v3 et CeCill v2, sans prestations de support associées ;
  • une version privatrice et payante, seule version pour laquelle BLUE MIND proposait du support.

licence_commerciale

La version privatrice et payante n’a bien entendu jamais été mise en évidence dans la communication de BLUE MIND pour ne pas s’attirer les foudres de la communauté, mais directement proposée à ses clients.

Évidemment, un tel modèle d’affaires requiert d’être titulaire des droits sur son propre code, et de ne pas avoir de briques tierces sous des licences comme la GNU GPL.

Ce n’était pas le cas de BLUE MIND, qui loin de repartir d’une page blanche, avait créé une nouvelle interface mais repris comme moteur de sa solution les modules au cœur d’OBM, qui sont sous des licences très protectrices des libertés des utilisateurs.

En clair, BLUE MIND faisait du privateur à partir de briques sous GNU GPL. Ce n’est pas seulement mal, c’est illégal.

En agissant pour protéger ses droits, LINAGORA a obligé BLUE MIND a purger son code de la licence privatrices payante. Avec la modification des entêtes de son code source intervenue le 21 janvier 2014, entre 2 heures et 4 heures du matin1, BLUE MIND a en effet opéré discrètement une nouvelle volte-face concernant de son modèle économique.

Voici la différence entre les entêtes des codes source de la solution Blue Mind avant (à gauche) et après (à droite) cette mise à jour :

changt_entet_21022014

Le texte supprimé est le suivant :

* Blue Mind SAS also offers commercial licenses with additional warranties,
* professional functionalities or services. If you purchase a commercial
* license, then it supersedes and replaces any other agreement between 
* you and Blue Mind SAS (above licenses and LICENSE.txt included). 
* See http://www.blue-mind.net/licenses

Avant, BLUE MIND propose une licence privatrice payante sur du code libre.

Après, le site de BLUE MIND et sa communication commerciale ne parlent plus du tout de licence privatrice payante, mais d’une offre de services avec une souscription autour de la solution Blue Mind.

Ainsi, craignant les conséquences graves de sa contrefaçon grossière, BLUE MIND a changé de modèle économique. C’est, avec les opérations de dissimulation du 21 janvier 2014, une admission implicite de la légitimité de la démarche de LINAGORA, et de la réalité de la contrefaçon.

 


 

1 Commits intitulés « Update header for 2014 » dans http://git.blue-mind.net/gitlist/bluemind/commits/master/

 

Les opérations de dissimulation du 21 janvier 2014

La pression judiciaire et le grand nombre de preuves réunies par LINAGORA à la suite de la saisie-contrefaçon réalisée dans les locaux de BLUE MIND ont forcé cette dernière a mener dans la plus grande discrétion des opérations de modification du code source de sa solution Blue Mind.

Le 21 janvier 2014, entre 2 et 4 heures du matin, par trois commits intitulés « Update header for 2014 » dans http://git.blue-mind.net/gitlist/bluemind/commits/master/, BLUE MIND a apporté d’importantes modifications sur le code de sa solution logicielle, que chacun peut aisément vérifier en téléchargeant le code source de Blue Mind et en recherchant les commits dont les ID SHA sont :

ID 70e74913fababf40f7eb5b8759ec6cd0fa9b0f5c
ID 771a1d5e07f2b4d9795eff3a14aaa2d572058147
ID fc7b86c544ce105a4531f7bb59b8f84b5c5693ac

Ces modifications sont :

  • La suppression de la licence commerciale qui figurait dans les fichiers d’en-tête de la solution Blue Mind, et qui est interdite par la licence libre des fichiers sources d’OBM repris. Voici la différence entre les entêtes des codes source de la solution Blue Mind avant (à gauche) et après (à droite) cette mise à jour :

changt_entet_21022014

Le texte supprimé est le suivant :

* Blue Mind SAS also offers commercial licenses with additional warranties,
* professional functionalities or services. If you purchase a commercial
* license, then it supersedes and replaces any other agreement between 
* you and Blue Mind SAS (above licenses and LICENSE.txt included). 
* See http://www.blue-mind.net/licenses
  • La restauration de mentions de paternité de Linagora pour certains fichiers. Ce rétablissement prouve la fausseté du discours marketing de BLUE MIND, également avancé devant les Tribunaux, consistant à dire que Blue Mind ne serait pas un fork d’OBM.

Ces modifications constituent l’aveu le plus flagrant que Blue Mind est une œuvre dérivée d’OBM.

Néanmoins, la société BLUE MIND ne respecte toujours pas la licence originelle d’OBM et la solution BLUE MIND demeure un logiciel contrefaisant, pour deux raisons :

1. Des modifications incomplètes à la seule attention des Tribunaux

Dans le cadre des actions judiciaires menées contre BLUE MIND pour prouver la réalité de la contrefaçon, LINAGORA a présenté aux juridictions saisies des fichiers source issus d’OBM repris par BLUE MIND dont les licences ont été modifiées et les mentions de paternité de LINAGORA supprimées.

Lors de ces modifications du 21 janvier 2014, censément à des fins de « Update headers for 2014 » (mise à jour des entêtes pour 2014), l’équipe de BLUE MIND a donc remis des mentions de paternité de LINAGORA dans des fichiers sources de Blue Mind.

Cependant, cette « régularisation » est de pure opportunité et a pour seul objectif de troubler les procédures juridictionnelles en cours contre BLUE MIND. En effet, BLUE MIND s’est limitée à mettre des mentions de paternité de LINAGORA pour les seuls fichiers évoqués au cours des procédures.

Ainsi, ce fichier source de Blue Mind :

plugins/net.bluemind.core.common.ical4j/src/net/bluemind/core/common/ical4j/Ical4jHelper.java

qui est issu du fichier source d’OBM :

/obm/java/sync/icalendar/src/main/java/org/obm/icalendar/Ical4jHelper.java

et qui a été évoqué dans la procédure judiciaire d’action en contrefaçon devant le Tribunal de grande instance, a, été modifié de manière significative par l’équipe BLUE MIND au cours des opérations du 21 janvier 2014.

Comparons l’état de ce fichier au 25 avril 2012 (à gauche) et au 4 mars 2014 (à droite) :

meld_ical4jHelper_avant-apres

On constate la disparition de la licence commerciale, de la licence CeCill V2, et l’apparition d’une mention de paternité de LINAGORA.

En revanche, à titre d’exemple, ce fichier source de Blue Mind n’a jamais été évoqué dans les procédures judiciaires :

plugins/net.bluemind.core.common/src/net/bluemind/core/common/calendar/CalendarItemsParser.java

BLUE MIND l’a bien modifié au cours de ses opérations du 21 janvier 2014 pour en supprimer la mention commerciale, mais sans y appliquer aucune mention de paternité de LINAGORA (du moins au 4 mars 2014 – date à laquelle ce fichier source a été copié du git de BLUE MIND), alors que ce fichier était en réalité le fichier source d’OBM suivant :

java/sync/common/src/main/java/org/obm/sync/calendar/CalendarItemsParser.java

Une comparaison avec la commande meld de ces deux fichiers dans leur état actuel permet d’en avoir le cœur net et de constater les lignes identiques et celles modifiées. Sur chaque copie d’écran, se trouve à gauche le fichier issu d’OBM qui comporte les mentions de paternité de LINAGORA, et à droite, le fichier figurant dans Blue Mind à la date du 4 mars 2014, dans lequel les mentions de paternité de LINAGORA ont été remplacées par celles de BLUE MIND :

meld_CalendarItemsParser_0314meld_CalendarItemsParser_0314_2meld_CalendarItemsParser_0314_3

Les modifications apportées aux entêtes sont donc incomplètes, ce qui prouve que l’intention de BLUE MIND, en menant les opérations du 21 janvier 2014, était de limiter son risque par rapport aux procédures judiciaires en cours.

2. BLUE MIND continue d’usurper les prérogatives de LINAGORA même sur les fichiers avec une mention de paternité

Seul le titulaire des droits sur un logiciel dispose de la prérogative de modifier sa licence et par suite l’entête de son code source. Un tiers reprenant un code source sous licence libre dans sa propre solution doit laisser le code repris sous sa licence d’origine, et doit publier sa solution soit sous la même licence, soit sous une licence compatible.

Ce n’est pas ce qu’a fait, et ce n’est toujours pas ce que fait BLUE MIND.

Si l’on reprend l’exemple du fichier Ical4jHelper.java issu du code source d’OBM, quelle que soit la version de ce fichier reprise par BLUE MIND, il y a encore violation de sa licence.

Cas de reprise d’une ancienne version d’Ical4jHelper.java

Comparons avec meld une ancienne version du fichier dans le code source d’OBM (par exemple dans la version 2.3.10 du module OBM-SYNC) avec la version du fichier dans le code source de Blue Mind à la date du 4 mars 2014 (à droite) :

meld_ical4jHelper_obm2.3.10_bmnewest

Outre que l’on ne constate que peu de changements dans le code source, les entêtes diffèrent sur la version de la licence GNU GPL applicable.

En effet, alors que le fichier source issu d’OBM est sous licence GNU GPL v2 ou ultérieure (GNU General Public License as published by the Free Software Foundation; either version 2 of the License, (at your option) any later version), BLUE MIND a remplacé la licence et l’a remplacée par la licence GNU GPL v3 ou ultérieure (GNU General Public License as published by the Free Software Foundation; either version 3 of the License, (at your option) any later version).

Il s’agit d’une violation de la licence GNU GPL v2 originelle, puisque la compatibilité de la licence GNU GPL v3 et GNU GPL v2 est univoque : on peut intégrer un composant GNU GPL v2 ou ultérieur dans une solution sous licence GNU GPL v3, mais pas l’inverse (la flèche va dans un seul sens) :

quick-guide-gplv3-compatibility.fr

Source : Free Software Foundation

Ainsi, si elle a changé la licence du code source repris et modifié de la version 2 de la licence GNU GPL à la version 3 ou ultérieure, BLUE MIND interdit en pratique que ce code (et les modifications qu’elle y a apportées) puissent être redistribués sous la version 2 de la licence GNU GPL, alors qu’il s’agissait pourtant de la licence d’origine.

Si BLUE MIND a repris une version ancienne d’OBM (et donc ce fichier source sous licence GNU GPL v2), il s’agit donc d’une atteinte à la licence du code source originel, de sorte que ce fichier source modifié par BLUE MIND demeure contrefaisant.

Cas de reprise d’une version récente d’Ical4jHelper.java

Comparons avec meld la version OBM de ce fichier (à gauche) et la version Blue Mind de ce fichier (à droite), tous deux à la date du 4 mars 2014 :

meld_ical4jHelper_obm0314_bmnewest

Outre que ces deux fichiers source présentent des différences un peu plus nombreuses compte tenu de leur évolution indépendante, l’entête du fichier version OBM présente une licence GNU Affero GPL v3 ou ultérieure, et l’entête Blue Mind présente une licence GNU GPL v3 ou utlérieure.

Or, les licences GNU Affero GPL et GNU GPL sont des licences différentes. La licence GNU Affero GPL stipule en effet des obligations plus fortes (précisément, fournir licence et accès au code source du programme aux tiers qui l’utilisent à travers un réseau) que la licence GNU GPL.

Ainsi, si elle a changé la licence du code source repris et modifié de la licence GNU Affero GPL à la licence GNU GPL, BLUE MIND s’est arrogé le droit de délier les tiers, auxquels elle fournit ce fichier source, d’obligations auxquelles elle est pourtant elle-même astreinte.

Si BLUE MIND a repris une version récente d’OBM (et donc ce fichier source sous licence GNU Affero GPL), il s’agit donc d’une atteinte à la licence du code source originel, de sorte que ce fichier source modifié par BLUE MIND demeure contrefaisant.

La manipulation des entêtes des fichiers source par BLUE MIND pour défendre sa cause montre clairement dans quelle démarche de dissimulation se trouvent les dirigeants de cette société.

Des logiciels piratés

Certains logiciels sont indispensables à l’activité de la société BLUE MIND.

Or, ces logiciels sous licence privatrice ont un coût non négligeable pour une société récemment créée.

Afin de limiter ses coûts et accélérer son développement, la société BLUE MIND a donc mis en oeuvre une tactique de piratage systématique des logiciels « indispensables à son activité » pour s’en épargner les coûts de licence :

softs_pirates

Cet extrait provient d’un courrier électronique interne à la société BLUE MIND, récupéré lors de la saisie-contrefaçon. Et 2k8r2 désigne Microsoft Windows 2008 Server.

Autrement dit, les pratiques de contrefaçon de BLUE MIND pour les besoins de son activité sont générales et nullement limitées à la seule contrefaçon du code de LINAGORA et de celui de développeurs tiers dans la solution Blue Mind.

Travail au noir

Grâce à la saisie-contrefaçon, LINAGORA a pu mettre au jour des manœuvres frauduleuses dont elle ne soupçonnait même pas l’existence de la part de BLUE MIND.

Et quelles manœuvres !

Pendant les 18 mois qui ont suivi la démission de l’ensemble des membres de l’équipe OBM, ces derniers ont travaillé à la mise sur pied du projet Blue Mind :

  • soit en se faisant employer par des sociétés diverses (et notamment une société dont Pierre Baudracco est administrateur, E-DEAL) ;
  • soit directement par BLUE MIND ;
  • soit sans même être légalement déclaré.

Selon son niveau de trésorerie disponible, la société BLUE MIND fait en effet osciller ses collaborateurs entre le statut de salarié et celui de chômeur, pendant lequel ils continuent néanmoins de travailler de manière non déclarée pour BLUE MIND.

Le registre du personnel recueilli au cours de la saisie-contrefaçon permet de constater ces aller-retours de salariés, entrant puis sortant de l’entreprise :

rpbm

Ces délits de travail dissimulé répétés sont corroborés par un courrier électronique interne dans lequel Monsieur Pierre Baudracco, outre qu’il reconnaît à demi mot la reprise du code source d’OBM (« on a fait ce qu’il faut« ) fait état que Monsieur Anthony Prades travaille au noir pour BLUE MIND :

salarie_et_pas_vrai

Cette pratique de travail dissimulé par dissimulation d’emploi salarié concernant Monsieur Anthony Prades semble avoir continué dans le cadre des activités « normales » de BLUE MIND :

carrement_bien_renseigne

Aussi, pour Monsieur David Phan :

devirer_david

De même, pour Monsieur Pierre Carlier qui mentionne son « nouvel employeur » au détour d’une conversation instantanée recueillie au cours de la saisie-contrefaçon :

screenshot5

Ainsi, à la contrefaçon du code de LINAGORA et du code d’autres développeurs, s’ajoute le travail au noir.

Pour compléter le tableau, BLUE MIND ne craint pas d’utiliser des logiciels piratés pour les besoins de son activité.

Les arguments de BLUE MIND

BLUE MIND expose de multiples arguments pour tenter de discréditer la position de Linagora. Aucun n’est sérieux.

Sur la titularité de Thomas Cataldo

Les expertises réalisées par LINAGORA ont permis de démontrer que BLUE MIND avait repris au moins deux modules fondamentaux d’OBM, OBM-Sync et OPUSH.

Après avoir nié totalement la reprise du code OBM, BLUE MIND a fini par admettre, quoique de manière très discrète, qu’elle avait bien repris du code d’OBM.

Toutefois, pour minorer l’impact de cette reprise, BLUE MIND prétend n’avoir repris qu’un seul module – OBM-SYNC.

En effet, d’après BLUE MIND, LINAGORA ne serait pas titulaire des droits sur OPUSH. Ainsi, Monsieur Thomas Cataldo est volontairement intervenu dans la procédure d’action en contrefaçon diligentée par LINAGORA contre BLUE MIND, se prétendant titulaire des droits sur OPUSH.

Cette intervention de Monsieur Thomas Cataldo, qui n’avait auparavant n’avait jamais exprimé une telle revendication, devrait bien entendu être mise en perspective avec son statut d’actionnaire de BLUE MIND :

PV_AGE_Extrait_Cataldo

BLUE MIND invente donc un certain nombre d’arguments pour tenter de « sauver la face » concernant le module OPUSH :

  1. Thomas Cataldo serait seul et unique auteur et donc seul et unique titulaire des droits sur le module OPUSH (une implémentation libre d’ActiveSync) utilisé dans OBM et repris dans la solution de messagerie Blue Mind avec un changement de licence (et une modification de la paternité) ;
  2. Thomas Cataldo aurait donné l’autorisation de cette reprise et modification de paternité à la société BLUE MIND.

Ces deux arguments sont faux.

La forge OPUSH sur Google code a été enregistrée avec l’adresse e-mail « gmail » de Thomas Cataldo, et celui-ci est indiqué comme « mainteneur ».

Mais à y regarder de plus près :

  • Les premiers commits de Thomas Cataldo sur la forge ont été réalisés pendant son temps de travail, et avec une adresse e-mail ALIASOURCE. Avec les règles de dévolution automatique des droits à l’employeur, ces commits ont été faits au nom et pour le compte d’ALIASOURCE et donc de LINAGORA qui a racheté ALIASOURCE et tous ses actifs.
  • D’autres salariés de LINAGORA autres que Thomas Cataldo, ont, dans l’exercice de leurs fonctions, contribué de manière importante au projet sur la forge Google d’OPUSH, notamment Adrien Poupard.
  • Cette forge utilisait le bugzilla d’OBM pour gérer les rapports de bugs :o-push_bugzilla
  • Cette forge est morte depuis que Thomas Cataldo a quitté LINAGORA, ce qui prouve a contrario que son travail sur OPUSH n’était pas un hobby personnel mais relevait de son activité professionnelle à LINAGORA. Ainsi, il est aisé de constater que le dernier commit date d’octobre 2010.

o-push issue tracking

Pourquoi ouvrir la forge avec une adresse mail google personnelle et non une adresse « @linagora.com », dans ce cas ? Parce qu’à l’époque de l’ouverture de cette forge, les conditions générales de Google exigeaient un compte gmail pour démarrer un projet, ce qui n’est plus le cas aujourd’hui :

o-push_forge_account

En tant que chef développeur du module OPUSH pour OBM, il était normal que Thomas Cataldo soit mainteneur de la forge Google Code pour OPUSH. Cependant, à son départ, Thomas Cataldo a refusé de restituer à LINAGORA les droits d’accès à cette forge google, alors même qu’elle a été ouverte sur les instructions de LINAGORA pour l’un de ses projets internes.

LINAGORA s’est donc vue contrainte de rapatrier son propre code d’OPUSH sur une autre forge afin de continuer à le faire vivre.

Sur la question de l’autorisation de reprise, celle-ci est sans valeur, et constitue à nouveau une tentative d’appropriation de code par un membre de l’équipe BLUE MIND, puisque LINAGORA est bien titulaire du code d’OPUSH.

Mais, même à supposer que LINAGORA ne serait pas titulaire d’OPUSH par le biais de la dévolution automatique des droits à l’employeur, OPUSH serait alors une création collaborative avec plusieurs auteurs, dont Thomas Cataldo et Linagora, de sorte que l’unanimité des auteurs serait nécessaire pour faire des actes aussi importants que celui de changer la licence ou les mentions de paternité du code. Sinon, celui des auteurs qui changerait ces mentions et cette licence sans l’autorisation des autres violerait les droits d’auteur de ces derniers.

BLUE MIND est parfaitement consciente de cette violation et de l’impossibilité de prétendre avoir l’autorisation des auteurs pour reprendre et changer la licence d’OPUSH, puisque sous le prétexte de modifier quelques fautes de frappe ( le titre du commit est « Fix some typos« ), elle a changé le 24 janvier 2014 le fichier licence.txt :

o-push_fausses_typos

Là où BLUE MIND prétendait auparavant disposer de l’accord de l’auteur pour intégrer le code d’OPUSH et en modifier la licence, ce n’est désormais plus le cas.

Dans tous les cas, Thomas Cataldo est en totale violation des droits d’auteur de LINAGORA. Mais il est vrai que l’équipe de BLUE MIND ne s’embarrasse pas de scrupules lorsqu’elle reprend le code de tiers.

En matière de logiciels libres, la notion de contrefaçon serait différente (selon Blue Mind)

Lorsque LINAGORA a assigné BLUE MIND devant le Tribunal de grande instance pour contrefaçon, BLUE MIND a prétendu qu’en matière de logiciels libres, la notion de contrefaçon devait s’apprécier d’une manière différente par rapport au modèle propriétaire.

C’est faux.

En matière de logiciel libre, la notion de contrefaçon est connue et déjà tranchée : « tout non-respect de licence emporte le risque de se voir qualifier de contrefacteur : tout usage n’entrant pas dans le cadre de la licence est un usage non autorisé et donc contrefaisant.

Par ailleurs, en cas de violation, par certains usages de droits de propriété intellectuelle, ou plus fréquemment, du non-respect du formalisme de la licence, celle-ci sera généralement automatiquement résiliée et l’ancien licencié se trouvera rapidement contrefacteur pour tout usage de la création » – Benjamin Jean, « Du bon usage des licences libres », éditions Framasoft

Il n’y a en réalité aucune différence de nature entre un logiciel propriétaire et un logiciel libre. Les deux ont une licence, les deux sont reliés à leur créateur par une mention de paternité. Dans les deux cas, constituent des actes de contrefaçon le fait de :

  • violer les stipulations de la licence ;
  • modifier sans autorisation la licence ;
  • porter atteinte à la mention de paternité.

Ce qui change entre les logiciels libres et les logiciels propriétaires, c’est ce qui constitue une violation de la licence (cas n°1). Pour les logiciels propriétaires, une violation consiste par exemple à copier le logiciel pour le donner à un tiers. Pour les logiciels libre une violation consiste par exemple ne pas respecter l’obligation de fournir un accès au code source lors de la redistribution.

Dans le cas de BLUE MIND, la violation de la licence consiste à redistribuer le code source d’OBM sous une licence propriétaire et des licences non-compatibles. Et en outre, BLUE MIND a brisé le lien de paternité entre l’auteur et sa création en supprimant les mentions de paternité.

Confusion sur les versions reprises

Les développeurs de BLUE MIND affirment avoir mis quelques mois, au cours de leur temps libre (ceux qui n’étaient pas inscrits à Pôle Emploi exerçaient en même temps une activité professionnelle) à développer un logiciel présenté comme la nouvelle génération plus performante d’une solution qu’ils avaient pourtant mis plus de 10 ans à mettre au point.

LINAGORA a fait expertiser les codes sources disponibles sur internet pour les comparer avec le code d’OBM par Monsieur Serge Migayron, spécialiste de la preuve numérique, qui a conclu :

  • à la reprise massive de code Java d’OBM par BLUE MIND ;
  • à la suppression totale de toute mention de paternité de LINAGORA1 et même de contributeurs tiers ;
  • à l’exploitation du logiciel Blue Mind sous des licences incompatibles avec les licences d’origine d’OBM, et notamment une licence commerciale.

Son rapport indique :

« ces taux d’identité sont très élevés, ne peuvent s’expliquer 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 deux logiciels. »

Pour se défendre contre cette évidence technique, BLUE MIND allègue que LINAGORA entretiendrait une confusion, et aurait comparé des versions de codes sources qui l’arrangent en termes de reprise et de licence, en se gardant de dire quelle version du code d’OBM les équipes de BLUE MIND ont repris.

Mais comment le savoir ? Ce n’est pas LINAGORA qui a repris le code source d’OBM !

Tout ce que l’expert sollicité par LINAGORA a constaté, c’est qu’il y a du code commun entre les deux logiciels, et que les entêtes de licence et les mentions de paternité ont été supprimées et remplacées.

Mais quel code source originel ? Impossible de savoir à moins de demander aux intéressés. Et ceux-ci ne semblent pas vouloir le révéler.

D’après BLUE MIND, OBM ne serait pas original

BLUE MIND prétend pour se défendre que le logiciel OBM et les modules repris ne seraient pas originaux. Évidemment, un logiciel non original ne serait pas protégeable par le droit d’auteur, donc n’importe qui pourrait en faire n’importe quoi.

Cette position est totalement absurde.

Les premières versions de ces programmes ont été développées justement par les membres de l’équipe BLUE MIND lorsqu’ils faisaient partie d’ALIASOURCE puis de LINAGORA GSO,

LINAGORA a aussi demandé son avis à l’expert qu’elle avait déjà sollicitée pour comparer les codes sources, à savoir Monsieur Serge Migayron.

Sa note technique n° 2 sur l’originalité montre que le développement du code source des programmes OPUSH et OBM-SYNC a requis, à chaque étape du processus de leur création, des choix de conception opérés par leurs programmeurs. Il s’agit de la définition même de la notion d’originalité en informatique.

En outre, pour autant qu’il puisse être admis que des contraintes techniques extrêmes puissent aboutir à une implémentation sans intelligence, ceci est surtout valable pour du code de bas niveau ou de faible importance en nombre de lignes de code.

Or, en avril 2012, OBM, OBM-SYNC et OPUSH représentaient respectivement 663, 49, et 58 milliers de lignes de code dans des langages de haut niveau. En outre, OBM représente dorénavant 1165 milliers de lignes de code, et OBM-SYNC et OPUSH respectivement 107 et 153 milliers de lignes de code.

Un tel effort de programmation rend quasiment certaine l’originalité de ces programmes.

D’après BLUE MIND, il ne pourrait pas y avoir de reprise car les logiciels sont écrits dans des langages différents

Dans la continuité de la contestation de la reprise, BLUE MIND tente de tirer parti de la différence des langages de programmation utilisés pour coder OBM et coder Blue Mind. Bien entendu, cet argument est totalement fallacieux : la reprise dans Blue Mind de fichiers source d’OBM en violation de leur licence et de leur paternité porte évidemment sur les fichiers sources écrits dans le même langage – en l’occurrence en java.

LINAGORA a concentré ses recherches de reprise en violation de licence sur les fichiers codés en java, qui sont au cœur d’OBM.

Peut-être y a-t-il d’autres reprises de code source en violation de leur licence pour d’autres modules qu’OBM-SYNC ou OPUSH, ou encore dans d’autres langages de programmation que java, ou non ?

Une chose est certaine, les violations de licence et de paternité de BLUE MIND sont plus étendues que le seul code d’OBM repris.



1
 La note d’expertise de Serge Migayron du 18 février 2013 a conclu au remplacement des mentions de paternité de LINAGORA (Copyright © 1997 – 2008 ALIASOURCE – Groupe LINAGORA) par celles de Blue Mind (Copyright © Blue Mind SAS, 2012).

Notre message aux acteurs de l’écosystème

LINAGORA vit depuis bientôt 15 ans dans l’écosystème de l’OpenSource, dont compétition et partage sont des principes moteurs. Il ne s’agit pas ici d’appeler au boycott d’un concurrent parce que l’innovation qu’il apporte serait meilleure ou gênante, mais bien de dénoncer le fait qu’il se livre à une activité totalement illicite, en contradiction avec les principes et valeurs du logiciel libre.

LINAGORA a conscience de la difficulté de lancer une telle initiative de transparence, compte tenu de la position qu’elle occupe dans l’écosystème, et du discours de BLUE MIND qui aime à se faire passer pour l’outsider attaqué par l’acteur historique.

Si la Communauté n’aide pas LINAGORA, cette dernière continuera à subir un grave préjudice dans cette affaire,  mais in fine c’est tout l’écosystème qui sera affecté.

Pour préserver son activité, LINAGORA n’a pas eu d’autre choix que d’engager des poursuites pour chaque délit et manquement contractuel commis par BLUE MIND, ses  actionnaires et ses salariés. Les preuves obtenues, et notamment des documents montrent clairement la mise en œuvre de la contrefaçon d’OBM ainsi qu’une volonté de nuire le plus possible à LINAGORA.

Compte tenu de ces éléments, il ne fait aucun doute que, tôt ou tard, les agissements de BLUE MIND seront stoppés et condamnés par une décision de justice.

Les usagers de la contrefaçon seront contraints d’abandonner le système de messagerie sur lequel ils avaient investi, avec toutes les conséquences financières et éventuellement judiciaires que cela implique.

Pour les acteurs de l’écosystème, les conséquences sont d’un autre ordre : nos convictions communes sont que le logiciel libre apporte plus de transparence, et oblige les développeurs à faire attention à ce qu’ils écrivent et à ce qu’ils font.

Comment continuer de nourrir de telles convictions, alors qu’il est manifeste que les développeurs de BLUE MIND peuvent fouler aux pieds les valeurs et règles du logiciel libre, non seulement sans que la communauté réagisse, mais en plus en recevant les éloges des associations de promotion du logiciel libre, abusées par leurs manigances ?!

Cette affaire doit inciter la communauté à la mobilisation à nos côtés pour défendre le droit d’auteur et les valeurs les plus élémentaires du logiciel libre qui sont aujourd’hui bafoués par BLUE MIND.