Vivaldi et l’Open Source

Les personnes impliquées dans la communauté Open Source nous demandent souvent pourquoi le navigateur Vivaldi n’est pas disponible sous une licence Open Source unifiée. Nous allons vous expliquer pourquoi dans cet article.

Pour beaucoup de personnes, la question de la publication du code source du navigateur Vivaldi sous une licence Open Source unifiée semble évidente.

Nous fournissons Vivaldi gratuitement, nous gagnons de l’argent grâce aux recherches et aux accords de partenariat, aussi, permettre à des développeurs externes d’avoir accès au code source et éventuellement d’aider ne devrait pas poser de problème, n’est-ce pas ?

Nous comprenons très bien ce point de vue et c’est un sujet dont nous débattons régulièrement en interne, car beaucoup d’entre nous sont partisans de l’Open Source et utilisent des logiciels libres.

Cependant, comme pour tout, cela devient beaucoup plus compliqué lorsque l’on étudie les détails.

Le navigateur Vivaldi est en partie Open Source, en partie Closed Source

Avant de passer à l’Open Source, voici un bref rappel de la manière dont le navigateur Vivaldi est conçu.

Vivaldi est constitué globalement de trois couches.

Comme vous le savez probablement, nous utilisons Chromium pour la base de notre navigateur.

En plus de Chromium, nous intégrons beaucoup de code C++ pour supporter nos fonctionnalités propres, comme le bloqueur de publicités et l’outil de prise de notes.

Ces deux couches prennent en charge notre interface utilisateur, qui existe en deux versions différentes :

  • Sur la version pour ordinateurs, l’interface utilisateur est écrite principalement en HTML+CSS+JS.
  • Sur la version mobile pour Android, l’interface utilisateur est implémentée en Java et est principalement dérivée de l’interface utilisateur Java incluse dans Chromium (la licence du code Java de Chromium ne nous oblige pas à publier les modifications qui y sont apportées).

Chromium utilise lui-même une licence libre et toutes les modifications que nous y apportons afin de prendre en charge notre couche d’interface utilisateur et les fonctionnalités sont publiées. Nous publions également tout notre code C++ comme s’il faisait partie des modifications apportées à Chromium. Cela facilite notre processus interne car cela nous permet de tout construire – Chromium et notre code C++ – dans une seule librairie.

Une copie du code Open Source du navigateur Vivaldi est disponible sur notre site Web. Les modifications sont publiées sous la licence libre BSD. Les détails sont expliqués dans les fichiers README et LICENSE du paquet.

Vivaldi contient également du code tiers. Les licences à cet effet peuvent être consultées dans le paquet source et dans le navigateur installé, en se rendant sur vivaldi://credits.

Sur ces trois couches, seule l’interface utilisateur n’est pas Open Source. Cela signifie qu’environ 92 % du code du navigateur est Open Source du fait de Chromium, 3 % est Open Source pour notre code spécifique et seuls les 5 % venant du code de l’interface utilisateur n’est pas Open Source.

C’est la marque Vivaldi

Si le navigateur Vivaldi est si proche d’être publié sous une licence Open Source unifiée, pourquoi ne l’est-il pas ?

L’interface utilisateur de Vivaldi est vraiment ce qui rend notre navigateur unique. En tant que telle, elle est notre atout le plus précieux en terme de code.

Nous ne la publions pas sous une licence Open Source et nous n’en publions que des versions obfusquées. L’obfuscation sert en partie à améliorer les performances, mais elle constitue également la première ligne de défense, pour empêcher d’autres parties de s’approprier le code et de construire trop facilement un navigateur équivalent (essentiellement un fork).

Mais devrions-nous avoir peur des forks en premier lieu ?

C’est une question très subjective et je ne m’attends pas à convaincre qui que ce soit. Je me contenterai plutôt d’expliquer où nous en sommes sur cette question.

Du point de vue de l’Open Source, les forks sont à peu près l’essentiel. Vous dérivez le travail de quelqu’un d’autre, vous en faites quelque chose de nouveau et de cool, vous obtenez le crédit de votre ajout, le projet que vous avez modifié obtient le crédit d’être ce projet, et peut-être qu’ils prendront votre ajout et que tout le monde sera content.

Mais comme je l’ai laissé entendre plus tôt, Vivaldi n’est pas qu’un alignement de code. Nous possédons la marque et les marques associées que nous devons faire respecter, ce qui signifie que tout fork doit être clairement indiqué comme étant un produit différent. C’est aussi la raison pour laquelle Chrome et Chromium sont deux choses différentes.

Le nouveau produit devient alors immédiatement un concurrent, sans qu’il soit nécessaire d’effectuer un travail technique important pour atteindre ce statut (il devra cependant être commercialisé).

Lorsqu’il s’agit de grands projets qui existent depuis assez longtemps ou qui sont connus de tous, les gens ne prêtent pas tellement attention aux forks.

Cependant, comme Vivaldi est encore petit et pourrait facilement être éclipsé, cela rend notre marque plus vulnérable, et pas seulement en termes de revenus.

Si un nouveau projet basé sur notre code met en œuvre des fonctionnalités qui sont fondamentalement contraires à notre éthique (préjudiciables aux droits de l’homme ou à l’environnement d’une certaine manière, par exemple), même si nous n’étions en aucune façon associés à l’auteur de ces fonctionnalités, cela pourrait profondément miner notre moral. Et même en étant nullement responsables de ce projet dérivé, le fait d’être mentionnés à côté de celui-ci pourrait nuire à notre réputation.

Si le fait de ne pas rendre la couche interface utilisateur de Vivaldi Open Source et de la livrer obfusquée nous permet d’éviter ce genre de souci, cela vaut certainement la peine de le faire, même si c’est loin d’être une solution parfaite. Nous nous devons de prendre des décisions qui minimisent les incertitudes quant la pérennité de notre entreprise, ne serait-ce que pour le respect de nous-mêmes en tant qu’employés.

Les processus Open Source sont également coûteux

Il existe également une raison plus pragmatique pour laquelle le navigateur Vivaldi n’a pas adopté une licence Open Source. Opter pour l’Open Source aurait pour nous le grand avantage d’obtenir des contributions de nombreuses personnes brillantes qui nous soutiennent. Mais même cela n’est pas si évident, étant donné la taille de notre équipe. La gestion d’un projet Open Source nécessite que des personnes dédiées examinent les patches soumis et communiquent avec les contributeurs.

Tout cela prend du temps, et compte tenu de nos contraintes, nous ne sommes pas sûrs que les avantages l’emporteraient sur l’investissement en temps. Pour l’instant, nous pensons qu’il est plus productif de continuer à nous concentrer sur la fabrication du navigateur le plus personnalisable possible.

Quels sont les avantages en matière de sécurité ?

Même si la plupart du code critique en matière de sécurité pour le navigateur Vivaldi est dans Chromium, il y a également du code critique dans l’interface utilisateur. Si vous pensez que certaines parties de l’interface utilisateur devraient être accessibles à tous pour rendre Vivaldi plus fiable, faites-le nous savoir et nous envisagerons de les inclure dans nos lots de codes, afin que vous puissiez vérifier par vous-même.

Que se passe-t-il si Vivaldi venait à disparaître ?

C’est une préoccupation tout à fait justifiée. Beaucoup d’entre nous, chez Vivaldi, sommes frustrés par le fait qu’Opera, basé sur Presto, n’a pu continuer à exister après qu’Opera Software a décidé de passer à une implémentation basée sur Chromium. J’ai personnellement passé beaucoup de temps à travailler sur Opera basé sur Presto, à l’améliorer, le réparer et je pense que, oui, s’il avait été Open Source, il aurait pu continuer à vivre encore aujourd’hui et tout ce travail n’aurait pas été perdu.

Alors, ne serait-il pas bon d’ouvrir Vivaldi pour cette seule raison ? Oui, ce serait vraiment bien. C’est un point sur lequel tous les employés de Vivaldi sont d’accord pour le moment. D’un autre côté, nous sommes en pleine croissance et nous ne sommes pas pessimistes quant à notre avenir. En fin de compte, même si c’est quelque chose que nous voulons aborder, ce n’est pas une question si urgente pour le moment.

Pas de retour en arrière

C’est le point le plus important, une des clés de toute l’énigme.

Vous ne pouvez pas tester l’Open Source et décider ensuite de tout cadenasser s’il s’avère que l’Open Source n’est pas pour vous. Le code qui a été publié sous une licence Open Source reste ouvert à perpétuité. La seule façon de contourner ce problème est de rendre le code publié obsolète, ce qui demande beaucoup de temps. Ainsi, d’un point de vue commercial, la solution la plus sûre lorsque vous n’êtes pas sûr que l’Open Source soit la bonne solution est de ne pas l’essayer. Aussi intéressantes que soient les licences des logiciels libres, c’est un aspect malheureux de celles-ci.

Bidouiller Vivaldi pour le personnaliser encore plus

Si vous n’êtes pas gêné par les détails des arguments de l’Open Source et que vous êtes seulement intéressé de pouvoir modifier le code pour personnaliser le navigateur Vivaldi à votre guise (et que vous en avez les compétences), vous pouvez le faire avec notre version pour ordinateurs.

Vous pouvez tout à fait rendre le code obfusqué plus lisible et le modifier pour votre usage personnel en éditant directement le code javascript minifié.

C’est plus facile à faire que dans les autres navigateurs qui nécessitent tous une étape de compilation complète pour appliquer une modification.

Même si notre licence ne le permet pas formellement, nous nous en félicitons et nous autorisons les utilisateurs à partager ces modifications de code sur nos forums.

Le navigateur Vivaldi doit-il être sous licence Open Source ?

Nous espérons qu’après lecture de cet article vous aurez compris que cette question n’est pas simple.

Bien que des arguments pointent dans les deux sens, nous sommes satisfaits de ce que nous pouvons offrir actuellement – un logiciel gratuit, comprenant une grande partie de licence Open Source et avec seulement une quantité limitée de code fermé, mais modulable.

Nous nous y tiendrons aussi longtemps que nous estimerons que la protection de l’apparence et de la convivialité de Vivaldi ainsi que de l’identité de notre marque est précieuse. C’est une chose que nous continuerons à reconsidérer (nous nous félicitons secrètement de cela, mais vous ne nous avez pas entendu dire cela).

Crédit photo : Markus Spiske sur Unsplash.

Source : https://vivaldi.com/fr/blog/vivaldi-browser-open-source/

Join the Conversation

  1. Bonjour,

    Autant je comprends bien votre prudence et je la respecte, autant j’ai l’impression que vous mélangez un peu logiciel en source ouverte (open-source) et logiciel libre. Je ne vois pas trop ce qui vous empêche de passer le code actuellement propriétaire en source ouverte en précisant bien dans la licence que la modification n’est autorisée qu’à titre individuel, et que la redistribution ou l’usage commercial est réservé à Vivaldi ?
    Dans ce cas les utilisateurs auraient un accès total au code, mais si un concurrent cherchait à exploiter le code Vivaldi, ils le feraient de façon illégale (et vous seriez légitimes à les attaquer en justice).
    Non ?

    Cordialement,
    Banz

  2. En fait, si je comprends bien, le code de l’interface utilisateur n’est pas Open-Source mais comme c’est du code html/css/js, il ne peut pas être complètement fermé puisque diffusé dans tous les dossiers d’installation de Vivaldi. Il est juste « pas facile à lire » mais c’est de loin le code qui est, depuis longtemps, le plus modifié par des dev/contributeurs tiers et redistribué avec la bénédiction du staff Vivaldi sur le forum officiel.
    https://forum.vivaldi.net/category/52/modifications
    Par contre, le code redistribué sous licence BSD (Chromium et C++) sur https://vivaldi.com/source/ n’est, à ma connaissance, pas du tout modifié par des tiers (ou alors très discrètement). Je ne suis même pas certain que quelqu’un l’ai audité, compilé, ou même lu 😀
    Passer d’une licence propriétaire à une licence libre pleine de restrictions ne changerait pas grand chose à l’affaire, ÀMHA.

    1. « Passer d’une licence propriétaire à une licence libre pleine de restrictions ne changerait pas grand chose à l’affaire, ÀMHA. »
      Justement ce que je disais dans mon commentaire : je suggère une licence open-source pleine de restriction, pas une licence libre. La différence open-source/libre est importante.
      Ce qui changerait ça serait simplement que le code ne serait plus propriétaire mais open-source. Dans la vie quotidienne ça ne changerait pas grand chose (je pense pas que le nombre de contributions externes explose…), par contre Vivaldi serait mieux perçu par ceux qui ignorent volontairement totalement tout ce qui est propriétaire. Alors certes ça ne serait toujours pas du goût des libristes les plus convaincus, mais ça serait déjà un pas en avant.
      Personnellement la situation actuelle me convient, mais j’ai déjà évoqué Vivaldi à des linuxiens qui ont balayé ma suggestion d’un revers de la main dès la première apparition du mot « propriétaire ». Et je trouve ça bête puisque dans les faits Vivaldi est déjà open-source.

      Cordialement,
      Banz

  3. D’après https://opensource.org/osd , une licence Open-Source doit à priori répondre à certains critères qui ne conviendront à priori pas à Vivaldi actuellement.
    Sinon, comme peu de logiciels procèdent comme Vivaldi (légalement plutôt « propriétaire », mais avec un gros bout de son code source disponible pour audit et avec une grande tolérance quand même pour modifier/bidouiller/redistribuer des petits bouts du reste de son code réputé fermé) on pourrait très bien imaginer qu’on appelle ça une licence « VOSS » (Vivaldi Open Source Software) <:o)
    Et tant pis pour les libristes allergiques…

    1. Oula, je connaissais pas ce site et sa définition de l’open-source. Effectivement dans ces conditions c’est plus compliqué. Pour moi l’open-source c’est uniquement la disponibilité des sources pour pouvoir builder soi-même et éventuellement modifier pour soi-même. La définition sur leur site là se rapproche beaucoup de celle du libre.
      Bon bah du coup ouais, tant pis pour les libristes sur ce coup-là ^^ La pérennité de Vivaldi prime.

      1. Rien n’interdit de qualifier Vivaldi d’Open-Source juste parce que des bouts de son codes sont accessibles, mais bon pour les intégristes des licences, ça sera pas suffisant pour mériter cette belle étiquette.
        Il existe déjà tout plein de navigateurs FOSS ; les libristes ont donc déjà suffisamment à faire pour auditer leurs codes, les modifier, les améliorer, les optimiser, les compiler et en faire de meilleurs projets dérivés, que d’attendre que des p’tits logiciels comme Vivaldi changent de licence ou ouvrent davantage leur code…

  4. Par contre je me demande, pourquoi Vivaldi a si peur de rendre le navigateur totalement open-source, alors que Brave le fait sans problème ?

    1. Brave, Firefox, SeaMonkey, Midori, Otter-browser et plein d’autres navigateurs sont libres et open-source. C’est surement courageux de leur part mais ça leur sert à quoi CONCRÈTEMENT par rapport à un Vivaldi, un Opera, un Chrome, un Safari ou un Edge qui sont proprio ?

Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vivaldi