Mon point de vue sur le changement de licence d’OpenERP

Bonjour à tous,

Je vais aujourd’hui vous parler du sujet qui a embrasé la communauté depuis la semaine dernière : L’ajout d’une exception dans la licence AGPL d’OpenERP, permettant potentiellement d’éviter la redistribution du code source via l’achat d’une version Entreprise auprès d’OpenERP SA.

Alors comme tout le monde dans la communauté, sur le coup j’ai été scandalisé :

-On a la création d’une part d’une double licence, ce qui est notre pire frayeur : SugarCRM, Pentaho, Magento, etc… énormément de logiciels libres populaires aujourd’hui et à destination des entreprises ont également en parallèle une version entreprise ce qui implique que tous les efforts ne sont pas fait pour améliorer la version libre et souvent limiter même les efforts de la communauté. C’est l’une des principales forces d’OpenERP à l’heure actuelle que de ne pas être tombé dans ce travers et c’est une très, TRES mauvaise nouvelle que de la voir commencer à pointer le bout de son nez.
Alors ok on nous assure que cette version Entreprise n’a rien à voir avec les autres doubles licences, que l’ensemble des modules continuera à être licencié en AGPL, don’t act j’y reviens plus tard dans ce billet. Il n’empêche que le nom fait très peur.

-On nous parle également d’acheter contre espèce sonnantes et trébuchantes le droit de ne pas redistribuer le code source. Pas vraiment besoin d’être un adepte des théories du complot pour imaginer immédiatement des arrangements entre OpenERP SA et de grosses sociétés afin de faire des entorses aux garanties de la GPL et donc les garanties protégeant la communauté et les utilisateurs.

C’est ce qui nous vient immédiatement à l’esprit lorsque OpenERP SA a présenté sa nouvelle offre, et c’est pour cela que les débats ont été particulièrement virulent la semaine dernière à ce sujet. J’ai moi-même commencé à craindre qu’une partie importante de la communauté ne commence à se tourner vers Tryton.
Mais quand on analyse dans le détail l’offre, on se rend compte qu’elle n’est pas forcément si mal pensée que cela, pour comprendre où je veux en venir laissez moi rentrer dans le détail des licences *GPL.

La première licence *GPL, que je vais passer rapidement car elle n’a jamais été utilisée par OpenERP, et également la moins restrictive est la licence LGPL. Elle sert principalement quand la licence d’un logiciel a besoin d’être compatible avec du code propriétaire tout en pouvant néanmoins protéger par les garanties GPL le logiciel lui-même.

La licence GPL est la licence de base approuvée par la FSF et l’une des plus restrictive. Parfois trop au regard de certaines personnes, car vous ne pouvez utiliser un logiciel sous GPL avec du code propriétaire. Vous avez l’obligation de redistribuer le code source si vous faites une modification sur le logiciel, mais vous pouvez néanmoins créer une extension comme un module OpenERP sans avoir à le publier tant que vous l’utilisez de manière privée. OpenERP est resté longtemps en GPL V2 puis en GPL V3 quand cette version est sortie.

La licence GPL n’apportait néanmoins aucune garantie par rapport au SaaS. Vous pouviez par exemple prendre le code d’OpenERP, créer des modules utiles dont vous gardiez le code et proposer sur cette base un service SaaS payant sans avoir à publier le code source de vos modules. C’est ce que j’appelle une offre SaaS opportuniste, evidemment condamnable en regard de l’esprit du logiciel libre.
C’est pour palier à ce cas de figure que la FSF a créée la licence AGPL. Le principe est simple : vous pouvez demander le code source de tout logiciel que vous utiliser, même si celui-ci est utilisé à travers le réseau. Notez la différence de taille entre la GPL et la AGPL : Si on se place en contexte d’entreprise, cela signifie que même les employés ou les partenaires ayant un accès restreint sur l’ERP peuvent demander le code source de l’OpenERP de l’entreprise, y compris des modules développés spécifiquement pour elle et qu’elle utilise uniquement à titre privé.

OpenERP est sous licence AGPL depuis l’année dernière. C’était de toute évidence nécessaire pour éviter les offres SaaS opportunistes que j’ai évoqué et qui auraient pu apparaitre très rapidement. Imaginez vous prenez le code d’OpenERP, développez une verticalisation par exemple à destination des sociétés de services et vendiez le tout sans avoir à redistribuer votre verticalisation. J’imagine aisément comment ces opportunistes aurait pu apparaitre en quelques années sur le dos d’OpenERP donc c’était de tout évidence une nécessité.

Et donc maintenant OpenERP SA reçoit des demandes de la part d’entreprises souhaitant protéger leurs modules privés (qui peuvent souvent refléter une manière de travailler unique à l’entreprise et dont elle ne veut pas voir profiter sa concurrence). Ce sur quoi OpenERP SA répond aujourd’hui par l’exception de l’offre AGPL.
Cette exception dit que si l’entreprise cliente paye la version entreprise, elle peut ne pas donner le code source de ses modules privés à ses utilisateurs mais doit le donner si elle en distribue des copies (notamment si elle essaye de les revendre) qui reviennent alors immédiatement sous les termes classiques de la AGPL. Pour moi il ne s’agit ni plus ni moins que de vendre le droit d’utiliser la licence GPL plutôt que l’AGPL.

Et pour une fois je ne vais pas planter de couteau dans le dos à OpenERP SA : Je suis d’accord avec eux. Pour moi, les deux licences GPL et l’AGPL protègent les intérêts de la communauté, à la seule exception des offres SaaS opportunistes pour la GPL. Je ne vois aucun problème à autoriser les modules à usage privés dans les entreprises utilisatrices, c’est parfaitement dans l’esprit du logiciel libre, cela a été comme ça pendant toute la période GPL d’OpenERP et je dirait même que l’interdire purement et simplement comme le fait l’AGPL déservirait vraiment les intérêts d’OpenERP et de sa communauté.

Mais là où je trouve vraiment intéressant le choix d’OpenERP SA, c’est qu’ils ont réussi à trouver un modèle économique (le fait de faire payer les entreprises qui veulent protéger leurs méthodes de travail interne), égalitaire (c’est pas toutes les entreprises qui auront besoin d’une telle protection, et celles qui en ont besoin peuvent en payer le prix) et surtout dont la seule différence entre les utilisateurs payants et non-payants est… juste d’imposer une licence plus restrictive encore sur les garanties du logiciel libre, via l’imposition pour les utilisateurs non-payants de la licence AGPL. Des utilisateurs payants ayant un équivalent GPL protégeant déjà correctement les intérêts de la communauté et des utilisateurs non-payants dont la seule restriction est uniquement d’être obligé de publier le code source à ses employés et partenaires… C’est brillant, juste brillant.

Depuis mes débuts sur OpenERP, je craignais que OpenERP SA ne soit obligé finalement d’adopter une double licence pour arriver à survivre, je les ai vu pendant toute la période lutter pour arriver à trouver un business model viable mais respectueux de la communauté. Quand cette exception est arrivée, j’ai cru, comme beaucoup d’autres, qu’ils avaient surtout commencé à jeter l’éponge et à se diriger vers une double licence néanmoins finalement… il semble qu’au contraire ils aient bel et bien réussi à trouver le modèle économique qu’ils cherchaient! Personnellement je soutiens donc cette idée qui est selon moi incroyablement originale.

Étudions maintenant les différents cas de figure :

1)Le cas où une société peu scrupuleuse développe un module et tente ensuite de le vendre sans redistribuer librement le code source. Ce cas ne doit selon moi pas être possible sans violer l’esprit du logiciel libre.

2)Le cas où une société cliente veut développer un module à usage interne exclusivement. La société doit avoir la possibilité, de manière gratuite ou payante, de garder la pleine propriété intellectuelle du module y compris vis à vis de ses employés et partenaires. Ceci ne viole pas selon l’esprit du logiciel libre.

3)Le cas où une société cliente veut avoir accès à un module. Elle doit selon moi pour que soit respecté l’esprit du logiciel libre pouvoir accéder librement au code source de tous les modules développés par l’éditeur, par un intégrateur qui base ses services dessus et ceux utilisés dans une offre SaaS. Ils n’a pas forcément à avoir accès à un module utilisé uniquement en interne dans une autre société.

4)Le cas où une société peu scrupuleuse développe un module pour baser une offre SaaS dessus sans avoir à redistribuer librement le code source. Ce cas ne doit selon moi pas être possible sans violer l’esprit du logiciel libre.

OpenERP sous GPL :

1) Cas impossible sans violer la licence

2) Cas possible sans violation de licence

3) La société cliente n’a pas accès aux modules d’une offre SaaS peu scrupuleuse.

4) Cas possible sans violation de licence

OpenERP  sous AGPL

1) Cas impossible sans violer la licence

2) Cas impossible sans violer la licence

3) La société cliente a correctement accès à tous les modules.

4) Cas impossible sans violer la licence

OpenERP sous AGPL + exception. La société dont il est fait mention dans le cas a acheté la version entreprise.

1) Cas impossible sans violer la licence

2) Cas possible sans violation de licence

3)4) Je ne suis pas sûr… J’ai beau regarder le texte de l’exception, ce qu’OpenERP SA offre aux utilisateurs de la version Entreprise est le droit de ne pas redistribuer le code source aux utilisateurs, sans autre restriction. C’est bien trop proche de la GPL pour empêcher les offres SaaS opportunistes d’apparaitre, il leur suffirait alors juste d’acheter la version Entreprise… OpenERP SA a besoin d’être beaucoup plus explicite sur ce point, et indiquer explicitement que l’exception n’est plus valable si l’accès à l’ERP est payant d’une quelconque manière (Je pense aux offres SaaS opportuniste mais aussi à une société qui ferait payer par exemple une option à ses clients pour qu’ils accèdent à leurs factures sur l’ERP de la société, dans ce cas le code doit être également redistribué).

Qui plus est, il reste deux problèmes à la mise en place de cette licence que je vais juste évoquer rapidement :

-Il y a encore beaucoup de personnes dans la communauté, détentrice de copyright sur le code d’OpenERP, qui refusent d’autoriser le passage à la nouvelle licence. En réaction OpenERP SA veut réécrire leur contribution ce qui est évidemment une sacrée insulte. Je trouve cela infiniment regrettable, même si au final l’idée semble bonne OpenERP SA a voulu passer en force et résultat c’est l’escalade. OpenERP SA ne DOIT PAS réécrire ces contributions, ils ont déjà beaucoup trop tendance à être renfermé sur eux même ce qui n’est pas sain pour un logiciel libre (J’ai déjà suffisamment fait part de mon opinion sur le fait qu’OpenERP SA devrait faire un bien meilleur usage des contributions de la communauté). J’invite tout un chacun à discuter de manière responsable sur le sujet, si il y a des réticences du coté de la communauté, proposez et demandez des garanties.

-Certains membres de la communauté ont mis en avant le fait que les modules AGPL ne serait pas compatible avec l’AGPL+Exception. Ce serait évidement un considérable problème, mais mes compétences juridiques limitées ne me permettent pas de faire plus de commentaires sur le sujet.

En conclusion, mon avis est que je soutient la nouvelle licence, à condition que les offres SaaS opportunistes soit explicitement bannies de l’exception, et j’adresse mes félicitations à OpenERP SA pour avoir trouver ce business model.

PS : Pour les anglophones, je vous invite à lire cet excellent billet sur le même sujet : http://www.qmuxs.com/version2beta/2011/a-new-openerp-product-and-license/.

Update : Depuis l’article et suite principalement à l’insistance de la société Akretion, il semblerait que l’on commence à ce diriger vers la possibilité pour les contributeurs de vendre leur “version entreprise” de leur module : http://www.openerp.com/irc/%23openobject.2011-06-30.log.html#t2011-06-30T23:22:31 . C’est en train de devenir très interessant car du coup non seulement le modèle économique de la licence est interessant mais en plus toute la communauté pourra profiter des retombées économiques! Ceci pourrait potentiellement convaincre la communauté de changer la licence de leurs modules et donc régler ce problème d’incompatiblité.

Bravo et merci Raphael ;).

2 thoughts on “Mon point de vue sur le changement de licence d’OpenERP”

  1. Bonjour,

    merci pour cette analyse.

    Comme tu le montres, la conséquence immédiate pour l’utilisateur de cette exception est que la licence AGPL+exception ne protège plus du lock-in des données. Mais ceci était vrai aussi du temps de la GPL.

    Cependant je pense que le désaccord porte davantage sur les conséquences de la modification de licence dans les relations entre l’éditeur et la communauté. Si Openerp veut pouvoir offrir en exclusivité une licence à ses clients, il se doit de posséder l’ensemble du copyright de tous les modules essentiels et du kernel. Par une décision qu’ils savaient controversée, Openerp envoie un message clair : les contributions ne seront prises en compte qu’à des conditions précises et si elles correspondent au plan de développement qu’ils ont décidé.

    Pour ceux qui ont vu ce logiciel évoluer depuis ses débuts, c’est bien une page qui se tourne. Nous étions prévenus depuis les annonces faites en 2010, mais tout de même, la poésie en prend un coup, et pas que la poésie. ;-)

    1. Oui dans cet article je parle uniquement de l’intérêt de la licence et non du comportement de l’éditeur. Selon moi tant que l’éditeur continuera à faire en sorte de tout faire lui-même on passe à coté du vrai potentiel du logiciel.
      On voit aujourd’hui pourquoi, ils veulent pouvoir se permettre ce genre de changement de licence mais c’est une utopie. Même aujourd’hui ils sont déjà bloqué par le branle bas de combat de raphael et autres top contributeurs, et une réécriture serait proprement ridicule.

      Mais j’imagine bien ce qu’il doivent se dire “Oui de toute façon ils sont jamais content et ne font que gueuler” aussi quand comme ici je me rend compte que c’est pas une si mauvaise idée je tiens à le faire savoir. Si tout le monde se braque sur ses positions on n’avancera pas et peut-être qu’un jour ils finiront par nous écouter…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>