Je lisais cet article et je voulais poster un commentaire mais j'ai senti que cela justifiait un article de réponse. Tout d'abord, si vous ne me connaissez pas, j'ai écrit une tonne de code Open Source. Plate-forme entière et puis certains. Je pense que l'opinion générale qui est exprimée dans cet article et beaucoup de choses que je vois en ligne sont trop simplistes et dangereuses.
Qui paiera votre salaire?
Les gens ont différentes réponses pour les modèles commerciaux open source. Par exemple "consulting" ou le vague "support". Je me demande toujours si ces personnes ont déjà essayé de vendre du conseil ? Ou peut-être "soutien".
Les gens n'achètent pas ces choses. Surtout dans une économie en déclin. La façon dont les vendeurs vendent généralement ces choses est l'indice que vous pourriez violer une licence et ce serait beaucoup plus facile si vous payiez et obteniez la licence commerciale. Je vais même ajouter le "support" gratuitement. Oui, vous pouvez obtenir des sponsors si vous passez tout votre temps au téléphone. C'est un processus de vente sans fin. Rechercher des prospects et passer des appels. La gestion de ce type d'entreprise nécessite beaucoup de frais généraux.
Certains développeurs utilisent des licences open source problématiques qu'ils peuvent ensuite exploiter pour les ventes. Mais ensuite, ils sont vilipendés comme "pas assez open source". Il n'y a pas de victoire là-bas.
Sun Microsystems a payé mon salaire pendant une partie de mon travail OSS. Ils ont chuté et sont tombés d'une valorisation de plus de 200 milliards de dollars, se vendant finalement à environ 7 milliards. Certes, ce n'est pas parce qu'ils étaient open source. C'est juste une anecdote, et ça n'a pas aidé. De vraies personnes perdent leur vrai travail parce que l'open source ne rapporte pas d'argent. Même quand c'est le cas, ça rapporte très peu. Les gens avaient l'habitude de dire que cela se terminait par un plus petit morceau d'un plus gros gâteau. C'est vrai, mais cela ne s'applique qu'aux gros joueurs et vous avez deux choix : devenir le gros joueur ou regarder un gros joueur tirer profit de votre travail acharné.
Ne vous méprenez pas, je ne suis pas contre les gens qui profitent de mon travail ou même les grandes entreprises. Je fais de l'OSS pour le plaisir et j'aime l'idée que les gens réussissent grâce à mon travail. Mais je ressens la frustration que ressentent de nombreux développeurs, et le "plaidoyer open source" que je vois chez les gens est problématique.
La mauvaise chose est le cynisme des entreprises. Prenez Google. Ils ont ouvert Android alors qu'il n'y avait pas d'utilisateurs. Les entreprises ont construit dessus, tout comme les développeurs. Le plaidoyer s'est formé autour de lui parce que « c'est open source ». Ensuite, ils ont publié les services Google Play à source fermée, qui ont ensuite ajouté l'exigence SaaS Firebase pour certaines fonctionnalités essentielles (c'est gratuit pour le moment) et nous avons maintenant des dépendances profondes à source fermée du fournisseur se faisant passer pour de l'open source.
Nous n'avons pas besoin d'utiliser les services Google Play si nous voulons créer pour Android. Bien sûr. Mais cela rend beaucoup plus difficile la création d'une application Android et si vous ne l'utilisez pas pour certaines choses (par exemple, pousser, acheter, etc.), vous êtes banni du plus grand marché Android. Une grande majorité de développeurs "l'utilisent simplement". Cela signifie que quiconque souhaite effacer Google Play de son appareil Android au profit d'une solution 100 % open source ; constateront qu'ils ont très peu de choix de logiciels pour les applications.
Prenez la recherche élastique. Ils étaient open source et le tuaient. Mais AWS bifurquait et n'aidait pas vraiment leur résultat net. Alors Elastic a changé sa licence pour bloquer AWS. AWS a lancé son propre fork. Certaines personnes vilipendent Elastic dans cette histoire, mais ces personnes n'ont probablement jamais eu à combattre Amazon pour la survie de leur entreprise. Dans ce cas, les deux parties ont armé l'open source dans une lutte commerciale.
Le cas de Java est légèrement différent. Java n'était pas open source et a été rendu open source plus tard. Il gardait toujours IP sur la langue. J'obtiens donc une certaine emprise d'Oracle sur le projet et j'accepte cela. C'est bien qu'il y ait une main ferme du navire et cela a contribué au succès de Java. Le problème avec le procès de Google était qu'Oracle a essayé d'étendre son adresse IP pour inclure les API. C'était une erreur.
Il y a environ une décennie, une startup appelée RoboVM a publié un compilateur open source qui traduisait Java en applications iOS natives. C'était plutôt cool, et j'ai pas mal parlé avec le fondateur de JavaOne. À l'époque, nous envisagions de créer notre propre machine virtuelle ou de choisir une solution telle que RoboVM. Nous nous sommes retrouvés avec le premier et avons construit notre propre machine virtuelle qui était beaucoup plus simple et correspondait mieux à nos besoins ( c'est aussi open source ).
Cette décision était basée sur des mérites techniques et je pense que cela a porté ses fruits, mais j'ai toujours un immense respect pour l'équipe RoboVM. Ma préoccupation était Apple. Ils cassent des trucs, beaucoup… Construire une machine virtuelle de bas niveau est un dangereux jeu du chat et de la souris où Apple changerait soudainement quelque chose et nous serions bloqués. Une préoccupation secondaire était la monétisation. J'ai compris que l'équipe RoboVM devrait payer les salaires de ses employés et fondateurs d'une manière ou d'une autre. Comment gagner de l'argent avec un compilateur open source ? Notez que c'était il y a dix ans et qu'il n'y avait pas de précédents comme Zig que nous pourrions considérer comme modèle.
À un moment donné, mes craintes concernant les politiques d'Apple se sont matérialisées et Apple a ajouté une exigence de bitcode lors du ciblage de certaines plates-formes. RoboVM a passé énormément de temps à travailler sur le support du bitcode et a décidé de fermer son code source. Ils ont compris qu'ils ne pouvaient pas financer le développement continu sans cela. Ne prenez pas cela comme un jugement envers leur décision. Je comprends tout à fait que, comme je l'ai dit, la monétisation de l'OSS est très difficile.
La GPL a protégé la communauté en forçant RoboVM à publier le code de la version finale avant la migration du bitcode. Cela a permis quelques fourches du code dans les années suivantes, mais il n'est toujours pas maintenu. La société a été achetée par Xamarin et rapidement abandonnée car cette dernière a été achetée par Microsoft. Sans la GPL, le code aurait pu être inaccessible. Cela a également forcé des tiers à publier leur code.
À cet égard, je suis un grand partisan de la GPL plutôt que des licences plus permissives telles que MIT, BSD, Apache, etc. Je pense qu'en tant que communauté, nous devrions préférer une licence qui préserve les droits de la communauté par opposition aux droits des entreprises. Il fournit également une bonne option de monétisation au créateur du projet. Il suffit de renouveler la licence en tant que licence propriétaire et de facturer cela. Malheureusement, la GPL est souvent un échec pour de nombreux développeurs car ils supposent à tort qu'elle est mauvaise pour eux. Le contraire est vrai. La GPL est l'un des meilleurs moyens de préserver les droits communautaires à long terme.
J'ai déjà mentionné Zig. Il existe de nombreux autres exemples de fondations qui ont réussi, telles que SQLite, Mozilla, etc. Arriver à ce point est généralement difficile et ne fonctionne pas nécessairement pour tous les projets open source. Par exemple, cURL est utilisé par à peu près tout le monde, mais je ne pense pas que nous verrons une fondation cURL. Notez également que tous ces projets sont basés dans des hubs technologiques américains. D'après mon expérience, il est beaucoup plus difficile d'obtenir des sponsors dans d'autres territoires.
Cela signifie-t-il que tout open source devrait être un passe-temps ou un méga projet englobant ?
Malheureusement, je n'ai pas de bonnes réponses. Mais j'ai un problème : les défenseurs trop zélés de l'open source. Vous n'aidez pas !
L'open source devient un jeu réservé aux entreprises. Il est utilisé comme une arme entre les entreprises de technologie qui se battent. Il y a un nom pour cela dans le commerce de détail : produit d'appel.
Dans le commerce de détail, un grand supermarché vendrait certains produits à perte et ferait la publicité de ce prix incroyablement bas. Cela attire des publics qui achètent d'autres choses en cours de route et donc le supermarché finit par faire des bénéfices. Mais la raison en est de noyer la concurrence. La concurrence semble chère (puisqu'ils ne peuvent pas vendre à perte). Ils font faillite et la grande entreprise de vente au détail augmente les prix. Au départ, il semble que nous ayons obtenu une excellente affaire de la part de la concurrence, mais nous finissons par perdre. Pour cette raison, certains régulateurs interdisent de telles pratiques car elles finissent par détruire un marché.
L'open source est utilisé de manière similaire et cynique par les grandes technologies. Ils forment des « communautés » en embauchant des armées de professionnels des relations avec les développeurs pour créer une mascarade d'enthousiasme populaire. Parfois, ils n'ont pas besoin de monétiser le marché, c'est suffisant pour écarter la concurrence.
J'adore l'open source et je pense que c'est remarquablement important. C'est pourquoi nous ne devrions pas laisser les entreprises l'armer. Nous avons besoin de diversité au sein de l'écosystème et nous devons soutenir des projets critiques plus petits. L'idée de « distribution » aux projets open source ou de « consultation » n'est pas viable.
Les grandes entreprises utilisent l'open source comme une arme pour se combattre, nous semblons en bénéficier à court terme. Mais à mesure qu'ils gagnent, l'esprit d'entreprise prend le dessus et ils doublent le contrôle.
Les solutions que je propose sont :
Utilisez la GPL - elle est là pour protéger les droits de la communauté. Pas étonnant que les entreprises n'aiment pas ça.
Ne soyez pas un puritain OSS - les petites entreprises ont besoin de gagner de l'argent. Ils offriront du SaaS, des extensions de source fermée, etc. C'est OK.
Les grandes entreprises ne sont pas bienveillantes - le plaidoyer que je vois autour des projets OSS des entreprises FAANG (MAANG) est problématique. Ils ne supportent pas OSS. Ils l'utilisent et l'exploitent. Ne vous méprenez pas, je suis reconnaissant pour leur code et c'est merveilleux qu'ils le publient. Mais nous devons être prudents, ils ont des exigences fiduciaires qui pourraient entrer en conflit avec le fait de faire la « bonne chose » selon les normes de l'OSS.
Je ne sais pas si la prochaine chose que je ferai sera OSS. Je ne sais pas si je choisirai GPL puisque, comme je l'ai dit, les gens ont un problème avec cela. Mais je sais ceci : si vous êtes un défenseur de l'open source. Baissez la rhétorique. Ce n'est pas utile.
Également publié ici .