Cette fois, les visiteurs de mon blog qui sont habitués à des sujets techniques assez pointus qui sont couramment publiés sur cet espace, seront peut être un peu déçu ce jour, car je vais m’attaquer à un sujet un peu plus généraliste, qui n’a rien à voir avec les technologies Microsoft.
En observant depuis un certain moment l’évolution des technologies et plateformes actuelles, je me rends compte que le business modèle en ce qui concerne le développement et la publication des applications est en train de s’orienter vers une situation ou le développeur perd de plus en plus son autonomie.
Cette idée à commencer à fleurir dans mon esprit depuis très longtemps, lorsque j’avais été frustré par une première tentative d’inscription pour publication d’application sur le marketplace Windows Phone 7, qui avait été un échec avec pour principale cause la non-prise en charge de ma zone géographique.
Ensuite vint mon inscription à Windows Azure pendant les 30 jours de test gratuit et pour le projet Folding@home sur DVP de la plateforme Cloud de Microsoft qui n’a bien évidement abouti à aucun résultat avec, toujours pour cause, la zone géographique. Et finalement, les sujets qui pullulent actuellement en ligne sur la guerre des brevets et les contraintes liées au développement mobile m’ont poussé à écrire ce billet de blog.
Avant d’évoluer, je tiens à préciser que je suis un développeur .NET indépendant, qui réside actuellement au Cameroun, un pays plutôt pauvre – faut le dire – de l’Afrique centrale, ou l’évolution technologique est à la traine. Néanmoins, il fait bon d’y vivre ;). La n’est pas le but de cet article.
L’ère du PC a offert une certaine liberté au développeur dans le choix de sa plateforme d’exécution, de ses outils et langages de développement. On pouvait se vanter d’être un Geek avec un ordinateur sur lequel sont installés plusieurs OS avec de multiples plateformes de développement.
Couplé à l’avènement de l’Internet dans les années 80, les développeurs pouvaient publier le fruit de leur labeur beaucoup plus simplement, quasiment bon marché.
Internet est venu donc favoriser la distribution des applications sur le Web en dehors des standards industriels. Les logiciels sur le Web sont pour la plupart développés par des personnes physiques (développeurs indépendants) – par opposition à la personne morale qu’est l’entreprise.
Dès lors, on a assisté même à un essor des développeurs indépendants. Certains ont même quitté l’entreprise qui les employait pour se lancer avec beaucoup de succès dans une activité personnelle avec le maximum de liberté.
Avec l’avènement des terminaux mobiles et des tablettes qui rencontrent un succès énorme de nos jours. On aperçoit de plus en plus des avis des personnes annonçant la fin de l’ère PC.
On assiste également à l’attrait de bon nombre de développeurs pour le développement des applications mobiles. Cependant, la distribution des applications est désormais centralisée au sein d’un seul canal de diffusion officiel pour chaque éditeur de système d’exploitation mobile : les galeries d’applications.
Certes, cela permet de cibler un public beaucoup plus large, et offre une plus grande lisibilité à l’application du développeur, permettant ainsi de générer de plus gros revenu pour les applications mobiles populaires.
Mais d’un autre côté, pour pouvoir publier son application, le développeur doit remplir plusieurs conditions et est contraint d’utiliser un langage bien précis, qui est propre à chaque système d’exploitation mobile (.NET pour Windows Phone, Objective-C pour iOS, etc.).
Pour le cas de l’App Store d’Apple par exemple, le processus de validation de l’application passe par une vérification stricte de celle-ci, qui ne doit pas avoir accès à certaines ressources système. De plus, votre pays de résidence conditionne également votre possibilité d’accès à la galerie (comme cela a été le cas pour moi avec Windows Phone).
En contrepartie de la visibilité offerte par la galerie et les outils misent à la disposition du développeur pour le suivi de ses publications, une bonne partie du revenu généré par l’application est versée à l’éditeur de la plateforme.
De plus, cette possibilité de faire tourner un système d’exploitation de son choix sur un dispositif n’est quasiment plus possible.
Mais là n’est pas l’aspect le plus critiquable de la chose. La violation des propriétés intellectuelles fait de plus en plus parler d’elle.
On se souvient encore certainement de l’affaire Lodsys LLC, cette entreprise qui avait adressé des lettres individuelles par le service de transport de fret FedEx à de nombreux éditeurs d’applications exigeant un dividende de 0.575 % sur les revenus générés par les applications de ceux-ci.
Le développeur après des efforts considérables de programmation pour mettre sur pied son application, peut à tout moment être face à des personnes faisant valoir un droit à une partie de son travail sans toutefois y avoir participé, tout simplement parce que celles-ci ont fait valider un papier décrivant théoriquement une idée.
Bien évidemment, le développeur ne dispose pas d’assez de ressource pour se défendre. Les frais de justice à eux seuls prendront pratiquement tout le revenu généré par l’application et peut-être même par toute son activité.
De ce fait, les développeurs qui se sont lancés dans une activité indépendante n’auront plus que comme alternative pour survivre de travailler pour des entreprises qui disposent d’assez de ressources pour pouvoir faire face à de telle situation.
Et le Cloud Computing ?
Le Cloud Computing fait également beaucoup parler de lui ses deux dernières années. Même s’il est clair que les cibles principales du Cloud sont les entreprises, les plateformes d’hébergement d’applications dans le Cloud sont aussi proposées aux développeurs.
L’accès à celles-ci en plus d’être conditionné une fois de plus à la zone géographique, limite également le choix des langages de développement pour le développeur.
Pour chaque plateforme, l’éditeur assure d’abord la promotion du langage de programmation qu’il a créé (le cas de Go pour la plateforme App Engine de Google) avant d’intégrer les autres langages de programmation les plus populaires (JAVA, PHP, Python, etc.).
L’adoption de ces écosystèmes pourrait tout simplement entrainer la fin de certains langages de programmation, et ne laisse pas une grande liberté au développeur dans le choix de son langage, qui est désormais limité à ceux qui sont supportés par la plateforme ciblée.
Pour conclure, je me rends compte que le développement d’application pour les écosystèmes mobiles, pour les plateformes de Cloud Computing, tend à contraindre de plus en plus le développeur au respect de certaines conditions et le prive de liberté dans le choix d’outils et langages de développement, et n’encourage pas également à se lancer à son propre compte comme développeur indépendant.
Sans toutefois vouloir lancer un quelconque troll, ceci n’est qu’une analyse personnelle, fondée sur l’état actuel des choses, qui peut s’avérer cependant critiquable.
Très bon billet. Les contradicteurs te rétorqueront que le vendor lock-in n’est pas si terrible que ça du moment où tu as le choix entre plusieurs vendor lock-ins
Plus sérieusement, il faut voir que ce qu’on perd en liberté, on le gagne en efficacité et en visibilité. Comme dans d’autres industries, il fallait s’attendre à ce que se constitue un écosystème où, de l’hébergement en passant par la diffusion ou la publicité, chaque strate d’activité autour du cycle de vie d’une application est assurée par un gros prestataire de services. Difficile d’ailleurs d’imaginer des succès planétaires comme ceux de certaines applis pour smartphones dans un monde où cet écosystème n’existe pas.
A terme donc, la quasi-disparition des softs « home-made » de A à Z me parait aussi inexorable que, par exemple, celle des livres imprimés dans la cave de l’écrivain et publiés à compte d’auteur.
Reste le problème des droits et de la propriété intellectuelle. Effectivement, le développeur seul est fortement tributaire du bon vouloir des plateformes de diffuser son logiciel. De là à dire qu’il peut y avoir un pillage organisé et impuni de son travail, il y a quand même des lois, et en France j’ose espérer qu’elles sont assez protectrices pour empêcher de tels abus. Néanmoins il y a effectivement surement beaucoup de boulot à faire pour les mettre au goût du jour ; les organisations pro-logiciel libre ont aussi un rôle crucial de contre-pouvoir à jouer face aux géants du secteur dont le lobbying pourrait faire régresser la situation.