Un live de décollage d'une fusée en direction de la lune, dont les systèmes reposent sur de nombreux logiciels/technologies libre, oui ça me semble cohérent.
Pour la cuisson du poulet, j'avoue, cela n'a rien à faire ici non plus. La preuve: -15
Je pense que cet article prédate systemd (corrigez moi si je me trompe).
En général, j'aime bien mettre le titre original de la page en guise de titre de lien, plutôt qu'une interprétation personnelle, je laisse ainsi chacun se faire son propre avis.
En tout cas, merci de ce repartage, c'est toujours un plaisir de le voir passer. Cet article regorge de ce qui m'a séduit à l'époque sous Linux: tu peux le bidouiller comme tu veux.
Même si aujourd'hui je ne bidouille plus mon système (manque de temps et de motivation), et que je tourne sous Windows, c'est quand même fun à voir.
Une question qui me turlupine quand même, c'est comment intégrer efficacement un SceneGraph et un ECS.
Le but des ECS c'est de stocker les données de manière contigüe en mémoire, afin de gagner en performance lors de l'accès aux données.
On va donc avoir un tableau de "transform", un tableau de "shader", un tableau de "mesh", etc… (tableau dans le sens non-IT du terme, l'implémentation peut être un array, un sparse set, un vector, etc… ce n'est pas de ça que je parle ici quand je dis tableau)
Et on va ensuite avec une fonction "render" qui va itérer sur ces tableaux. Et les caches du CPU seront bien content.
Sauf que un SceneGraph, c'est un graphe acyclique. Donc des pointeurs vers des structures qui contiennent des pointeurs vers d'autres structures.
Je vois alors 2 solutions :
le composant "transform" contient une référence vers le noeud du SceneGraph : mince on doit faire un aller/retour entre le CPU et la RAM, le gain de perf est nullifié
les noeuds du SceneGraph ont une référence vers l'entité, chaque frame on doit vérifier si l'entité existe encore et synchroniser le SceneGraph, puis mettre à jour le composant "transform" de l'entité : aucune idée du coût en performance de faire ça a chaque frame
Quand tu fais du libre et qu'ensuite tu viens de plaindre "mince, les gens profitent des libertés que je leur ai donné, quelle ironie du sort", oui j'estime qu'il ne sait pas ce qu'implique le libre.
pour asséner des "il n'aime pas le libre, il aime l'argent".
Ou est le mal a aimer l'argent ? A vouloir générer un revenu et vivre de son travail ?
Ce que je critique n'est pas son "échec", c'est son incompréhension du libre et des libertés et des conséquences que cela a.
"Je fais du libre, mais que tant que ça rapporte des sous" c'est pas "aimer le libre".
Tu ne vois pas la violence du procédé ?
Aucune violence ici, juste un autre exemple (parmi tant d'autres) que faire un business model autour du libre c'est pas si facile. Beaucoup d'appelés, peu d'élus.
Quand tu veux passer à temps plein sur un projet, tu prends un risque, t'as donc intérêt à être prêt.
Je maintiens qu'il y a 2 ans, il aurait du ouvrir une discussion du style "je vais passer à temps plein sur ce projet, des idées de business model pour rendre le projet rentable histoire que j'y perde pas des plumes ?".
Il est parfaitement acceptable de changer la licence libre pour une licence commerciale, que ce soit maintenant ou il y a 2 ans. Mais il faut aussi se remettre en question sur ce qu'on attend du libre.
Faire du libre pour dire "hé moi je fais du libre t'as vu ?" c'est plus une histoire d'égo en fait.
Comme toujours on est bien plus prompte à tacler ceux qui échouent à maintenir leur projet libre qu'à soutenir et aider.
Je ne critique pas sa décision d'arrêter de faire du libre, je déplore qu'elle arrive si tard.
Je vais me prendre en exemple, lorsque je créé un nouveau projet, il est privé par défaut. Au moment ou se pose la question de le distribuer, je me pose les questions suivantes :
qui est la cible ?
est-ce que cette cible serait prête à payer pour ce projet ?
est-ce que je suis prêt à investir en communication/marketting/… pour tenter d'aller chercher cette cible sans attendre l'effet de bouche-à-oreille ?
est-ce que c'est une niche suffisamment développée pour être rentable ?
est-ce que j'ai des concurrents ? qui sont ils ? comment mon projet se compare à eux ?
si je rend le projet libre, est-ce que je me sens capable de le maintenir dans le temps ? en ai-je envie ? dois-je chercher des repreneurs ?
Et j'en passe bien d'autres. Le choix d'une licence libre est donc un choix conscient et réfléchi. C'est le résultat d'une réflexion, pas une option par défaut.
Ce que je critique, c'est que dans 90% des cas, les "développeurs open-source" n'ont en fait jamais réfléchi à ce que cela veut dire, à ce que leurs licences impliquent. Quand tu créé un dépôt Github, tu dois opt-ou de l'option "publique" et opt-in dans l'option "privé".
Les gens se servent de Github comme d'un port-folio, la ou moi je m'en sers de backup puis d'outil de collaboration. (Parenthèse, je ne comprends pas les gens qui forkent ton projet sans jamais faire de commit, c'est pour faire joli sur leurs profils ?).
Quand rendre publique un projet devient une action supplémentaire et manuelle, la réflexion sur le libre et ses enjeux devient automatique.
J'ai pas mal de "projet perso", certains que je ne finirai jamais, d'autres qui avancent lentement, beaucoup qui ne servent à rien, certains qui pourrait avoir un intérêt dans certaines niches mais dont je ne sais pas encore comme je me place face à la compétition. Ces projets ne sont pas encore opensource, et si je décide de les sortir sous MIT/GPL/… ce sera suite à une réflexion de la sorte.
TL;DR: Réfléchissez avant de faire du libre si vous avez vraiment envie d'en faire.
Le fait que son article parle de ça montre que c'est une de ses préoccupation principale, devant la philosophie du libre. Ce n'est pas un mal. Moi aussi j'aime l'argent.
Tu infères beaucoup de choses à partir de bribes de phrases.
J'infère une seule chose, à partir d'un article complet dont j'ai donné le lien : lorsqu'il a décidé de faire de son projet personnel le produit de sa startup (donc une entreprise dont le but est d'être rentable), il n'a pas réfléchi au business model.
Imagine qu'il ait dit :
J'ai essayé pendant 2 ans un business model, mais je n'ai pas réussi à lui faire tenir la route. Je dois donc, à contre coeur, changer de direction
Non, la ce qu'il a dit c'est :
Personne ne paye parce que j'ai fait un truc gratuit, et même des grosses entreprises en profite alors qu'elles ont beaucoup de sous
Une entreprise qui vient te voir pour me demander d'implémenter des fonctionnalités, tu te rends compte à quel point s'est rare ? Tu te rends compte de la chance, de l'opportunité en or ? C'est le moment parfait pour établir un contrat, et générer du revenue, l'entreprise en sera d'autant plus contente car elle pourra stipuler dans le contrat des garanties qui ne sont pas incluses dans la licence AGPL.
A la place, on présente ça comme une triste ironie du sort "les gens profitent de mon logiciel gratuitement, qui l'eu crut ?".
Je comprends aussi l'envie de changement. Mais cette envie aurait du arriver dès le moment ou il a considéré passer à temps plein sur le projet.
Croire que les gens ne vont pas utiliser les libertés que tu donnes via une licence open source et bien gentiment te financer, c'est au mieux naïf.
Quand tu démarres un business, il faut te poser plusieurs questions, qui seront tes clients ? qu'est-ce qui les motivera à acheter ton produit ? qu'est-ce qui les motivera au contraire à ne pas l'acheter ? etc…
Passer 2 ans à perdre de l'argent pour se rendre compte au final que "les gens ne veulent pas payer pour un truc que je leur donne gratuitement" prouve qu'il ne s'est ni posé les questions ci-dessus, ni n'a considéré les réelles implications de ce qu'est une licence libre/open source.
Le titre de mon commentaire n'a rien de péjoratif. Il n'y a aucun mal a aimer l'argent. Il n'y a aucun mal a vouloir générer un revenu.
Par contre, dire "je fais de l'open source" alors qu'en réalité on n'a pas réfléchi à la question, c'est navrant.
A noter que la bonne réponse à "quand est-ce que c'est dispo ?" de la part d'une entreprise c'est :
Dans 2 semaines à 4000€ par jour, payé d'avance
Chiffre à la noix à titre d'exemple, mais c'est comme ça qu'on génère du revenu.
Une entreprise qui te demande une fonctionnalité, c'est pas un utilisateur lambda qui ouvre un ticket sur Github. Faut négocier avec, faire un contrat, et cash in.
Faire une startup (open-source ou non) ça demande un peu de fibre entrepreneuriale.
I was optimistic when I started the mold linker project that I'd be able to earn a comfortable income in some way if it becomes popular.
J'étais optimiste quand j'ai commencé le projet mold linker que je serais capable de générer un revenu comfortable d'une manière ou d'une autre s'il devenait populaire.
Donc on confond "popularité" et "rentable", déjà c'est mal parti.
Ensuite :
It's even a bit ironic that I had been asked by several big-name companies when mold/macOS would become available, since they wanted to use it for their multi-billion-dollar businesses.
C'est même ironique que j'ai reçu des demandes de différentes grosses entreprises quand mold/macOS serait disponible, puisqu'ils voulaient les utiliser pour leur entreprise multi-milliardaire.
On confond maintenant "un dev d'une grosse entreprise" avec "la grosse entreprise elle même". Je pense pas que le CEO soit au courant, ou en ai quelque chose à faire.
Il est parfaitement acceptable de ne pas faire de l'open-source si on veut générer un revenu et vivre de son projet, rien à redire sur cela.
Mais l'incompréhension du concept "open source" et des libertés que tu es censé donner à tes utilisateurs est navrante…
Tu as un article entier sur une seule page ? La chance.
Sur mobile je tombe souvent sur des sites ou tu as un paragraphe par page avec un bouton "continuer a lire' sur chaque page pour générer un max de clic et de revenu d'annonce.
Donc quand il parle de l'environnement de développement, il parle plutôt d'un environnement d'intégration.
Imagine le workflow suivant :
la branche main est déployée en continu sur l'environnement de dev, le développeur teste son travail
on tag une vX.Y.Z, ce tag est déployé sur la staging, les QA testent l'ensemble de l'application
après validation par les QA, la staging est promu en production
Bien sûr qu'on ne va pas demander au développeur de faire tourner toute l'infra kubernetes sur sa machine. Le développeur est responsable de sa machine.
Dans mon "ça marche sur ma machine" il fallait comprendre "je comprends pas pourquoi ca fonctionne en staging et pas en prod". Si la prod utilise PHP 7.4, ben tu utilise PHP 7.4 partout.
Si un développeur se lance la mission de passer en PHP 8, il commence par sa machine, ensuite on upgrade la staging, puis on upgrade la prod. Avec de "l'Infrastructure as Code" ce process d'upgrade (et de rollback en cas de soucis) devient plus simple.
Comment tu gères tes variables d'environnement pour avoir des conflits ?
Comme je l'ai dit dans un autre commentaire, il te suffit de faire plusieurs unit systemd, ou plusieurs docker run, ou plusieurs k8s pods, ou … différents, même un bête script shell comme suit fait l'affaire :
mais c'est le seul moyen que je voie qui permette d'éviter les collisions.
Un unit systemd permet de définir les variables d'env du process. Docker permet de passer la valeur des variables d'env via l'option -e ou --env-file. Un Pod Kubernetes permet de passer la valeur des variables d'environnement and inline, via un ConfigMap, ou via un Secret. Les plateformes type Heroku, les fonctions Netlify ou AWS Lambda, toutes permettent de définir les valeurs des variables d'environnement.
Dans le cas de systemd, c'est simple : tu fais plusieurs units. Pour docker, c'est un docker run différent. Pour Kubernetes, c'est un Pod différent, etc…
Et c'est toujours la même application qu'on instancie de manière différente. Ou est le conflit ?
Ne pas stocker dans des fichiers parce que c'est local, préférer FTP & co? Idem, pas cohérent.
C'est pas ce que j'ai dit. Et ce n'est pas ce que 12 factors dit. Ce qui est dit c'est qu'il faut déléguer la persistance à un service tier, configurable, et ne pas le hard-coder dans l'application.
Dans le cas de docker, le système de fichier (si pas de volume), c'est un tmpfs (ou équivalent) qui disparaît entre 2 lancements.
Pour faire simple, lorsque tu écris ton application, considère qu'elle sera toujours exécuté sur un tmpfs, et rend paramétrable le lieu de stockage pour que l'ops puisse faire pointer ça vers un volume ou autre.
Je prend l'exemple de postgresql qui utilise la variable d'env PGDATA, que j'utilise avec docker pour le faire pointer vers un volume qui lui sera persisté (sur le disque local pour mon docker-compose de dev, sur un block storage dans le cloud pour kubernetes, etc…).
Dans l'ensemble, de ce que j'ai compris de ce que tu dis, ces 12 "règles" semblent être bien trop vagues pour être utilisables comme règles.
Nulle part sur le site il n'est dit que ce sont des "règles". C'est une philosophie, un ensemble de conseil que tu es libre d'adapter à ton besoin.
Par exemple, pour la numéro 8 (concurrency), j'ai pas de scrupule à utiliser supervisord dans une image docker pour lancer/gérer plusieurs process python (un worker celery, une webapp django), j'utilise le format %(ENV_CELERY_REPLICAS)s et %(ENV_DJANGO_REPLICAS)s pour la valeur de numprocs afin de rendre cela configurable quand même. Ici, 12factor conseille plutôt plusieurs image docker différentes, mais je m'en cogne.
# Hahaha
Posté par David Delassus (site web personnel) . En réponse au lien 2022 was the year of Linux on the Desktop. Évalué à 6. Dernière modification le 27 décembre 2022 à 16:35.
Ou:
Depuis quand le WSL et Docker compte comme usage "desktop" ? A ce rythme la, faut aussi compter Android, les VMs, certains grille-pains ou frigo, etc…
"C'est l'année du bureau Linux, regarde, c'est utilisé partout sauf sur le bureau."
Merci de la tranche de rire et bonnes fêtes de fin d'année ! :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: std::embed
Posté par David Delassus (site web personnel) . En réponse au lien J'embarque les assets de mon jeu dans l'exécutable, voici comment j'ai fait.... Évalué à 4.
Merci pour le lien! Très instructif.
A vrai dire, je suis conscient des problèmes de perf de la solution xxd, mais c'est aussi la plus simple.
Sur ce projet, je suis la philosophie "perfect is the enemy of good enough".
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: appimage?
Posté par David Delassus (site web personnel) . En réponse au lien J'embarque les assets de mon jeu dans l'exécutable, voici comment j'ai fait.... Évalué à 2.
Les appimage c'est spécifique à Linux, et tout sauf portable.
Sous windows cela requiert le WSL et un truc du style Xming
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: On s'en bats les couilles
Posté par David Delassus (site web personnel) . En réponse au lien Le youtubeur Norman Thavaud en garde à vue pour viols et corruption de mineurs. Évalué à 1.
Un live de décollage d'une fusée en direction de la lune, dont les systèmes reposent sur de nombreux logiciels/technologies libre, oui ça me semble cohérent.
Pour la cuisson du poulet, j'avoue, cela n'a rien à faire ici non plus. La preuve: -15
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Paywall
Posté par David Delassus (site web personnel) . En réponse au lien [LWN] Losing the magic. Évalué à 2.
Allez-y moinssez.
C'est vrai qu'après tout dans la vie, tout devrais être gratuit, et essayer de rentabiliser quelque chose est une ignominie capitaliste !
Vraiment des connards ces gens qui mettent un paywall.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Paywall
Posté par David Delassus (site web personnel) . En réponse au lien [LWN] Losing the magic. Évalué à 4.
LWN c'est bien, viens souscrire à un abonnement et aider à supporter le site, on a des cookies (mais pas ceux des brouteurs). :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# TLDR
Posté par David Delassus (site web personnel) . En réponse au lien [LWN] Losing the magic. Évalué à 6.
L'utilisation de "magic number" pour identifier les structures de données du noyaux vont disparaître.
0xDEADBEEF
:(https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: On s'en bats les couilles
Posté par David Delassus (site web personnel) . En réponse au lien Le youtubeur Norman Thavaud en garde à vue pour viols et corruption de mineurs. Évalué à 2.
Pour clarifier : ce genre d'info n'a rien à faire sur LinuxFR.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# On s'en bats les couilles
Posté par David Delassus (site web personnel) . En réponse au lien Le youtubeur Norman Thavaud en garde à vue pour viols et corruption de mineurs. Évalué à 2.
https://www.youtube.com/watch?v=XoDY9vFAaG8
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: 404
Posté par David Delassus (site web personnel) . En réponse à la dépêche VulkanSceneGraph - Un graphe de scène en C++. Évalué à 2.
Nope, c'est du markdown bête et méchant :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# 404
Posté par David Delassus (site web personnel) . En réponse à la dépêche VulkanSceneGraph - Un graphe de scène en C++. Évalué à 3.
Les images des 2 précédents chapitres ne sont plus disponibles :(
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# Old but gold
Posté par David Delassus (site web personnel) . En réponse au lien Mettre emacs à la place de systemd. Évalué à 3.
Je pense que cet article prédate systemd (corrigez moi si je me trompe).
En général, j'aime bien mettre le titre original de la page en guise de titre de lien, plutôt qu'une interprétation personnelle, je laisse ainsi chacun se faire son propre avis.
En tout cas, merci de ce repartage, c'est toujours un plaisir de le voir passer. Cet article regorge de ce qui m'a séduit à l'époque sous Linux: tu peux le bidouiller comme tu veux.
Même si aujourd'hui je ne bidouille plus mon système (manque de temps et de motivation), et que je tourne sous Windows, c'est quand même fun à voir.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Dans une précédente vidéo
Posté par David Delassus (site web personnel) . En réponse au lien Worlds hardest jigsaw vs. puzzle machine (all white). Évalué à 3.
Il a déjà un robot pour peindre ses murs.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# Dans une précédente vidéo
Posté par David Delassus (site web personnel) . En réponse au lien Worlds hardest jigsaw vs. puzzle machine (all white). Évalué à 2.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# Entity Component System
Posté par David Delassus (site web personnel) . En réponse à la dépêche Les graphes de scène. Évalué à 6.
Une question qui me turlupine quand même, c'est comment intégrer efficacement un SceneGraph et un ECS.
Le but des ECS c'est de stocker les données de manière contigüe en mémoire, afin de gagner en performance lors de l'accès aux données.
On va donc avoir un tableau de "transform", un tableau de "shader", un tableau de "mesh", etc… (tableau dans le sens non-IT du terme, l'implémentation peut être un array, un sparse set, un vector, etc… ce n'est pas de ça que je parle ici quand je dis tableau)
Et on va ensuite avec une fonction "render" qui va itérer sur ces tableaux. Et les caches du CPU seront bien content.
Sauf que un SceneGraph, c'est un graphe acyclique. Donc des pointeurs vers des structures qui contiennent des pointeurs vers d'autres structures.
Je vois alors 2 solutions :
Y-a-t-il d'autres solutions ?
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Comme toujours
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 0.
Quand tu fais du libre et qu'ensuite tu viens de plaindre "mince, les gens profitent des libertés que je leur ai donné, quelle ironie du sort", oui j'estime qu'il ne sait pas ce qu'implique le libre.
Ou est le mal a aimer l'argent ? A vouloir générer un revenu et vivre de son travail ?
Ce que je critique n'est pas son "échec", c'est son incompréhension du libre et des libertés et des conséquences que cela a.
"Je fais du libre, mais que tant que ça rapporte des sous" c'est pas "aimer le libre".
Aucune violence ici, juste un autre exemple (parmi tant d'autres) que faire un business model autour du libre c'est pas si facile. Beaucoup d'appelés, peu d'élus.
Quand tu veux passer à temps plein sur un projet, tu prends un risque, t'as donc intérêt à être prêt.
Je maintiens qu'il y a 2 ans, il aurait du ouvrir une discussion du style "je vais passer à temps plein sur ce projet, des idées de business model pour rendre le projet rentable histoire que j'y perde pas des plumes ?".
Il est parfaitement acceptable de changer la licence libre pour une licence commerciale, que ce soit maintenant ou il y a 2 ans. Mais il faut aussi se remettre en question sur ce qu'on attend du libre.
Faire du libre pour dire "hé moi je fais du libre t'as vu ?" c'est plus une histoire d'égo en fait.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Comme toujours
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 2.
Je ne critique pas sa décision d'arrêter de faire du libre, je déplore qu'elle arrive si tard.
Je vais me prendre en exemple, lorsque je créé un nouveau projet, il est privé par défaut. Au moment ou se pose la question de le distribuer, je me pose les questions suivantes :
Et j'en passe bien d'autres. Le choix d'une licence libre est donc un choix conscient et réfléchi. C'est le résultat d'une réflexion, pas une option par défaut.
Ce que je critique, c'est que dans 90% des cas, les "développeurs open-source" n'ont en fait jamais réfléchi à ce que cela veut dire, à ce que leurs licences impliquent. Quand tu créé un dépôt Github, tu dois opt-ou de l'option "publique" et opt-in dans l'option "privé".
Les gens se servent de Github comme d'un port-folio, la ou moi je m'en sers de backup puis d'outil de collaboration. (Parenthèse, je ne comprends pas les gens qui forkent ton projet sans jamais faire de commit, c'est pour faire joli sur leurs profils ?).
Quand rendre publique un projet devient une action supplémentaire et manuelle, la réflexion sur le libre et ses enjeux devient automatique.
J'ai pas mal de "projet perso", certains que je ne finirai jamais, d'autres qui avancent lentement, beaucoup qui ne servent à rien, certains qui pourrait avoir un intérêt dans certaines niches mais dont je ne sais pas encore comme je me place face à la compétition. Ces projets ne sont pas encore opensource, et si je décide de les sortir sous MIT/GPL/… ce sera suite à une réflexion de la sorte.
TL;DR: Réfléchissez avant de faire du libre si vous avez vraiment envie d'en faire.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Quand on croit aimer l'open source, mais qu'en fait on aime l'argent
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 2.
Le fait que son article parle de ça montre que c'est une de ses préoccupation principale, devant la philosophie du libre. Ce n'est pas un mal. Moi aussi j'aime l'argent.
J'infère une seule chose, à partir d'un article complet dont j'ai donné le lien : lorsqu'il a décidé de faire de son projet personnel le produit de sa startup (donc une entreprise dont le but est d'être rentable), il n'a pas réfléchi au business model.
Imagine qu'il ait dit :
Non, la ce qu'il a dit c'est :
Une entreprise qui vient te voir pour me demander d'implémenter des fonctionnalités, tu te rends compte à quel point s'est rare ? Tu te rends compte de la chance, de l'opportunité en or ? C'est le moment parfait pour établir un contrat, et générer du revenue, l'entreprise en sera d'autant plus contente car elle pourra stipuler dans le contrat des garanties qui ne sont pas incluses dans la licence AGPL.
A la place, on présente ça comme une triste ironie du sort "les gens profitent de mon logiciel gratuitement, qui l'eu crut ?".
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Quand on croit aimer l'open source, mais qu'en fait on aime l'argent
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 6.
Je comprends aussi l'envie de changement. Mais cette envie aurait du arriver dès le moment ou il a considéré passer à temps plein sur le projet.
Croire que les gens ne vont pas utiliser les libertés que tu donnes via une licence open source et bien gentiment te financer, c'est au mieux naïf.
Quand tu démarres un business, il faut te poser plusieurs questions, qui seront tes clients ? qu'est-ce qui les motivera à acheter ton produit ? qu'est-ce qui les motivera au contraire à ne pas l'acheter ? etc…
Passer 2 ans à perdre de l'argent pour se rendre compte au final que "les gens ne veulent pas payer pour un truc que je leur donne gratuitement" prouve qu'il ne s'est ni posé les questions ci-dessus, ni n'a considéré les réelles implications de ce qu'est une licence libre/open source.
Le titre de mon commentaire n'a rien de péjoratif. Il n'y a aucun mal a aimer l'argent. Il n'y a aucun mal a vouloir générer un revenu.
Par contre, dire "je fais de l'open source" alors qu'en réalité on n'a pas réfléchi à la question, c'est navrant.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Quand on croit aimer l'open source, mais qu'en fait on aime l'argent
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 8. Dernière modification le 14 novembre 2022 à 05:36.
A noter que la bonne réponse à "quand est-ce que c'est dispo ?" de la part d'une entreprise c'est :
Chiffre à la noix à titre d'exemple, mais c'est comme ça qu'on génère du revenu.
Une entreprise qui te demande une fonctionnalité, c'est pas un utilisateur lambda qui ouvre un ticket sur Github. Faut négocier avec, faire un contrat, et cash in.
Faire une startup (open-source ou non) ça demande un peu de fibre entrepreneuriale.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
# Quand on croit aimer l'open source, mais qu'en fait on aime l'argent
Posté par David Delassus (site web personnel) . En réponse au lien mold linker pourrait changer de licence pour une licence non open-source. Évalué à 6. Dernière modification le 14 novembre 2022 à 05:27.
Dans le texte de la release, on a un lien vers un Google Doc (parce que les blogs, c'est pour les hackers) : https://docs.google.com/document/d/1kiW9qmNlJ9oQZM6r5o4_N54sX5F8_ccwCy0zpGh3MXk/edit
Dedans on peut lire :
Donc on confond "popularité" et "rentable", déjà c'est mal parti.
Ensuite :
On confond maintenant "un dev d'une grosse entreprise" avec "la grosse entreprise elle même". Je pense pas que le CEO soit au courant, ou en ai quelque chose à faire.
Il est parfaitement acceptable de ne pas faire de l'open-source si on veut générer un revenu et vivre de son projet, rien à redire sur cela.
Mais l'incompréhension du concept "open source" et des libertés que tu es censé donner à tes utilisateurs est navrante…
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Triste réalité
Posté par David Delassus (site web personnel) . En réponse au lien Merci LinuxFR d'avoir gardé un design simple, clair, et efficace. Évalué à 9.
Tu as un article entier sur une seule page ? La chance.
Sur mobile je tombe souvent sur des sites ou tu as un paragraphe par page avec un bouton "continuer a lire' sur chaque page pour générer un max de clic et de revenu d'annonce.
Pire qu'un titre putaclic.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Explication
Posté par David Delassus (site web personnel) . En réponse au journal Douze facteurs dans ta tronche. Évalué à 2.
12factor parle de déploiement.
Donc quand il parle de l'environnement de développement, il parle plutôt d'un environnement d'intégration.
Imagine le workflow suivant :
Bien sûr qu'on ne va pas demander au développeur de faire tourner toute l'infra kubernetes sur sa machine. Le développeur est responsable de sa machine.
Dans mon "ça marche sur ma machine" il fallait comprendre "je comprends pas pourquoi ca fonctionne en staging et pas en prod". Si la prod utilise PHP 7.4, ben tu utilise PHP 7.4 partout.
Si un développeur se lance la mission de passer en PHP 8, il commence par sa machine, ensuite on upgrade la staging, puis on upgrade la prod. Avec de "l'Infrastructure as Code" ce process d'upgrade (et de rollback en cas de soucis) devient plus simple.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Explication
Posté par David Delassus (site web personnel) . En réponse au journal Douze facteurs dans ta tronche. Évalué à 2.
Comment tu gères tes variables d'environnement pour avoir des conflits ?
Comme je l'ai dit dans un autre commentaire, il te suffit de faire plusieurs unit systemd, ou plusieurs
docker run
, ou plusieurs k8s pods, ou … différents, même un bête script shell comme suit fait l'affaire :A quel moment on a un conflit, vraiment ?
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Explication
Posté par David Delassus (site web personnel) . En réponse au journal Douze facteurs dans ta tronche. Évalué à 2.
Un unit systemd permet de définir les variables d'env du process. Docker permet de passer la valeur des variables d'env via l'option
-e
ou--env-file
. Un Pod Kubernetes permet de passer la valeur des variables d'environnement and inline, via un ConfigMap, ou via un Secret. Les plateformes type Heroku, les fonctions Netlify ou AWS Lambda, toutes permettent de définir les valeurs des variables d'environnement.Dans le cas de systemd, c'est simple : tu fais plusieurs units. Pour docker, c'est un
docker run
différent. Pour Kubernetes, c'est un Pod différent, etc…Et c'est toujours la même application qu'on instancie de manière différente. Ou est le conflit ?
C'est pas ce que j'ai dit. Et ce n'est pas ce que 12 factors dit. Ce qui est dit c'est qu'il faut déléguer la persistance à un service tier, configurable, et ne pas le hard-coder dans l'application.
Dans le cas de docker, le système de fichier (si pas de volume), c'est un tmpfs (ou équivalent) qui disparaît entre 2 lancements.
Pour faire simple, lorsque tu écris ton application, considère qu'elle sera toujours exécuté sur un tmpfs, et rend paramétrable le lieu de stockage pour que l'ops puisse faire pointer ça vers un volume ou autre.
Je prend l'exemple de postgresql qui utilise la variable d'env PGDATA, que j'utilise avec docker pour le faire pointer vers un volume qui lui sera persisté (sur le disque local pour mon docker-compose de dev, sur un block storage dans le cloud pour kubernetes, etc…).
Nulle part sur le site il n'est dit que ce sont des "règles". C'est une philosophie, un ensemble de conseil que tu es libre d'adapter à ton besoin.
Par exemple, pour la numéro 8 (concurrency), j'ai pas de scrupule à utiliser supervisord dans une image docker pour lancer/gérer plusieurs process python (un worker celery, une webapp django), j'utilise le format
%(ENV_CELERY_REPLICAS)s
et%(ENV_DJANGO_REPLICAS)s
pour la valeur denumprocs
afin de rendre cela configurable quand même. Ici, 12factor conseille plutôt plusieurs image docker différentes, mais je m'en cogne.https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg