NextDom, l’avenir de la domotique !

Je vais vous parler de NextDom un projet domotique ambitieux. J’ai longtemps été un contributeur de l’application en PHP Jeedom. Avec le temps, j’ai voulu aider le projet en contribuant plus et en mettant en avant les bonnes pratiques du développement. J’ai donc fait de nombreux PR sur le Github du projet. Ce fut la douche froide !!

Le lead développeur est fermé à toutes évolutions qu’il considère comme une perte de temps.

Celles qui font perdre du temps sont :

L’ajout de documentation dans le code sous forme de PHPDoc

  • La refactorisation de code faisant plus de 200 ligne pour une méthode/fonction
  • La normalisation du coding style vers les PSR
  • L’introduction de tests unitaires
  • L’introduction de Namespaces
  • L’utilisation cohérente de composer
  • … ⁣/li>

On parle d’un projet sous Licence GPL, pas d’un projet dont le code source est privé.

Je n’étais pas le seul à vouloir faire évoluer Jeedom vers plus de qualité. Avec le temps, j’ai découvert un groupe de personnes partageant le même point de vue que moi. Un très bon groupe, ouvert et sympathique. Ce groupe a tenté une médiation avec Jeedom SAS, la maison mère de Jeedom. À l’issue de cette discutions, il a été convenu que la communication avec les développeurs serait revue et améliorée.

Malheureusement, rien n’est allé dans le bon sens. Les CGV/CGU de Jeedom ont été modifiés en rendant responsable le développeur de tous dommages physiques ou moraux. Inacceptable et contraire au principe de responsabilité de chaque un.

D’autant plus que Jeedom s’exonère de cette responsabilité. 2 poids, 2 mesures…

Comme cette situation n’est pas tenable, on a décidé de donner un nom à notre organisation : « NextDom« .

La situation s’est envenimée aujourd’hui. Sur le forum Jeedom, il est interdit d’utiliser le mot NextDom. Il est automatiquement remplacé par « NotAutorized », comme si on avait écrit des insultes…

Longue vie à NextDom un fork de Jeedom voir une solution complètement alternative.

Commentaires

15 réponses à “NextDom, l’avenir de la domotique !”

  1. Avatar de yemistikris
    yemistikris

    Je suis heureux d’avoir trouvé ce post.
    En effet, intéressé par l’acquisition d’un système Jeedom, je me suis par la suite interrogé sur ce qui se trouvait sous le capot.
    J’ai été – agréablement – surpris en constatant que cela était principalement réalisé avec PHP. Cependant, après avoir fait un tour sur le repository du projet Github, j’ai été un peu déçu.

    A mon grand regret, j’ai également déploré:
    – l’absence de tests
    – le code spaghetti
    – l’absence de composants ou de framework tiers afin de ne pas ré-inventer la roue…

    Il est probable que cela n’évoque rien à une bonne partie des utilisateurs de cette solution mais pour moi, cela n’est pas forcément gage de sérieux et me fait plutôt penser à un projet initialisé au cours d’un stage de fin d’étude.

    Aussi, à la vue de l’importante communauté, je trouve dommage que l’idée de refacto profonde ait été aussi mal reçue. Il n’est pas trop tard, cela permettrait de sublimer, fortifier le travail déjà réalisé et enfin sans doute le plus important, éviter la fragmentation de la communauté autour des différents forks qu’il pourraient y avoir.

    Cordialement.

    1. Avatar de Grand Maître L

      Salut, effectivement, ce que tu as écrit sur le code spaghetti est la principale raison du fork. As-tu regardé le travail de refacto déjà entamé ? On est aussi disponible sur Gitter. N’hésite pas à venir discuter.

  2. Avatar de UN AUTRE DÉVELOPPEUR
    UN AUTRE DÉVELOPPEUR

    Bonjour,
    Pour ma part, je rebondirai sur le fait que aucun code n’est privé, vous le voyez en ssh et maintenant dans votre interface dans la configuration.

    Sur le reste, qui vivra verra

    1. Avatar de Grand Maître L

      Un code peux être ouvert et non modifiable. C’est le cas de tous ce que je produit. C’est par une action volontaire que je le rend utilisable et modifiable par des tiers. (la licence GPL).
      Si Jeedom ne voulais pas que tous son code soit librement récupérable et modifiable par des tiers, ils n’ont pas choisi la bonne licence.
      Ce qui est inaliénable, c’est la paternité d’un code. Quand je lit plugin trucmuch par « jeedom legacy » mes poils se hérissent. On est dans de l’appropriation.

      1. Avatar de un développeur
        un développeur

        Sauf qu’il s’agit d’un fork, qui est bien fait par Jeedom SAS, et qu’il est bien spécifié dans les fichiers et dans la fiche du plugin, l’auteur initial du plugin. Donc ce n’est en aucun cas de l’appropriation.

        1. Avatar de Grand Maître L

          En front, c’est écrit « par Jeedom Legacy ».

          1. Avatar de un développeur
            un développeur

            Oui, et c’est vrai, le fork est bien de Jeedom Legacy, c’est bien eux qui ont publié cette version du plugin.

          2. Avatar de Grand Maître L

            Il faudrait mettre : « Plugin de machin avec Jeedom legacy » et non By.

          3. Avatar de un développeur
            un développeur

            Jeedom Legacy ne travaille pas « avec » le développeur initial.
            Ils ont fait un fork, et c’est eux qui le publie, ils citent l’auteur initial, tout est bien respecté.

          4. Avatar de Grand Maître L

            Si il n’y avais que ceci ! Un autre point est la responsabilité du dev face à un procès de Jeedom. Là aussi c’est un point très problématique.

    2. Avatar de Grand Maître L

      Salut, Aujourd’hui est un grand jour. Nous libérons le code source de nextdom https://github.com/NextDom/nextdom-core

  3. Avatar de un développeur
    un développeur

    Bonjour,
    Je rebondis sur un point uniquement, les CGU/CGV comportaient déjà exactement ce même passage sur la responsabilité d’un développeur sur les plugins qu’il pouvait mettre à disposition des utilisateurs. C’est bien le seul point qui n’a pas été modifié en premier lieu ….. (quelques phrases ont ensuite été simplifiées pour être plus facilement compréhensibles, mais c’est tout.)

    Sur le reste, qui vivra verra …

    1. Avatar de Grand Maître L

      Admettons quelle comporte déjà ce point. Il a de toute façon été reformulé. Et son contenu n’en demeure pas moins inacceptable pour un développeur non professionnel. Les risques sont trop grands !
      Dans le même temps, il est écrit dans l’entête de tous les fichiers :
      « * Jeedom 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.
      C’est conforme à la Gpl mais ils demande des choses aux devs dont ils s’exonèrent de leurs côté…

    2. Avatar de slobberbone

      Personnellement, comme beaucoup au départ je n’avais pas lu les CGU et j’avais accepté « bêtement » celles-ci. Lors de leur modifications je les ai lu (en me disant que j’aurai du le faire avant). C’est à ce moment là que j’ai compris que j’avais fais une erreur, il aurait été encore plus stupide de ma part d’accepter à nouveau ces conditions …
      Donc on est tous d’accord pour dire que les conditions sont abusives par contre il faudrait ne pas pouvoir changer d’avis et ne plus vouloir s’y soumettre maintenant … ? Ce n’est pas logique.

    3. Avatar de Grand Maître L

      Salut, Aujourd’hui est un grand jour. Nous libérons le code source de nextdom https://github.com/NextDom/nextdom-core

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.