Browse Source

Article

master
David Larlet 2 months ago
parent
commit
55416d3531
Signed by: David Larlet <david@larlet.fr> GPG Key ID: 3E2953A359E7E7BD

+ 8
- 0
david/2024/02/15/index.html View File

@@ -152,6 +152,10 @@
title="Aller à la page de recherche"
rel="search" data-no-instant>Recherche</a>
• <a rel="next"
href="/david/2024/02/16/"
title="Publication suivante : uMap&nbsp;2">Suivant →</a>
</p>
</nav>
@@ -249,6 +253,10 @@
<a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a>
• <a rel="next"
href="/david/2024/02/16/"
title="Publication suivante : uMap&nbsp;2">Suivant →</a>
</p>
</nav>


+ 410
- 0
david/2024/02/16/index.html View File

@@ -0,0 +1,410 @@
<!DOCTYPE html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>
uMap&nbsp;2
— David Larlet</title>
<meta name="description" content="But it’s deeper that that. Open source is good for humanity. It’s only slightly hyperbolic to say that open source is one of the most notable collective successes of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live in.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate"
type="application/atom+xml"
title="Feed"
href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon"
sizes="180x180"
href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon"
type="image/png"
sizes="32x32"
href="/static/david/icons2/favicon-32x32.png">
<link rel="icon"
type="image/png"
sizes="16x16"
href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon"
href="/static/david/icons2/safari-pinned-tab.svg"
color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config"
content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color"
content="#f7f7f7"
media="(prefers-color-scheme: light)">
<meta name="theme-color"
content="#272727"
media="(prefers-color-scheme: dark)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2024-02-03.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
crossorigin>
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
crossorigin>
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
crossorigin>
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: dark)"
crossorigin>
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: dark)"
crossorigin>
<link rel="preload"
href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
as="font"
type="font/woff2"
media="(prefers-color-scheme: dark)"
crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>
<style type="text/css">
.tippy-content {
min-width: 280px;
padding: .5rem;
font-size: calc(var(--fluid-0) * 0.8);
font-family: var(--labor-font);
letter-spacing: initial;
text-align: left;
}
.tippy-content h3 {
margin-top: 0;
}
.tippy-content h3 img {
max-width: 2rem;
max-height: 2rem;
display: inline-block;
}
.tippy-content .tippy-links {
display: flex;
justify-content: space-around;
}
.tippy-content a {
padding: .4rem;
color: #F06048;
}
</style>

<body data-instant-intensity="viewport-all">
<article>
<header>
<hgroup>
<h1>uMap&nbsp;2</h1>
<p>Le <time datetime="2024-02-16">16 février 2024</time></p>
</hgroup>
</header>
<nav>
<p>
<a rel="prev"
href="/david/2024/02/15/"
title="Publication précédente : Licence">← Précédent</a> •
<a href="/david/" title="Aller à l’accueil" rel="up">Accueil</a>
<a href="/david/recherche/"
title="Aller à la page de recherche"
rel="search" data-no-instant>Recherche</a>
</p>
</nav>

<blockquote lang="en">
<p>But it’s deeper that that. Open source is <em>good for humanity</em>. It’s only slightly hyperbolic to say that <mark>open source is one of the most notable collective successes</mark> of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live&nbsp;in.</p>
<p><cite><em><a data-link-domain="jacobian.org" href="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/" hreflang="en"
title="Consultation de l’article (anglais)">Paying people to work on open source is good actually</a>
<a href="/david/cache/2024/ad0648259b032d4d0e5a9e6220c3c71e/" hreflang="en"
data-tippy data-description="If you have a problem with maintainers getting paid then you have a problem with me and I suggest you let that one marinate."
data-source="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/"
data-date="2024-02-17"
data-favicon="https://jacobian.org/favicon.ico"
data-domain="jacobian.org"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>J’ai déjà parlé <a href="/david/2024/01/18/" title="Open-source">d’open-source</a>, de <a href="/david/2024/01/31/" title="Mécénat">mécénat</a>, de <a href="/david/2024/02/09/" title="Version">versions</a>, de <a href="/david/2024/02/15/" title="Licence">licences</a>, mais comment se passe une <em>release</em> de produit&nbsp;open-source&#8239;?</p>
<p>On commence à avoir affiné et <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/release/">documenté le processus</a>, on a <a data-link-domain="github.com" href="https://github.com/umap-project/umap-deploy-osmfr">des scripts dédiés</a> pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2&nbsp;à pouvoir faire cela de bout en bout avec <a data-link-domain="yohanboniface.me" href="https://yohanboniface.me/">Yohan</a>. C’est peu mais c’est aussi +100% par rapport à l’année&nbsp;dernière…</p>
<p>Nous n’étions pas très loin de repousser encore une fois la version&nbsp;2&nbsp;car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version&nbsp;3&nbsp;quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi&nbsp;après-midi.</p>
<p>Voilà donc <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/changelog/#200-2024-02-16">un <em>changelog</em></a> déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM =&gt; support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django&nbsp;5 =&gt; Python 3.10). Un beau&nbsp;mélange.</p>
<p>Je ne vais rien annoncer pour une version&nbsp;3&nbsp;car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations <em>personnelles</em>&nbsp;:</p>
<ul>
<li>aller vers une amélioration de&nbsp;l’accessibilité&#8239;;</li>
<li>voir les <a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/tag/umap.html">explorations d’Alexis</a> prendre&nbsp;forme&#8239;;</li>
<li>clarifier les lieux de support / documentation en participant&nbsp;davantage.</li>
</ul>

<blockquote lang="en">
<p>We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “<mark>maintainers shouldn’t be paid by private companies because the government should be supporting them.</mark>” Sure, this sounds great – but <em>governments aren’t doing this!</em> So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with&nbsp;that.</p>
<p><cite><em>Ibid.</em></cite></p>
</blockquote>
<p>Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’<em>open-source</em>, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de&nbsp;bol.</p>
<a href="#hr-73" title="Lien vers cette section de la page"><hr id="hr-73" /></a>

<blockquote lang="en">
<p><a data-link-domain="github.com" href="https://github.com/astral-sh/uv">uv</a> represents a milestone in our pursuit of a “<a data-link-domain="blog.rust-lang.org" href="https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo">Cargo for Python</a>”: a comprehensive Python project and package manager that’s fast, reliable, and easy to&nbsp;use.</p>
<p><cite><em><a data-link-domain="astral.sh" href="https://astral.sh/blog/uv" hreflang="en"
title="Consultation de l’article (anglais)">uv: Python packaging in Rust</a>
<a href="/david/cache/2024/359df603dbf60e8476027b2eb26cb7ce/" hreflang="en"
data-tippy data-description="uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools."
data-source="https://astral.sh/blog/uv"
data-date="2024-02-17"
data-favicon="https://astral.sh/static/favicon-32x32.png"
data-domain="astral.sh"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>Un futur de Python se dessine et j’en apprécie les&nbsp;esquisses.</p>

<nav>
<p>
<a href="/david/2024/commun/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#commun</a>
<a href="/david/2024/decision/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#décision</a>
<a href="/david/2024/opensource/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#opensource</a>
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
</p>
</nav>
<nav>
<p>
<a rel="prev"
href="/david/2024/02/15/"
title="Publication précédente : Licence">← Précédent</a> •
<a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a>
</p>
</nav>

<form action="/david/recherche/" method="get">
<fieldset>
<legend>Recherche</legend>
<label for="input-search">Termes de votre recherche :</label>
<input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
<input type="submit" value="Chercher">
<p id="indexation-infos">
<small>
Seuls les contenus de ces 8 dernières années sont indexés.
</small>
</p>
</fieldset>
</form>
<aside>
<theme-toggle></theme-toggle>
</aside>
</article>
<hr>
<footer>
<p>
<a href="/david/" title="Aller à l’accueil">Accueil</a>
<a href="/david/log/" title="Accès au flux RSS">Suivre</a>
<a href="http://larlet.com"
title="Go to my English profile"
data-instant>Pro</a>
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
</p>
<template id="theme-selector">
<form>
<style type="text/css">
fieldset div {
text-align: center;
}
</style>
<fieldset>
<legend>Thème</legend>
<div>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked>
Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme">
Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme">
Clair
</label>
</div>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
class ThemeToggle extends HTMLElement {
constructor() {
super()
const themeSelectorTemplate = document.querySelector('#theme-selector')
const form = themeSelectorTemplate.content.firstElementChild
this.attachShadow({ mode: 'open' })
this.shadowRoot.appendChild(form.cloneNode(true))
}

connectedCallback() {
const form = this.shadowRoot.querySelector('form')
form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let colorsLayer = undefined
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const layerRule of styleSheet.cssRules) {
if (!(layerRule instanceof CSSLayerBlockRule)) {
continue
}
if (layerRule.name === 'colors') {
colorsLayer = layerRule
}
for (const cssRule of layerRule.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
// Safari requires the `0` second parameter (even if default).
colorsLayer.insertRule(mediaRule.cssText, 0)
hasDarkRules = true
}
}

if (hasDarkRules) {
if ('customElements' in window && !customElements.get('theme-toggle')) {
customElements.define('theme-toggle', ThemeToggle)
}
}
})
</script>
<script src="/static/david/js/popper-2.11.8.min.js"></script>
<script src="/static/david/js/tippy-bundle-6.3.7.umd.min.js"></script>
<script>
tippy('[data-tippy]', {
content(reference) {
reference.addEventListener('click', (e) => e.preventDefault())
return `
<h3 lang="fr">
<img src="${reference.dataset.favicon}" loading="lazy">
<a href="${reference.dataset.source}"
>Article sur ${reference.dataset.domain}</a></h3>
<p lang="${reference.hreflang}"><em>${reference.dataset.description}</em></p>
<div class="tippy-links" lang="fr">
<a href="${reference.href}">Archive au ${reference.dataset.date}</a>
</div>
`
},
allowHTML: true,
interactive: true,
delay: [150, 700],
hideOnClick: false
})
</script>

</body>
</html>

+ 35
- 0
david/2024/_sources/2024-02-16 - uMap 2.md View File

@@ -0,0 +1,35 @@
# uMap 2

> [en] But it’s deeper that that. Open source is *good for humanity*. It’s only slightly hyperbolic to say that ==open source is one of the most notable collective successes== of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live in.
>
> <cite>*[Paying people to work on open source is good actually](https://jacobian.org/2024/feb/16/paying-maintainers-is-good/)*</cite>

J’ai déjà parlé [d’open-source](/david/2024/01/18/), de [mécénat](/david/2024/01/31/), de [versions](/david/2024/02/09/), de [licences](/david/2024/02/15/), mais comment se passe une *release* de produit open-source ?

On commence à avoir affiné et [documenté le processus](https://docs.umap-project.org/en/master/release/), on a [des scripts dédiés](https://github.com/umap-project/umap-deploy-osmfr) pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2 à pouvoir faire cela de bout en bout avec [Yohan](https://yohanboniface.me/). C’est peu mais c’est aussi +100% par rapport à l’année dernière…

Nous n’étions pas très loin de repousser encore une fois la version 2 car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version 3 quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi après-midi.

Voilà donc [un *changelog*](https://docs.umap-project.org/en/master/changelog/#200-2024-02-16) déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM => support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django 5 => Python 3.10). Un beau mélange.

Je ne vais rien annoncer pour une version 3 car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations *personnelles* :

* aller vers une amélioration de l’accessibilité ;
* voir les [explorations d’Alexis](https://blog.notmyidea.org/tag/umap.html) prendre forme ;
* clarifier les lieux de support / documentation en participant davantage.

> [en] We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “==maintainers shouldn’t be paid by private companies because the government should be supporting them.==” Sure, this sounds great – but *governments aren’t doing this!* So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with that.
>
> <cite>*Ibid.*</cite>

Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’*open-source*, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de bol.

---

> [en] [uv](https://github.com/astral-sh/uv) represents a milestone in our pursuit of a “[Cargo for Python](https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo)”: a comprehensive Python project and package manager that’s fast, reliable, and easy to use.
>
> <cite>*[uv: Python packaging in Rust](https://astral.sh/blog/uv)*</cite>

Un futur de Python se dessine et j’en apprécie les esquisses.

#commun #décision #opensource

+ 84
- 0
david/2024/commun/index.html View File

@@ -134,6 +134,90 @@
</p>
</nav>
<h2>
<a href="/david/2024/02/16/" title="Lien permanent vers cet article">uMap&nbsp;2</a> <time datetime="2024-02-16">16 février 2024</time>
</h2>

<blockquote lang="en">
<p>But it’s deeper that that. Open source is <em>good for humanity</em>. It’s only slightly hyperbolic to say that <mark>open source is one of the most notable collective successes</mark> of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live&nbsp;in.</p>
<p><cite><em><a data-link-domain="jacobian.org" href="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/" hreflang="en"
title="Consultation de l’article (anglais)">Paying people to work on open source is good actually</a>
<a href="/david/cache/2024/ad0648259b032d4d0e5a9e6220c3c71e/" hreflang="en"
data-tippy data-description="If you have a problem with maintainers getting paid then you have a problem with me and I suggest you let that one marinate."
data-source="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/"
data-date="2024-02-17"
data-favicon="https://jacobian.org/favicon.ico"
data-domain="jacobian.org"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>J’ai déjà parlé <a href="/david/2024/01/18/" title="Open-source">d’open-source</a>, de <a href="/david/2024/01/31/" title="Mécénat">mécénat</a>, de <a href="/david/2024/02/09/" title="Version">versions</a>, de <a href="/david/2024/02/15/" title="Licence">licences</a>, mais comment se passe une <em>release</em> de produit&nbsp;open-source&#8239;?</p>
<p>On commence à avoir affiné et <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/release/">documenté le processus</a>, on a <a data-link-domain="github.com" href="https://github.com/umap-project/umap-deploy-osmfr">des scripts dédiés</a> pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2&nbsp;à pouvoir faire cela de bout en bout avec <a data-link-domain="yohanboniface.me" href="https://yohanboniface.me/">Yohan</a>. C’est peu mais c’est aussi +100% par rapport à l’année&nbsp;dernière…</p>
<p>Nous n’étions pas très loin de repousser encore une fois la version&nbsp;2&nbsp;car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version&nbsp;3&nbsp;quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi&nbsp;après-midi.</p>
<p>Voilà donc <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/changelog/#200-2024-02-16">un <em>changelog</em></a> déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM =&gt; support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django&nbsp;5 =&gt; Python 3.10). Un beau&nbsp;mélange.</p>
<p>Je ne vais rien annoncer pour une version&nbsp;3&nbsp;car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations <em>personnelles</em>&nbsp;:</p>
<ul>
<li>aller vers une amélioration de&nbsp;l’accessibilité&#8239;;</li>
<li>voir les <a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/tag/umap.html">explorations d’Alexis</a> prendre&nbsp;forme&#8239;;</li>
<li>clarifier les lieux de support / documentation en participant&nbsp;davantage.</li>
</ul>

<blockquote lang="en">
<p>We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “<mark>maintainers shouldn’t be paid by private companies because the government should be supporting them.</mark>” Sure, this sounds great – but <em>governments aren’t doing this!</em> So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with&nbsp;that.</p>
<p><cite><em>Ibid.</em></cite></p>
</blockquote>
<p>Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’<em>open-source</em>, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de&nbsp;bol.</p>
<a href="#hr-73" title="Lien vers cette section de la page"><hr id="hr-73" /></a>

<blockquote lang="en">
<p><a data-link-domain="github.com" href="https://github.com/astral-sh/uv">uv</a> represents a milestone in our pursuit of a “<a data-link-domain="blog.rust-lang.org" href="https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo">Cargo for Python</a>”: a comprehensive Python project and package manager that’s fast, reliable, and easy to&nbsp;use.</p>
<p><cite><em><a data-link-domain="astral.sh" href="https://astral.sh/blog/uv" hreflang="en"
title="Consultation de l’article (anglais)">uv: Python packaging in Rust</a>
<a href="/david/cache/2024/359df603dbf60e8476027b2eb26cb7ce/" hreflang="en"
data-tippy data-description="uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools."
data-source="https://astral.sh/blog/uv"
data-date="2024-02-17"
data-favicon="https://astral.sh/static/favicon-32x32.png"
data-domain="astral.sh"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>Un futur de Python se dessine et j’en apprécie les&nbsp;esquisses.</p>

<nav>
<p>
<a href="/david/2024/commun/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#commun</a>
<a href="/david/2024/decision/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#décision</a>
<a href="/david/2024/opensource/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#opensource</a>
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
</p>
</nav>
<h2>
<a href="/david/2024/02/15/" title="Lien permanent vers cet article">Licence</a> <time datetime="2024-02-15">15 février 2024</time>
</h2>

+ 84
- 0
david/2024/decision/index.html View File

@@ -134,6 +134,90 @@
</p>
</nav>
<h2>
<a href="/david/2024/02/16/" title="Lien permanent vers cet article">uMap&nbsp;2</a> <time datetime="2024-02-16">16 février 2024</time>
</h2>

<blockquote lang="en">
<p>But it’s deeper that that. Open source is <em>good for humanity</em>. It’s only slightly hyperbolic to say that <mark>open source is one of the most notable collective successes</mark> of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live&nbsp;in.</p>
<p><cite><em><a data-link-domain="jacobian.org" href="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/" hreflang="en"
title="Consultation de l’article (anglais)">Paying people to work on open source is good actually</a>
<a href="/david/cache/2024/ad0648259b032d4d0e5a9e6220c3c71e/" hreflang="en"
data-tippy data-description="If you have a problem with maintainers getting paid then you have a problem with me and I suggest you let that one marinate."
data-source="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/"
data-date="2024-02-17"
data-favicon="https://jacobian.org/favicon.ico"
data-domain="jacobian.org"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>J’ai déjà parlé <a href="/david/2024/01/18/" title="Open-source">d’open-source</a>, de <a href="/david/2024/01/31/" title="Mécénat">mécénat</a>, de <a href="/david/2024/02/09/" title="Version">versions</a>, de <a href="/david/2024/02/15/" title="Licence">licences</a>, mais comment se passe une <em>release</em> de produit&nbsp;open-source&#8239;?</p>
<p>On commence à avoir affiné et <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/release/">documenté le processus</a>, on a <a data-link-domain="github.com" href="https://github.com/umap-project/umap-deploy-osmfr">des scripts dédiés</a> pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2&nbsp;à pouvoir faire cela de bout en bout avec <a data-link-domain="yohanboniface.me" href="https://yohanboniface.me/">Yohan</a>. C’est peu mais c’est aussi +100% par rapport à l’année&nbsp;dernière…</p>
<p>Nous n’étions pas très loin de repousser encore une fois la version&nbsp;2&nbsp;car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version&nbsp;3&nbsp;quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi&nbsp;après-midi.</p>
<p>Voilà donc <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/changelog/#200-2024-02-16">un <em>changelog</em></a> déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM =&gt; support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django&nbsp;5 =&gt; Python 3.10). Un beau&nbsp;mélange.</p>
<p>Je ne vais rien annoncer pour une version&nbsp;3&nbsp;car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations <em>personnelles</em>&nbsp;:</p>
<ul>
<li>aller vers une amélioration de&nbsp;l’accessibilité&#8239;;</li>
<li>voir les <a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/tag/umap.html">explorations d’Alexis</a> prendre&nbsp;forme&#8239;;</li>
<li>clarifier les lieux de support / documentation en participant&nbsp;davantage.</li>
</ul>

<blockquote lang="en">
<p>We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “<mark>maintainers shouldn’t be paid by private companies because the government should be supporting them.</mark>” Sure, this sounds great – but <em>governments aren’t doing this!</em> So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with&nbsp;that.</p>
<p><cite><em>Ibid.</em></cite></p>
</blockquote>
<p>Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’<em>open-source</em>, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de&nbsp;bol.</p>
<a href="#hr-73" title="Lien vers cette section de la page"><hr id="hr-73" /></a>

<blockquote lang="en">
<p><a data-link-domain="github.com" href="https://github.com/astral-sh/uv">uv</a> represents a milestone in our pursuit of a “<a data-link-domain="blog.rust-lang.org" href="https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo">Cargo for Python</a>”: a comprehensive Python project and package manager that’s fast, reliable, and easy to&nbsp;use.</p>
<p><cite><em><a data-link-domain="astral.sh" href="https://astral.sh/blog/uv" hreflang="en"
title="Consultation de l’article (anglais)">uv: Python packaging in Rust</a>
<a href="/david/cache/2024/359df603dbf60e8476027b2eb26cb7ce/" hreflang="en"
data-tippy data-description="uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools."
data-source="https://astral.sh/blog/uv"
data-date="2024-02-17"
data-favicon="https://astral.sh/static/favicon-32x32.png"
data-domain="astral.sh"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>Un futur de Python se dessine et j’en apprécie les&nbsp;esquisses.</p>

<nav>
<p>
<a href="/david/2024/commun/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#commun</a>
<a href="/david/2024/decision/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#décision</a>
<a href="/david/2024/opensource/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#opensource</a>
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
</p>
</nav>
<h2>
<a href="/david/2024/02/15/" title="Lien permanent vers cet article">Licence</a> <time datetime="2024-02-15">15 février 2024</time>
</h2>

+ 5
- 4
david/2024/index.html View File

@@ -179,7 +179,8 @@
<a href="/david/2024/02/12/">Renards</a>,
<a href="/david/2024/02/13/">Feutrage</a>,
<a href="/david/2024/02/14/">GéoCodage</a>,
<a href="/david/2024/02/15/">Licence</a>.
<a href="/david/2024/02/15/">Licence</a>,
<a href="/david/2024/02/16/">uMap&nbsp;2</a>.
</p>
@@ -190,9 +191,9 @@
<a href="/david/2024/accompagnement/" rel="tag">#accompagnement (2)</a>,
<a href="/david/2024/addiction/" rel="tag">#addiction (4)</a>,
<a href="/david/2024/apprentissage/" rel="tag">#apprentissage (11)</a>,
<a href="/david/2024/commun/" rel="tag">#commun (5)</a>,
<a href="/david/2024/commun/" rel="tag">#commun (6)</a>,
<a href="/david/2024/communaute/" rel="tag">#communauté (5)</a>,
<a href="/david/2024/decision/" rel="tag">#décision (5)</a>,
<a href="/david/2024/decision/" rel="tag">#décision (6)</a>,
<a href="/david/2024/dependance/" rel="tag">#dépendance (2)</a>,
<a href="/david/2024/documentation/" rel="tag">#documentation (1)</a>,
<a href="/david/2024/dystopie/" rel="tag">#dystopie (1)</a>,
@@ -207,7 +208,7 @@
<a href="/david/2024/ia/" rel="tag">#IA (2)</a>,
<a href="/david/2024/lecture/" rel="tag">#lecture (1)</a>,
<a href="/david/2024/opendata/" rel="tag">#opendata (1)</a>,
<a href="/david/2024/opensource/" rel="tag">#opensource (5)</a>,
<a href="/david/2024/opensource/" rel="tag">#opensource (6)</a>,
<a href="/david/2024/parentalite/" rel="tag">#parentalité (3)</a>,
<a href="/david/2024/partage/" rel="tag">#partage (2)</a>,
<a href="/david/2024/parvenir/" rel="tag">#parvenir (1)</a>,

+ 84
- 0
david/2024/opensource/index.html View File

@@ -134,6 +134,90 @@
</p>
</nav>
<h2>
<a href="/david/2024/02/16/" title="Lien permanent vers cet article">uMap&nbsp;2</a> <time datetime="2024-02-16">16 février 2024</time>
</h2>

<blockquote lang="en">
<p>But it’s deeper that that. Open source is <em>good for humanity</em>. It’s only slightly hyperbolic to say that <mark>open source is one of the most notable collective successes</mark> of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live&nbsp;in.</p>
<p><cite><em><a data-link-domain="jacobian.org" href="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/" hreflang="en"
title="Consultation de l’article (anglais)">Paying people to work on open source is good actually</a>
<a href="/david/cache/2024/ad0648259b032d4d0e5a9e6220c3c71e/" hreflang="en"
data-tippy data-description="If you have a problem with maintainers getting paid then you have a problem with me and I suggest you let that one marinate."
data-source="https://jacobian.org/2024/feb/16/paying-maintainers-is-good/"
data-date="2024-02-17"
data-favicon="https://jacobian.org/favicon.ico"
data-domain="jacobian.org"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>J’ai déjà parlé <a href="/david/2024/01/18/" title="Open-source">d’open-source</a>, de <a href="/david/2024/01/31/" title="Mécénat">mécénat</a>, de <a href="/david/2024/02/09/" title="Version">versions</a>, de <a href="/david/2024/02/15/" title="Licence">licences</a>, mais comment se passe une <em>release</em> de produit&nbsp;open-source&#8239;?</p>
<p>On commence à avoir affiné et <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/release/">documenté le processus</a>, on a <a data-link-domain="github.com" href="https://github.com/umap-project/umap-deploy-osmfr">des scripts dédiés</a> pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2&nbsp;à pouvoir faire cela de bout en bout avec <a data-link-domain="yohanboniface.me" href="https://yohanboniface.me/">Yohan</a>. C’est peu mais c’est aussi +100% par rapport à l’année&nbsp;dernière…</p>
<p>Nous n’étions pas très loin de repousser encore une fois la version&nbsp;2&nbsp;car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version&nbsp;3&nbsp;quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi&nbsp;après-midi.</p>
<p>Voilà donc <a data-link-domain="docs.umap-project.org" href="https://docs.umap-project.org/en/master/changelog/#200-2024-02-16">un <em>changelog</em></a> déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM =&gt; support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django&nbsp;5 =&gt; Python 3.10). Un beau&nbsp;mélange.</p>
<p>Je ne vais rien annoncer pour une version&nbsp;3&nbsp;car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations <em>personnelles</em>&nbsp;:</p>
<ul>
<li>aller vers une amélioration de&nbsp;l’accessibilité&#8239;;</li>
<li>voir les <a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/tag/umap.html">explorations d’Alexis</a> prendre&nbsp;forme&#8239;;</li>
<li>clarifier les lieux de support / documentation en participant&nbsp;davantage.</li>
</ul>

<blockquote lang="en">
<p>We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “<mark>maintainers shouldn’t be paid by private companies because the government should be supporting them.</mark>” Sure, this sounds great – but <em>governments aren’t doing this!</em> So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with&nbsp;that.</p>
<p><cite><em>Ibid.</em></cite></p>
</blockquote>
<p>Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’<em>open-source</em>, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de&nbsp;bol.</p>
<a href="#hr-73" title="Lien vers cette section de la page"><hr id="hr-73" /></a>

<blockquote lang="en">
<p><a data-link-domain="github.com" href="https://github.com/astral-sh/uv">uv</a> represents a milestone in our pursuit of a “<a data-link-domain="blog.rust-lang.org" href="https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo">Cargo for Python</a>”: a comprehensive Python project and package manager that’s fast, reliable, and easy to&nbsp;use.</p>
<p><cite><em><a data-link-domain="astral.sh" href="https://astral.sh/blog/uv" hreflang="en"
title="Consultation de l’article (anglais)">uv: Python packaging in Rust</a>
<a href="/david/cache/2024/359df603dbf60e8476027b2eb26cb7ce/" hreflang="en"
data-tippy data-description="uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools."
data-source="https://astral.sh/blog/uv"
data-date="2024-02-17"
data-favicon="https://astral.sh/static/favicon-32x32.png"
data-domain="astral.sh"
><svg xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="square"
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
<line x1="12" y1="17" x2="12.01" y2="17"></line>
</svg>
<span class="sr-only">[archive]</span></a></em></cite></p>
</blockquote>
<p>Un futur de Python se dessine et j’en apprécie les&nbsp;esquisses.</p>

<nav>
<p>
<a href="/david/2024/commun/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#commun</a>
<a href="/david/2024/decision/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#décision</a>
<a href="/david/2024/opensource/"
title="Liste de tous les articles 2024 associés à cette étiquette"
rel="tag">#opensource</a>
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
</p>
</nav>
<h2>
<a href="/david/2024/02/15/" title="Lien permanent vers cet article">Licence</a> <time datetime="2024-02-15">15 février 2024</time>
</h2>

+ 4
- 3
david/index.html View File

@@ -143,6 +143,7 @@
<h2>Publications 2024</h2>
<p>Liste des publications récentes en ordre anté-chronologique :</p>
<p>
<a href="/david/2024/02/16/">uMap&nbsp;2</a>,
<a href="/david/2024/02/15/">Licence</a>,
<a href="/david/2024/02/14/">GéoCodage</a>,
<a href="/david/2024/02/13/">Feutrage</a>,
@@ -198,9 +199,9 @@
<a href="/david/2024/accompagnement/" rel="tag">#accompagnement (2)</a>,
<a href="/david/2024/addiction/" rel="tag">#addiction (4)</a>,
<a href="/david/2024/apprentissage/" rel="tag">#apprentissage (11)</a>,
<a href="/david/2024/commun/" rel="tag">#commun (5)</a>,
<a href="/david/2024/commun/" rel="tag">#commun (6)</a>,
<a href="/david/2024/communaute/" rel="tag">#communauté (5)</a>,
<a href="/david/2024/decision/" rel="tag">#décision (5)</a>,
<a href="/david/2024/decision/" rel="tag">#décision (6)</a>,
<a href="/david/2024/dependance/" rel="tag">#dépendance (2)</a>,
<a href="/david/2024/documentation/" rel="tag">#documentation (1)</a>,
<a href="/david/2024/dystopie/" rel="tag">#dystopie (1)</a>,
@@ -215,7 +216,7 @@
<a href="/david/2024/ia/" rel="tag">#IA (2)</a>,
<a href="/david/2024/lecture/" rel="tag">#lecture (1)</a>,
<a href="/david/2024/opendata/" rel="tag">#opendata (1)</a>,
<a href="/david/2024/opensource/" rel="tag">#opensource (5)</a>,
<a href="/david/2024/opensource/" rel="tag">#opensource (6)</a>,
<a href="/david/2024/parentalite/" rel="tag">#parentalité (3)</a>,
<a href="/david/2024/partage/" rel="tag">#partage (2)</a>,
<a href="/david/2024/parvenir/" rel="tag">#parvenir (1)</a>,

+ 37
- 41
david/log/index.xml View File

@@ -13,6 +13,43 @@
</author>
<rights>Copyright (c) 2004-2024, David Larlet</rights>
<entry xml:lang="fr">
<title type="html">uMap&amp;nbsp;2</title>
<link href="https://larlet.fr/david/2024/02/16/" rel="alternate" type="text/html" />
<updated>2024-02-16T12:00:00+01:00</updated>
<id>https://larlet.fr/david/2024/02/16/</id>
<summary type="html">

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;But it’s deeper that that. Open source is &lt;em&gt;good for humanity&lt;/em&gt;. It’s only slightly hyperbolic to say that &lt;mark&gt;open source is one of the most notable collective successes&lt;/mark&gt; of humankind as a species! It’s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live&amp;nbsp;in.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://jacobian.org/2024/feb/16/paying-maintainers-is-good/&quot;&gt;Paying people to work on open source is good&amp;nbsp;actually&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J’ai déjà parlé &lt;a href=&quot;https://larlet.fr/david/2024/01/18/&quot;&gt;d’open-source&lt;/a&gt;, de &lt;a href=&quot;https://larlet.fr/david/2024/01/31/&quot;&gt;mécénat&lt;/a&gt;, de &lt;a href=&quot;https://larlet.fr/david/2024/02/09/&quot;&gt;versions&lt;/a&gt;, de &lt;a href=&quot;https://larlet.fr/david/2024/02/15/&quot;&gt;licences&lt;/a&gt;, mais comment se passe une &lt;em&gt;release&lt;/em&gt; de produit&amp;nbsp;open-source&amp;#8239;?&lt;/p&gt;
&lt;p&gt;On commence à avoir affiné et &lt;a href=&quot;https://docs.umap-project.org/en/master/release/&quot;&gt;documenté le processus&lt;/a&gt;, on a &lt;a href=&quot;https://github.com/umap-project/umap-deploy-osmfr&quot;&gt;des scripts dédiés&lt;/a&gt; pour arriver à cela lorsque le moment est venu et nous sommes pour l’instant 2&amp;nbsp;à pouvoir faire cela de bout en bout avec &lt;a href=&quot;https://yohanboniface.me/&quot;&gt;Yohan&lt;/a&gt;. C’est peu mais c’est aussi +100% par rapport à l’année&amp;nbsp;dernière…&lt;/p&gt;
&lt;p&gt;Nous n’étions pas très loin de repousser encore une fois la version&amp;nbsp;2&amp;nbsp;car il y avait un dernier changement majeur à faire passer. Tiraillés, nous avons repoussé cela à une version&amp;nbsp;3&amp;nbsp;quitte à ce qu’elle arrive prochainement. Franchir cette barrière psychologique était important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) était enthousiasmant. En bonus, c’était un vendredi&amp;nbsp;après-midi.&lt;/p&gt;
&lt;p&gt;Voilà donc &lt;a href=&quot;https://docs.umap-project.org/en/master/changelog/#200-2024-02-16&quot;&gt;un &lt;em&gt;changelog&lt;/em&gt;&lt;/a&gt; déjà bien chargé. Nous nous sommes rendu compte au cours du processus que le versionnement était davantage pertinent pour les mainteneur·euses que pour les utilisateur·ices. Les fonctionnalités sont ajoutées au compte-goutte mais il faut prévenir les personnes qui vont mettre à jour l’outil de ce qui pourrait coincer lors du déploiement. Certains changements ont été volontaires (modules ESM =&amp;gt; support navigateurs), d’autres contraints (fin du support de l’authification OpenStreetMap OAuth1), d’autres subis (Django&amp;nbsp;5 =&amp;gt; Python 3.10). Un beau&amp;nbsp;mélange.&lt;/p&gt;
&lt;p&gt;Je ne vais rien annoncer pour une version&amp;nbsp;3&amp;nbsp;car ce serait ajouter une pression inutile et même si on a des intuitions tout est loin d’être priorisé. Dans mes motivations &lt;em&gt;personnelles&lt;/em&gt;&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;aller vers une amélioration de&amp;nbsp;l’accessibilité&amp;#8239;;&lt;/li&gt;
&lt;li&gt;voir les &lt;a href=&quot;https://blog.notmyidea.org/tag/umap.html&quot;&gt;explorations d’Alexis&lt;/a&gt; prendre&amp;nbsp;forme&amp;#8239;;&lt;/li&gt;
&lt;li&gt;clarifier les lieux de support / documentation en participant&amp;nbsp;davantage.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;We have to accept the world as it is – even if it’s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: “&lt;mark&gt;maintainers shouldn’t be paid by private companies because the government should be supporting them.&lt;/mark&gt;” Sure, this sounds great – but &lt;em&gt;governments aren’t doing this!&lt;/em&gt; So this argument reduces to “open source maintainers shouldn’t be paid”. I can’t get on board with&amp;nbsp;that.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;Ibid.&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Étant actuellement payé par l’Agence nationale de la cohésion des territoires pour participer à de l’&lt;em&gt;open-source&lt;/em&gt;, je ne peux qu’approuver cette partie de la citation et être heureux de me trouver là où je suis. Les exceptions existent grâce à une conjonction de volontés, de privilèges et de coups de&amp;nbsp;bol.&lt;/p&gt;
&lt;hr /&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/astral-sh/uv&quot;&gt;uv&lt;/a&gt; represents a milestone in our pursuit of a “&lt;a href=&quot;https://blog.rust-lang.org/2016/05/05/cargo-pillars.html#pillars-of-cargo&quot;&gt;Cargo for Python&lt;/a&gt;”: a comprehensive Python project and package manager that’s fast, reliable, and easy to&amp;nbsp;use.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://astral.sh/blog/uv&quot;&gt;uv: Python packaging in&amp;nbsp;Rust&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Un futur de Python se dessine et j’en apprécie les&amp;nbsp;esquisses.&lt;/p&gt;
&lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/decision/&quot;&gt;#décision&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/opensource/&quot;&gt;#opensource&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>
<entry xml:lang="fr">
<title type="html">Licence</title>
<link href="https://larlet.fr/david/2024/02/15/" rel="alternate" type="text/html" />
@@ -1281,45 +1318,4 @@ quelqu’un nous&amp;nbsp;voit&lt;/p&gt;
&lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/commun/&quot;&gt;#commun&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/decision/&quot;&gt;#décision&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/opensource/&quot;&gt;#opensource&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>
<entry xml:lang="fr">
<title type="html">Vieillesse</title>
<link href="https://larlet.fr/david/2024/01/17/" rel="alternate" type="text/html" />
<updated>2024-01-17T12:00:00+01:00</updated>
<id>https://larlet.fr/david/2024/01/17/</id>
<summary type="html">

&lt;blockquote&gt;
&lt;p&gt;Je travaille dans des équipes techniques informatiques, le web, les nouvelles technologies, les startups. Autour de moi je ne vois que des jeunes, avec quelques rares personnes de ma&amp;nbsp;génération.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;Il n’y a quasiment aucune personne de 50&amp;nbsp;ans ou plus dans les équipes techniques.&lt;/mark&gt; Les exemples que j’ai en tête sont quelques pointures nationales ou internationales, pas du tout représentatives du&amp;nbsp;métier.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://n.survol.fr/n/quand-je-serai-bien-vieux&quot;&gt;Quand je serai bien&amp;nbsp;vieux&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cet onglet d’Éric D. est ouvert dans mon navigateur depuis plus d’un an (rassurez-vous, il était bien entouré avec au moins 300&amp;nbsp;collègues). Le temps passant, je me pose également ces&amp;nbsp;questions…&lt;/p&gt;
&lt;p&gt;Il y a deux&amp;nbsp;aspects&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Jusqu’à quand est-ce que l’on aura besoin de&amp;nbsp;moi&amp;#8239;?&lt;/li&gt;
&lt;li&gt;Jusqu’à quand est-ce que j’aurai besoin de&amp;nbsp;coder&amp;#8239;?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sur la première, j’ai l’impression que l’expérience de base s’accumule et aura toujours une certaine valeur, je ne vois pas vraiment de plateau depuis 25&amp;nbsp;ans mais des centres d’intérêts qui évoluent plutôt en étoile. Certains sont des impasses —&amp;nbsp;ou mis en dormance plus ou moins prolongée&amp;nbsp;—, d’autres sont temporels et/ou gagnent un regain d’intérêt au gré de produits et de rencontres. Ce n’est pas tant d’avoir appris à apprendre que d’avoir croisé suffisamment de situations pour permettre à des équipes de sauter certains fossés ou &lt;em&gt;sentir&lt;/em&gt; lorsqu’il y a un outil / techno / pattern qui vaut le coup. Je ne me sens pas obsolète et encore moins face à une IA-llucinante actuelle qui nécessite cette&amp;nbsp;expérience.&lt;/p&gt;
&lt;p&gt;C’est le deuxième point qui est critique car il touche à l’envie et peut-être que d’ici quelques années la technique m’intéressera moins pour plein de raisons (stagnation, répétition, sentiment d’inutilité, consommation de ressources, etc). Et peut-être que le code ne sera plus alors une expression de ma personnalité à laquelle je voudrai consacrer autant de temps. Et peut-être que je n’aurai plus envie de transmettre non plus à des personnes moins expérimentées pour ces mêmes raisons. Aujourd’hui, derrière ce besoin de coder, il y a cette nécessité d’apprendre en continu et de me sentir capable d’avoir un semblant d’&lt;a href=&quot;https://larlet.fr/david/2024/01/11/&quot;&gt;impact&lt;/a&gt; sur ce&amp;nbsp;monde.&lt;/p&gt;
&lt;p&gt;Je peux aussi considérer que je ne suis qu’à la moitié de ma carrière technique. C’est vertigineux exprimé ainsi. &lt;em&gt;Et pourquoi&amp;nbsp;pas.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;After almost 10&amp;nbsp;years of remote work, it would be close to impossible for me to go back to an&amp;nbsp;office.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://world.hey.com/jorge/aging-programmer-d448bdec&quot;&gt;Aging&amp;nbsp;programmer&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J’ai souvent ce sentiment (je partage les autres points de l’article aussi). Je ne sais pas du tout ce que ça ferait de retourner dans un bureau mais au-delà de cette hypothèse physique, c’est le côté avec subordination / pyramidal que j’ai l’impression d’avoir dépassé sans vraiment de possibilité de retour en arrière. Il n’y a que dans des collectifs bien spécifiques que j’aurais une chance de trouver une place qui me soit&amp;nbsp;acceptable.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Voir aussi &lt;a href=&quot;https://news.ycombinator.com/item?id=32961933&quot;&gt;cette discussion&lt;/a&gt; à ce&amp;nbsp;sujet.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;J’ai de plus en plus de mal avec les légalistes donneurs de leçons qui utilisent le ton le plus anxiogèno-aggressif qui soit. La vieillesse a ceci de bon que je commence à savoir retourner ces situations en interrogeant les intentions et les peurs de ces&amp;nbsp;personnes.&lt;/p&gt;
&lt;hr /&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;The big one is that the logical alternatives to Node – the “no Node” work environments developers are likely to reach for &lt;em&gt;aren’t going to be based on JavaScript&lt;/em&gt;. Import maps mean that browsers effectively have an API surface that non-JS projects can use to build a dependency management system. Much of the tooling surrounding JavaScript is &lt;mark&gt;now implemented in Rust,&lt;/mark&gt; not JS – much of it driven by Deno itself – and that makes it more easily accessible outside both the Node and Deno&amp;nbsp;ecosystems.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.baldurbjarnason.com/2024/disillusioned-with-deno/&quot;&gt;Disillusioned with&amp;nbsp;Deno&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je partage l’analyse de Baldur, l’avenir est à la rouille. De &lt;a href=&quot;https://biomejs.dev/&quot;&gt;Biome&lt;/a&gt; à &lt;a href=&quot;https://docs.astral.sh/ruff/&quot;&gt;Ruff&lt;/a&gt; en passant par &lt;a href=&quot;https://rye-up.com/&quot;&gt;rye&lt;/a&gt; ou &lt;a href=&quot;https://hurl.dev/&quot;&gt;hurl&lt;/a&gt; pour n’en citer que quelques uns, &lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust&lt;/a&gt; est en train de devenir un véritable atout pour tout ce qui est&amp;nbsp;outils-performants-autour-du-web.&lt;/p&gt;
&lt;p&gt;Les (vieilles) mauvaises langues pourraient dire que l’on arrive au bout de la décennie tout-JS, surtout avec l’arrivée de &lt;a href=&quot;https://component-model.bytecodealliance.org/language-support/python.html&quot;&gt;WebAssembly+Python&lt;/a&gt;&amp;nbsp;🤞.&lt;/p&gt;
&lt;nav&gt;&lt;p&gt;&lt;a href=&quot;https://larlet.fr/david/2024/experience/&quot;&gt;#expérience&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/technique/&quot;&gt;#technique&lt;/a&gt; &lt;a href=&quot;https://larlet.fr/david/2024/web/&quot;&gt;#web&lt;/a&gt;&lt;/p&gt;&lt;/nav&gt;&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>
</feed>

+ 12
- 0
david/recherche/index.html View File

@@ -276,6 +276,12 @@
</template>
<script id="search-index" type="application/json">[
{
"title": "uMap&nbsp;2",
"url": "/david/2024/02/16/",
"date": "2024-02-16",
"content": "But it\u2019s deeper that that. Open source is good for humanity. It\u2019s only slightly hyperbolic to say that open source is one of the most notable collective successes of humankind as a species! It\u2019s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live\u00a0in. Paying people to work on open source is good\u00a0actually J\u2019ai d\u00e9j\u00e0 parl\u00e9 d\u2019open-source, de m\u00e9c\u00e9nat, de versions, de licences, mais comment se passe une release de produit\u00a0open-source\u202f? On commence \u00e0 avoir affin\u00e9 et document\u00e9 le processus, on a des scripts d\u00e9di\u00e9s pour arriver \u00e0 cela lorsque le moment est venu et nous sommes pour l\u2019instant 2\u00a0\u00e0 pouvoir faire cela de bout en bout avec Yohan. C\u2019est peu mais c\u2019est aussi +100% par rapport \u00e0 l\u2019ann\u00e9e\u00a0derni\u00e8re\u2026 Nous n\u2019\u00e9tions pas tr\u00e8s loin de repousser encore une fois la version\u00a02\u00a0car il y avait un dernier changement majeur \u00e0 faire passer. Tiraill\u00e9s, nous avons repouss\u00e9 cela \u00e0 une version\u00a03\u00a0quitte \u00e0 ce qu\u2019elle arrive prochainement. Franchir cette barri\u00e8re psychologique \u00e9tait important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) \u00e9tait enthousiasmant. En bonus, c\u2019\u00e9tait un vendredi\u00a0apr\u00e8s-midi. Voil\u00e0 donc un changelog d\u00e9j\u00e0 bien charg\u00e9. Nous nous sommes rendu compte au cours du processus que le versionnement \u00e9tait davantage pertinent pour les mainteneur\u00b7euses que pour les utilisateur\u00b7ices. Les fonctionnalit\u00e9s sont ajout\u00e9es au compte-goutte mais il faut pr\u00e9venir les personnes qui vont mettre \u00e0 jour l\u2019outil de ce qui pourrait coincer lors du d\u00e9ploiement. Certains changements ont \u00e9t\u00e9 volontaires (modules ESM => support navigateurs), d\u2019autres contraints (fin du support de l\u2019authification OpenStreetMap OAuth1), d\u2019autres subis (Django\u00a05 => Python 3.10). Un beau\u00a0m\u00e9lange. Je ne vais rien annoncer pour une version\u00a03\u00a0car ce serait ajouter une pression inutile et m\u00eame si on a des intuitions tout est loin d\u2019\u00eatre prioris\u00e9. Dans mes motivations personnelles\u00a0: aller vers une am\u00e9lioration de\u00a0l\u2019accessibilit\u00e9\u202f; voir les explorations d\u2019Alexis prendre\u00a0forme\u202f; clarifier les lieux de support / documentation en participant\u00a0davantage. We have to accept the world as it is \u2013 even if it\u2019s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: \u201cmaintainers shouldn\u2019t be paid by private companies because the government should be supporting them.\u201d Sure, this sounds great \u2013 but governments aren\u2019t doing this! So this argument reduces to \u201copen source maintainers shouldn\u2019t be paid\u201d. I can\u2019t get on board with\u00a0that. Ibid. \u00c9tant actuellement pay\u00e9 par l\u2019Agence nationale de la coh\u00e9sion des territoires pour participer \u00e0 de l\u2019open-source, je ne peux qu\u2019approuver cette partie de la citation et \u00eatre heureux de me trouver l\u00e0 o\u00f9 je suis. Les exceptions existent gr\u00e2ce \u00e0 une conjonction de volont\u00e9s, de privil\u00e8ges et de coups de\u00a0bol. uv represents a milestone in our pursuit of a \u201cCargo for Python\u201d: a comprehensive Python project and package manager that\u2019s fast, reliable, and easy to\u00a0use. uv: Python packaging in\u00a0Rust Un futur de Python se dessine et j\u2019en appr\u00e9cie les\u00a0esquisses."
},
{
"title": "Licence",
"url": "/david/2024/02/15/",
@@ -552,6 +558,12 @@
"date": "2024-01-01",
"content": "33\u202f% de 44\u00a0millions de consommateurs vont faire le Dry January 22\u202f% des consommateurs ont une conso excessive, c\u2019est-\u00e0-dire 10\u00a0verres/semaine max et plus de deux\u00a0verres/jour. Les seniors sont aussi tr\u00e8s touch\u00e9\u00b7es. L\u2019alcool est une drogue.. On peut faire la f\u00eate sans alcool et\u00a0s\u2019\u00e9clater. Quand on arr\u00eate\u00a0: bienfaits sur le foie, la peau, le coeur, etc\u2026 Pb\u00a0: m\u00e9moire, troubles cognitifs, responsable de cancer, pb sommeil, d\u00e9compensation de maladie psy,\u2026 41000\u00a0d\u00e9c\u00e8s par an en\u00a0France. Les cinq sympt\u00f4mes d\u00e9finissent un probl\u00e8me de\u00a0d\u00e9pendance\u00a0: Perte de\u00a0contr\u00f4le Usage\u00a0compulsif Envie\u00a0r\u00e9pressive Usage\u00a0chronique Cons\u00e9quences psychiques, physiques, sociales,\u2026 Bon Dry J. pour celleux qui le font\u202f! Moi j\u2019en\u00a0suis\u202f! @Air@framapiaf.org Dans mon entourage, de plus en plus de personnes que j\u2019estime ne boivent pas d\u2019alcool, de plus en plus de personnes qui vieillissent en deviennent d\u00e9pendantes. Je suis davantage attir\u00e9 par la premi\u00e8re option\u2026 et pas pour un seul\u00a0mois. Je me sens pr\u00eat, on verra bien o\u00f9 cela me\u00a0m\u00e8ne. Grosse envie de reprendre la CSS par ici en ce d\u00e9but d\u2019ann\u00e9e. Avec le dilemme de faire chuter cette motivation si je publie d\u00e8s maintenant avec l\u2019ancienne (qui restera effective sur les anciens articles). Je vais essayer de me\u00a0retenir."
},
{
"title": "uMap&nbsp;2",
"url": "/david/2024/02/16/",
"date": "2024-02-16",
"content": "But it\u2019s deeper that that. Open source is good for humanity. It\u2019s only slightly hyperbolic to say that open source is one of the most notable collective successes of humankind as a species! It\u2019s one of the few places where essentially all of humanity works together on something that benefits everyone. A world without open source would be substantially worse than the world we live\u00a0in. Paying people to work on open source is good\u00a0actually J\u2019ai d\u00e9j\u00e0 parl\u00e9 d\u2019open-source, de m\u00e9c\u00e9nat, de versions, de licences, mais comment se passe une release de produit\u00a0open-source\u202f? On commence \u00e0 avoir affin\u00e9 et document\u00e9 le processus, on a des scripts d\u00e9di\u00e9s pour arriver \u00e0 cela lorsque le moment est venu et nous sommes pour l\u2019instant 2\u00a0\u00e0 pouvoir faire cela de bout en bout avec Yohan. C\u2019est peu mais c\u2019est aussi +100% par rapport \u00e0 l\u2019ann\u00e9e\u00a0derni\u00e8re\u2026 Nous n\u2019\u00e9tions pas tr\u00e8s loin de repousser encore une fois la version\u00a02\u00a0car il y avait un dernier changement majeur \u00e0 faire passer. Tiraill\u00e9s, nous avons repouss\u00e9 cela \u00e0 une version\u00a03\u00a0quitte \u00e0 ce qu\u2019elle arrive prochainement. Franchir cette barri\u00e8re psychologique \u00e9tait important pour la suite. Le faire en visio de bout en bout (comme une bonne partie de nos interactions sur le produit) \u00e9tait enthousiasmant. En bonus, c\u2019\u00e9tait un vendredi\u00a0apr\u00e8s-midi. Voil\u00e0 donc un changelog d\u00e9j\u00e0 bien charg\u00e9. Nous nous sommes rendu compte au cours du processus que le versionnement \u00e9tait davantage pertinent pour les mainteneur\u00b7euses que pour les utilisateur\u00b7ices. Les fonctionnalit\u00e9s sont ajout\u00e9es au compte-goutte mais il faut pr\u00e9venir les personnes qui vont mettre \u00e0 jour l\u2019outil de ce qui pourrait coincer lors du d\u00e9ploiement. Certains changements ont \u00e9t\u00e9 volontaires (modules ESM => support navigateurs), d\u2019autres contraints (fin du support de l\u2019authification OpenStreetMap OAuth1), d\u2019autres subis (Django\u00a05 => Python 3.10). Un beau\u00a0m\u00e9lange. Je ne vais rien annoncer pour une version\u00a03\u00a0car ce serait ajouter une pression inutile et m\u00eame si on a des intuitions tout est loin d\u2019\u00eatre prioris\u00e9. Dans mes motivations personnelles\u00a0: aller vers une am\u00e9lioration de\u00a0l\u2019accessibilit\u00e9\u202f; voir les explorations d\u2019Alexis prendre\u00a0forme\u202f; clarifier les lieux de support / documentation en participant\u00a0davantage. We have to accept the world as it is \u2013 even if it\u2019s not the world we want. This means we have to be okay with the idea that maintainers need to be paid. Far too often I see arguments like: \u201cmaintainers shouldn\u2019t be paid by private companies because the government should be supporting them.\u201d Sure, this sounds great \u2013 but governments aren\u2019t doing this! So this argument reduces to \u201copen source maintainers shouldn\u2019t be paid\u201d. I can\u2019t get on board with\u00a0that. Ibid. \u00c9tant actuellement pay\u00e9 par l\u2019Agence nationale de la coh\u00e9sion des territoires pour participer \u00e0 de l\u2019open-source, je ne peux qu\u2019approuver cette partie de la citation et \u00eatre heureux de me trouver l\u00e0 o\u00f9 je suis. Les exceptions existent gr\u00e2ce \u00e0 une conjonction de volont\u00e9s, de privil\u00e8ges et de coups de\u00a0bol. uv represents a milestone in our pursuit of a \u201cCargo for Python\u201d: a comprehensive Python project and package manager that\u2019s fast, reliable, and easy to\u00a0use. uv: Python packaging in\u00a0Rust Un futur de Python se dessine et j\u2019en appr\u00e9cie les\u00a0esquisses."
},
{
"title": "Licence",
"url": "/david/2024/02/15/",

Loading…
Cancel
Save