LCC 311 - Tu changes ta licence et tu vends
Cet épisode news revient sur le rachat de HashiCorp par IBM, sur le changement de license Redis, sur le bug macOS 14.4 et Java, sur la faille de chaine d’approvisionnement sur XZ. Et nous commençons notre rubrique Ask Me Anything. N’hésitez pas à nous soumettre vos questions sur https://lescastcodeurs.com/ama.
Enregistré le 26 avril 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-311.mp3
News
Langages
Attendez peut-être avant d’upgrader macOS à la version 14.4, si vous faites du Java ! Attention le crash ! https://blogs.oracle.com/java/post/java-on-macos-14-4
- Bug à suivre sur https://bugs.java.com/bugdatabase/view_bug?bug_id=8327860.
- A été fixé en 14.4.1 (https://blogs.oracle.com/java/post/java-on-macos-14-4).
- C’était lié à un changement de comportement dans l’exécution de code dynamique (compilé après le lancement du process).
- Au lieu de recevoir le signal
SIGBUS
orSIGSEGV
et de le gérer, le signalSIGKILL
était lancé et forcément ça marchait moins bien. - Apple a corrigé le comportement.
Article de Gunnar Morling sur la nouvelle API de “gatherer” de Java 22, pour améliorer les streams, ici en montrant une implémentation d’un “zipper” qui assemble les éléments de 2 streams 2 à 2 https://www.morling.dev/blog/zipping-gatherer/
- On a déjà parlé des gatherers qui permettent de faire des opérateurs intermédiaires custom par rapport à ce qu’offre le JDK.
- Ici Gunnar montre un
Zipper
qui n’est pas présent par défaut.
Julien Ponge est Java champion, félicitations !
JFR 9 est sorti https://hirt.se/blog/?p=1477
- Peut tourner dans Eclipse.
- Support de ARM64 pour Linux et macOS.
- Dark mode !
- Des améliorations de performance.
- Support GraalVM native image.
- Nouvel afficheur de flame graph.
- G1 pause target compliance.
Librairies
Nouvelle version de Jilt, l’annotation processor qui implémente les builders https://www.endoflineblog.com/jilt-1_5-released
- Évite les hacks à la Lombok.
- Une nouvelle méthode
toBuilder()
pour obtenir un builder d’un bean déjà configuré. - Support des méta-annotations, histoire de pas répéter sur chaque type comment on souhaite définir ses builders.
- Possibilité de mettre l’annotation
@Builder
sur les constructeurs privés. - Support agnostique de
@Nullable
quelle que soit l’origine de cette annotation
Infrastructure
IBM pourrait racheter HashiCorp https://www.reuters.com/markets/deals/ibm-nearing-buyout-deal-hashicorp-wsj-reports-2024-04-23/
- Rien n’est fait.
- HashiCorp a été dans la tourmente après le passage de Terraform en closed source.
- Mais les revenus sont là.
- C’est fait https://www.hashicorp.com/blog/hashicorp-joins-ibm.
Web
Google intègre son framework interne Wiz dans Angular https://blog.angular.io/angular-and-wiz-are-better-together-91e633d8cd5a
- Wiz est un framework interne à Google utilisé dans des produits comme Google Search ou Photos, très axé sur la performance.
- Wiz va amener plus de performance à Angular, tout en gardant la super interactivité d’Angular.
- Wiz historiquement sur la perf et peu d’interactions utilisateur, Angular sur interactions riches et super experience développeur.
- Wiz server side rendering first est streamé, ce qui élimine le javascript dans le chemin de charge initial.
- Des fonctions comme deferred views sont venus vers Angular et signals sont venus à wiz.
- Vont merger au fur et à mesure des prochaines années via Angular comme receptacle open.
Data et Intelligence Artificielle
Redis aussi se met à changer sa licence pour une licence pas tout à fait open source. Un fork nommé Valkey, animé par des mainteneurs de Redis, rejoint la fondation Linux https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community
- AWS, Google, Oracle, Ericsson et Snap sont nommés dans l’effort.
- Open Source fight back mais via des grands acteurs qui ont un intérêt dans la version “gratuite” pour le cloud.
- Les infos de Redis https://redis.com/blog/redis-adopts-dual-source-available-licensing/.
- En gros releasé sous SSPL (comme MongoDB) ou une license spécifique Redis.
- RSAL est une source available license (donc pas open source) et SSPL n’est pas reconnue comme open source par l’OSI car elle impose des restrictions à l’usage.
- Du coup certaines fonctions closed sources deviennent source available.
- Met les cloud providers en cause du problème, ils font de l’argent et commoditisent Redis sans redonner du revenu aux développeurs de Redis.
- Est-ce que les gens seront ok de continuer à coder pour du code pas open, juste disponible ?
- Et évidemment ça casse l’écosystème Redis ou open source qui voulait utiliser Redis en tant qu’open.
- Pas autorisé de faire du support sur un produit qui derive de Redis sans payer une license si c’est “compétitif”.
Elon Musk tient sa promesse et ouvre son Large Language Model, Grok https://x.ai/blog/grok-os
- Modèle de 314 milliards de paramètres (Pi !).
- Architecture MoE (Mixture of Experts) qui fait qu’il n’y a que 25% des neurones actifs à l’inférence (efficace et rapide).
- C’est un modèle “pre-trained”, de base, non-fine-tuné, donc pas très utilisable en l’état (il faut le fine-tuner en mode “instruct” et/ou “chat” pour qu’il soit vraiment utilisable).
- Le code dans le repo Github, ainsi que les poids du réseau de neurones, sont OSS sous licence Apache 2.
- L’entrainement a été effectué avec JAX et Rust !
- La cut-off date est octobre 2023.
Outillage
Oracle lance son extension VSCode pour Java https://devclass.com/2024/03/19/java-22-is-out-and-oracle-is-pushing-its-own-extension-for-vs-code-over-not-very-good-red-hat-alternative/
- Une extension en compétition avec l’extension officielle et historique Java faite par Microsoft et Red Hat.
- Oracle estime l’extension pas trés bonne, car basée sur le compilateur Eclipse.
- 33M de téléchargements quand même.
- La nouvelle s’appuie sur
javac
donc proche de la vérité par définition et en avance par définition de la facon dont Oracle release quand il veut. - Aligné sur le timing de simplification de Java pour les débutants.
Sécurité
Rémi Forax nous partage cet article sur les puces M1/M2/M3 d’Apple, qui utilisent un nouveau prefetcher un peu trop agressif qui permet de leaker les clés utilisées lors des opérations cryptographiques : https://arstechnica.com/security/2024/03/hackers-can-extract-secret-encryption-keys-from-apples-mac-chips/
- Comme d’habitude, pour les side channels attaques de ce type, c’est sur un autre process qui peut tourner sur la machine et être adversaire.
- Lié à un data dependent memory fetcher.
- Dans ce cas, un champ est soit une valeur, soit un pointeur et appel pre-fetch dans le cas où c’est un pointeur.
- Et c’est attaquable en injectant des variables qui ressemblent à des pointeurs vers des données contrôlées et on peut en déduire la clé secrete si cette variable et la clé ont des opérations.
- Mais le code peut désactiver cette optimisation si j’ai bien compris.
L’histoire d’une porte dérobée dans le projet open source XZ qui a failli mettre à mal toutes les connexions sous Open SSH, avec pour tâche de fond la fragilité de projets open source maintenu par des individuels bénévoles à bout de souffle https://uwyn.net/@rusty@piaille.fr/112190942187106096
- Ars Technica détaille l’histoire : https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/.
- https://www.minimachines.net/actu/la-menace-xz-ou-comment-le-ciel-a-failli-tomber-sur-nos-tetes-125967.
Les impacts de laisser trainer son client secret dans les connections Keycloak https://medium.com/@benjaminbuffet/dis-keycloack-cest-grave-si-je-laisse-tra%C3%AEner-mon-client-secret-d371a0f657ee
- Un article qui explique les raisons plutôt que de dire “c’est mal, car c’est secret”.
- Quand on utilise un mot de passe du client (et pas un JWT signé ou une clé privée).
- Si ça se perd, c’est l’usurpation de l’identité d’un utilisateur via son usage de client qui est en jeu (donc joué en tant que).
- Ou usurper l’identité client en tant que telle (plus facile).
- Et quelques conseils pour réduire ce risque.
Loi, société et organisation
JavaOne serait de retour pour de vrai ? https://www.oracle.com/javaone/
- En mars 2025, c’est dans un an, on a le temps !
- Ça se déroulera sur le campus d’Oracle dans la Silicon Valley.
- Peu d’infos et de détails, pas sûr que cela soit le JavaOne de nos souvenirs.
Des infos concretes sur l’IA souveraine Albert https://x.com/emile_marzolf/status/1783072739630121432
AMA, Ask Me Anything
Hamza:
Comment être une rockstar dans le domaine, s’il vous plaît une réponse détaillée sur le plan d’action veille, auto formation, side projets …… depuis vos expériences personnelles. Merci d’avance
Conférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France)
- 8-10 mai 2024 : Devoxx UK - London (UK)
- 16-17 mai 2024 : Newcrafts Paris - Paris (France)
- 22 mai 2024 : OpenInfra Day France - Palaiseau (France)
- 22-25 mai 2024 : Viva Tech - Paris (France)
- 24 mai 2024 : AFUP Day Nancy - Nancy (France)
- 24 mai 2024 : AFUP Day Poitiers - Poitiers (France)
- 24 mai 2024 : AFUP Day Lille - Lille (France)
- 24 mai 2024 : AFUP Day Lyon - Lyon (France)
- 28-29 mai 2024 : Symfony Live Paris - Paris (France)
- 1 juin 2024 : PolyCloud - Montpellier (France)
- 6 juin 2024 : WAX 2024 - Aix-en-Provence (France)
- 6-7 juin 2024 : DevFest Lille - Lille (France)
- 6-7 juin 2024 : Alpes Craft - Grenoble (France)
- 7 juin 2024 : Fork it! Community - Rouen (France)
- 11 juin 2024 : Cloud Toulouse - Toulouse (France)
- 11-12 juin 2024 : OW2con - Paris (France)
- 11-12 juin 2024 : PGDay Lille - Lille (France)
- 12-14 juin 2024 : Rencontres R - Vannes (France)
- 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France)
- 14 juin 2024 : DevQuest - Niort (France)
- 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France)
- 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France)
- 18 juin 2024 : Tech & Wine 2024 - Lyon (France)
- 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France)
- 19-21 juin 2024 : Devoxx Poland - Krakow (Poland)
- 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France)
- 27 juin 2024 : DotJS - Paris (France)
- 27-28 juin 2024 : Agi Lille - Lille (France)
- 4-5 juillet 2024 : Sunny Tech - Montpellier (France)
- 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France)
- 6 septembre 2024 : JUG Summer Camp - La Rochelle (France)
- 6-7 septembre 2024 : Agile Pays Basque - Bidart (France)
- 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online
- 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France)
- 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco)
- 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium)
- 10 octobre 2024 : Cloud Nord - Lille (France)
- 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France)
- 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France)
- 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France)
- 16 octobre 2024 : DotPy - Paris (France)
- 17-18 octobre 2024 : DevFest Nantes - Nantes (France)
- 17-18 octobre 2024 : DotAI - Paris (France)
- 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France)
- 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France)
- 6 novembre 2024 : Master Dev De France - Paris (France)
- 7 novembre 2024 : DevFest Toulouse - Toulouse (France)
- 8 novembre 2024 : BDX I/O - Bordeaux (France)
- 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France)
- 28 novembre 2024 : Who Run The Tech ? - Rennes (France)
- 3-5 décembre 2024 : APIdays Paris - Paris (France)
- 4-5 décembre 2024 : Open Source Experience - Paris (France)
- 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France)
- 16-18 avril 2025 : Devoxx France - Paris (France)
Nous contacter
Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs
Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/