Entrevue avec Guillaume Lesniak, développeur de Focal et ex-CyanogenMod

 

L’actualité de l’équipe Cyanogen bat son plein. Avec le levée de fonds récente, la création de Cyanogen Inc et la probable collaboration avec le constructeur OPPO, CyanogenMod occupe une grande partie de l’actualité Android.

Dernièrement, Guillaume Lesniak, jeune développeur français, a quitté l’équipe CyanogenMod suite à un désaccord. Il vient de déployer Focal, une application photo qui était censée être l’application photo des ROM CyanogenMod. Dans une entrevue, Guillaume Lesniak revient sur son parcours dans l’équipe CyanogenMod/Cyanogen Inc, sur sa vision de CyanogenMod et de sa communauté, sur son application Focal avec un discours très axé autour de l’open source. 

moff

Bonjour Guillaume Lesniak, pourrais-tu te présenter ?

Je m’appelle Guillaume (aka. xplodwild), 19 ans, actuellement étudiant (en 1ère année de master), et passionné par le développement depuis de nombreuses années.

 

Tu travailles depuis plusieurs semaines sur le projet Nemesis qui consiste à développer une application caméra – Focal – pour CyanogenMod. Peux-tu nous en parler ?

Nemesis était à l’origine le “nom de code” de Focal, qui a été par la suite transformé pour englober l’ensemble des projets de CyanogenMod/Cyanogen Inc, puisque le buzz a été monté bien plus haut que ce qu’on avait prévu (suite au premier teaser).

Capture d’écran 2013-09-22 à 04.27.20

Le but de Focal était de procurer une meilleure expérience utilisateur à l’appli Caméra sur les ROMs basées sur l’AOSP, via plusieurs éléments: davantage de fonctions (notamment celles spécifiques à l’un ou l’autre périphérique), une interface plus appropriée à celles-ci, et particulièrement une alternative à PhotoSphere, n’étant pas opensource. Il y a eu donc un long travail de recherche et développement, d’une part pour trouver une interface adaptée, et d’autre part pour réussir à être compatible avec les 100+ terminaux compatibles avec CM.

Note complémentaire :

Téléchargez Focal sur le Google.

 

Comment la différencies-tu des autres applications du même genre ? Certaines fonctions semblent spécifiques à des terminaux (Sony par exemple), qu’en est-il ?

La plupart des applications actuelles se concentrent sur des fonctions un peu exotiques (des effets photos à la Instagram, transformation de visage, etc) qui sont rarement disponibles dans les applications fournies par les constructeurs. Aucune d’entre elles (du moins à ma connaissance) ne propose une expérience améliorée par rapport justement à ces applications constructeurs, tentant de briser les limites définies entre les différents terminaux, pour avoir une application unie à tous.

Les fonctions spécifiques sont très variées selon les périphériques (même si je tire mon chapeau à Sony qui montre son avance en terme de caméra), et c’était l’un des challenges du développement: procurer les fonctions qui sont sur l’un ou l’autre téléphone, sans poser de problème aux autres qui ne l’ont pas. C’est de là que m’est venu l’idée des “widgets”, qui peuvent être facilement développés et “pluggés” dans le code pour supporter ces spécificités. Partout où c’est possible cependant, je tente de simuler de façon logicielle ce qui ne peut pas être fait matériellement, tel que l’HDR par exemple.

 

Quel est ton plan d’attaque sur les prochaines versions ?

Corriger les bugs, et conserver une version centrale sur mon dépôt GitHub. Beaucoup de ROMs ont déjà exprimé leur intention d’intégrer Focal (tel que AOKP, ParanoidAndroid ou AOKP). J’espère simplement que les améliorations proposées par les développeurs sur chaque ROM seront contribuées au dépôt principal, afin que tous les développeurs, ensemble, puissent contribuer à cette application et en faire une application réellement universelle.

Enfin, j’ai une très grande roadmap de nouvelles fonctionnalités que je souhaite ajouter… Si j’ai du temps libre :)

 

Récemment, tu as décidé de quitter l’équipe Cyanogen, pourquoi ce choix ?

C’est une décision qui a pris du temps, à l’inverse de ce qui peut se penser. Comme mon post sur Google+ l’indique, la commercialisation de CyanogenMod est discutée depuis un certain temps, mais n’a malheureusement pas été gérée correctement envers les contributeurs. Sans entrer dans les détails (je vous invite à lire mon post sur Google+ pour toute l’histoire), Cyanogen Inc souhaitait relicencier Focal, qui est sous GPL, puisque cette licence ne permet pas légalement de faire des modifications sans les re-publier. Il était censé y avoir un contrat passé entre moi et Cyanogen Inc, mais divers éléments (rumeurs) ont fait que Steve Kondik ne souhaitait plus le réaliser. De mon côté, il était totalement injuste (envers moi, mais aussi envers les autres contributeurs), que Cyanogen Inc vende mon travail sans que je ne puisse avoir quelque chose en retour (c’est l’une des raisons pour lesquelles l’application est sous licence GPL ; je m’en fiche que quelqu’un la vende en l’état). Non pas que je suis avare, mais j’avais contribué cette application dans un esprit d’open source et de gratuit, et avoir les dirigeants même retourner leur veste est simplement frustrant. Je ne veux pas de millions, mais juste une reconnaissance pour le travail effectué. Steve refusant tout arrangement, on a simplement décidé de retirer l’application. Et pour éviter tout futur problème, j’ai décidé d’arrêter simplement de contribuer au projet.

Note complémentaire : 

Quand un logiciel est sous licence GPL, cela assure:

  • que le code source est librement accessible si le logiciel est distribué,
  • que l’auteur du code source reste propriétaire de sa création,
  • que tout le monde peut apporter des modifications et les diffuser (à condition que ce soit sous licence GPL également),
  • que l’auteur original est mentionné dans toutes les versions dérivées,
  • que personne ne peut s’approprier le logiciel.

 

Que penses-tu du projet d’entreprise Cyanogen Inc ? Ne penses-tu pas que cela semblait inéluctable pour cette équipe de développeurs ?

C’était quelque chose qui devait arriver, un rêve que beaucoup de monde avait depuis des mois, voire des années. En soi, c’est un énorme pas en avant. Le souci est que Cyanogen Inc a été fait dans le secret le plus total, sans même consulter les contributeurs (ou du moins les plus grands contributeurs), ce qui fait que le jour de l’annonce, le point de vue a été très mitigé au sein de l’équipe. Et comme on a pu le voir, ils ont très mal géré la communication et la séparation entre entreprise, et communauté. Ils impliquent que CyanogenMod est un projet de Cyanogen Inc maintenant, et que toute contribution est faite dans un but commercial désormais. Ce n’est plus le projet ouvert que l’on a connu, mais un projet ayant des objectifs financiers, avec des contraintes (certification Google), et une réputation à conserver. Pour simplifier : ils vont prendre beaucoup moins de risques en terme de fonctions.

 

Peux-tu nous parler de CyanogenMod ? Comment travaillent-ils ?

Il y a toujours eu une certaine hiérarchie au sein de l’équipe de développement. Si l’on revient à l’époque de CyanogenMod 7 (Gingerbread), beaucoup de fonctions ont été ajoutées et CM était vraiment personnalisable. Depuis ICS, la ROM est devenue beaucoup plus clean, ce qui avait des avantages et des désavantages. Le souci est que depuis cette époque, il y a une équipe UI/UX, et que bon nombre de demandes et travaux d’utilisateurs et contributeurs sont rejetés puisqu’ils sortent de la vision décidée par les leaders de CyanogenMod. Par exemple, les “Pie Controls” n’ont été ajoutées que parce que les utilisateurs ont VRAIMENT dû insister, et il y a beaucoup de fonctions qui ont été rejetées puisque soit Google n’était pas d’accord, soit parce que ça ne plaisait pas à une personne. Au fur et à mesure, du favoritisme a été fait, et on a pu voir un commit permettant d’améliorer le support de TWRP rejeté par Koush (développeur de CWM), sans aucune raison. Un commit permettant d’ajuster le gamma des couleurs du Nexus 4 a également été volontairement ignoré dans CM-10.1, parce que Arcee a décidé que c’était inutile. Il y a plein de choses comme ça, et malheureusement beaucoup de gens n’ont plus de voix sur les décisions faites car ils ne sont pas jugés ayant suffisamment d’influence.

C’est devenu d’autant pire avec Cyanogen Inc, puisque l’interface du “Welcome Wizard” de CMAccount a été développée sans prendre compte l’avis de la team UI/UX “externe”. Hier seulement, la personne principale s’occupant (publiquement) de l’interface a exprimé son avis sur CMAccount, et a montré qu’il n’a pas du tout été consulté, pointant du doigt le secret qui a entouré Cyanogen Inc.

Cela étant, les nombreux contributeurs ont permis à CyanogenMod d’avoir une base solide pour supporter de nombreux terminaux, et ils n’ont jamais refusé de supporter l’un ou l’autre téléphone ou tablette. L’écoute en terme de support est bien plus importante, que celle fournie sur les fonctions communes à tous les terminaux. De même, certaines fonctionnalités refusées l’étaient légitimement, pouvant perturber l’expérience utilisateur normale.

Quelle a été ton histoire avec eux ? Qu’as-tu vécu de fort au sein de cette équipe ?

Ma réputation a été forgée grâce à CyanogenMod. J’ai aidé au développement du portage pour le Galaxy S II, S III, Note 1, des tablettes Asus, et plus récemment l’Oppo Find 5. Ci et là, j’ai également fait deux ou trois contributions, notamment sur la Caméra. J’ai appris énormément de choses, et je suis vraiment content de voir l’impact que les développeurs peuvent avoir sur les constructeurs (notamment Sony et Oppo). Le lancement de Focal a été vraiment énorme, et j’ai pu sentir ce que ça fait d’être derrière un énorme buzz :)

Suite à tous ces développements, j’ai été contacté par pas mal de personnes pour travailler sur divers projets, certains que j’ai même dû refuser par manque de temps. Je suis encore étudiant, mais ce que j’ai pu accomplir grâce à CM est certainement un tremplin pour mon futur.

 

Penses-tu que Cyanogen Inc. est dangereux pour la communauté derrière ces projets ? Qu’est ce que le changement de licence (GNU GPL pour le moment) peut impliquer ? Ton départ est-il isolé ou doit-on s’attendre à d’autres départs de contributeurs ?

Si ils gèrent la relation communauté/corporation correctement, ça peut très bien se passer. Mais comme on a pu le voir, certains gros contributeurs ont totalement été délaissés lorsqu’ils n’étaient pas d’accord avec l’idéologie de Steve (comme par exemple Andrew Dodd (Entropy512), qui a passé un temps phénoménal pour aider au support des terminaux Exynos). Le fait qu’ils soient une compagnie maintenant va également réduire leur transparence, et ils vont probablement devoir se tourner vers une méthode à la MIUI, où une équipe principale prend les décisions, et le reste n’est que traité de façon non prioritaire. Ils ne vont pas aller contre les contributeurs, puisqu’ils sont essentiels pour pouvoir faire tourner CM sur un grand nombre de téléphones et donc avoir une base d’utilisateurs importante…

Pour la petite info, j’ai appris récemment qu’il a été dit à une personne contactée pour rejoindre Cyanogen Inc qu’ils seraient capables de remplacer le travail fait par les contributeurs, avec 17 personnes payées à plein temps.

Je ne suis pas le seul à partir, même si je suis le seul à le montrer haut et fort (que ça soit bon ou mauvais). Beaucoup de device maintainers (personnes qui s’occupent de maintenir le portage d’un terminal) sont très mitigés sur le futur de CM, et certains ont déjà décidé d’aller contribuer à d’autres ROMs, telles que PA ou AOKP. Il n’est donc pas étonnant maintenant de voir que le Find 5 possède Android 4.3 via AOKP plutôt que CM, ou que le développement de CM sur les tablettes Asus (Tegra 3) soit suspendu, ou même que le support de téléphones Exynos va stagner.

 

Quels sont tes projets pour demain ?

J’en ai beaucoup, mais je ne souhaite pas en parler pour le moment. Dans un premier temps, je vais continuer de mettre à jour Focal pour montrer l’importance du GPL. Ensuite, j’ai la volonté d’unifier les équipes qui développent AOKP/PA/PAC/Carbon, plutôt que de les laisser chacune dans leurs coins. Il est primordial pour moi que ces équipes s’entraident et disposent d’une plate-forme commune pour évoluer, plutôt que de simplement copier un élément et attendre qu’il évolue de son auteur original.

Pour ceux qui seront au Big Android BBQ dans quelques jours, j’y effectue une conférence sur l’open source, ses opportunités, et ce qui se développe, conférence qui je pense devrait intéresser pas mal de monde. :-)

Que souhaites-tu ajouter ?

Le secret c’est mal. Rien de tout cela ne serait arrivé si Cyanogen en avait parlé il y a quelque temps, ou si ça avait été fait via un Kickstarter, voir même si Cyanogen aurait “forké” CyanogenMod, plutôt que d’impliquer que les deux soient liés. Le souci n’est pas tant qu’il y a de l’argent en jeu, mais plutôt que d’un point de vue moral, ceux qui pensaient se faire plaisir sur un projet sans but lucratif, se retrouvent aujourd’hui face à des investisseurs contre leur gré. Si j’avais su que Focal serait utilisé dans un projet commercial, j’aurais pensé différemment peut-être (je l’aurais directement fait en tant qu’application externe par exemple), mais là on se retrouve face à une industrie sortie de nulle part, en nous disant “continuez à bosser comme si de rien n’était”. Ce n’est pas juste, et je suis loin d’être le seul à le penser.

Mais je souhaite quand même un bon succès à Cyanogen Inc, car c’est un énorme travail qui a été fait pour en arriver là.

 

Merci à Guillaume pour ses réponses, nous allons continuer à suivre ses projets de près.


Le saviez-vous ? Google News vous permet de choisir vos médias. Ne passez pas à côté de Frandroid et Numerama.

Les derniers articles