@@ -0,0 +1,443 @@ | |||
<!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>What makes writing more readable? (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- 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)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_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> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://pudding.cool/2022/02/plain/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>What makes writing more readable?</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://pudding.cool/2022/02/plain/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<div class="toggle svelte-1k1jl04"><p class="sr-only">The following is a toggle that allows you to change whether the text is standard or translated | |||
into plain language. Press the p key at any time to switch between standard and plain language | |||
versions of the article. If you are using a screen reader, you will need to disable your the quick | |||
navigation keyboard commands in order for the P key to function. | |||
</p> | |||
<p class="toggle toggle--inner svelte-1nyzcas"><span class="label svelte-1nyzcas" id="toggle-471912">Plain Language</span> | |||
<button role="switch" aria-checked="false" aria-labelledby="toggle-471912" class="svelte-1nyzcas"><span class="svelte-1nyzcas">on</span> | |||
<span class="svelte-1nyzcas">off</span></button></p> | |||
<p aria-hidden class="use-keyboard plain-style svelte-1nyzcas">(Or use the "p" key)</p></div> | |||
<section id="part-1" class="svelte-192zsyu"> | |||
<div class="sr-only"><p>Writing text that can be understood by as many people as possible seems like an obvious best practice. But from news media to legal guidance to academic research, the way we write often creates barriers to who can read it. Plain language—a style of writing that uses simplified sentences, everyday vocabulary, and clear structure—aims to remove those barriers.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Writing text that can be understood by as many people as possible seems like an obvious best practice. But from news media to legal guidance to academic research, the way we write often creates barriers to who can read it. Plain language—a style of writing that uses simplified sentences, everyday vocabulary, and clear structure—aims to remove those barriers.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Good writing is easy to read. But a lot of writing is hard to read. Some people can’t read hard writing. Plain language fixes this problem. It makes writing easy to read for more people.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p><span class="tap-icon"></span><strong>You can see it in action right here!</strong> Click the text next to each paragraph to read it in <span class="plain-style">plain language</span>.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv"><span class="tap-icon"></span><strong>You can see it in action right here!</strong> Click the text next to each paragraph to read it in <span class="plain-style">plain language</span>.</p></div> | |||
</div><div class="sr-only"><p>You can also use the toggle on the top right to switch <strong>everything</strong> to <span class="plain-style">plain language</span>. Or use the <span class="plain-style">“p”</span> key on your keyboard.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv">You can also use the toggle on the top right to switch <strong>everything</strong> to <span class="plain-style">plain language</span>. Or use the <span class="plain-style">“p”</span> key on your keyboard.</p></div> | |||
</div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Plain language is useful for everyone, but especially for those who are often denied the opportunity to engage with and comment on public writing. This includes the <a href="https://www.ncld.org/research/state-of-learning-disabilities">20% of the population with learning disabilities</a>, a number of the <a href="https://ici-s.umn.edu/files/aCHyYaFjMi/risp_2017">more than 7 million people in the US</a> with intellectual disabilities (ID), readers for whom English is not a first language and people with limited access to education, among others.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Plain language is helpful for everyone. But it is really good for people who may find other kinds of writing hard to read. That includes:</p><ul><li>People with learning disabilities.</li><li>People with intellectual disabilities (ID).</li><li>People who are learning to speak English.</li><li>People who did not go to school or went to school less than they wanted to.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>These audiences are routinely excluded from public dialogues, including dialogues about themselves. People with disabilities are also often excluded from writing or sharing their own stories first-hand due to lower vocabulary skills, learning differences, and intellectual disabilities. For example, throughout much of US history, people with ID <a href="https://ncd.gov/sites/default/files/NCD_Turning-Rights-into-Reality_508_0.pdf">have had decisions made on their behalf</a> based on the presumption that they do not and cannot understand. This, on top of discriminatory attitudes and stigma, has led to <a href="https://www.google.com/url?q=http://nosmag.org/mental-age-theory-hurts-people-with-intellectual-disabilities/&sa=D&source=docs&ust=1641598391812179&usg=AOvVaw1oFiTrpzcEMoYjnn3cB96G">infantilization</a>, <a href="https://journals.sagepub.com/doi/full/10.1177/1744629518767001">institutionalization and eugenic sterilization</a>.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">These audiences are routinely excluded from public dialogues, including dialogues about themselves. People with disabilities are also often excluded from writing or sharing their own stories first-hand due to lower vocabulary skills, learning differences, and intellectual disabilities. For example, throughout much of US history, people with ID <a href="https://ncd.gov/sites/default/files/NCD_Turning-Rights-into-Reality_508_0.pdf">have had decisions made on their behalf</a> based on the presumption that they do not and cannot understand. This, on top of discriminatory attitudes and stigma, has led to <a href="https://www.google.com/url?q=http://nosmag.org/mental-age-theory-hurts-people-with-intellectual-disabilities/&sa=D&source=docs&ust=1641598391812179&usg=AOvVaw1oFiTrpzcEMoYjnn3cB96G">infantilization</a>, <a href="https://journals.sagepub.com/doi/full/10.1177/1744629518767001">institutionalization and eugenic sterilization</a>.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">These groups of people get left out of the conversation a lot. Even when the conversation is about them.</p><p class="svelte-1xg41jv">For example, many people think people with ID don’t understand how to make choices for themselves. Nondisabled people make choices for them. These choices sometimes hurt people with ID. Throughout history, many people with ID have been:</p><ul><li>Treated like children.</li><li>Forced to live in institutions, group homes, and nursing homes.</li><li>Forced to have surgery so they could not have children.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>Additionally, there is a tendency to censor content for these audiences rather than explain it, which can contribute to continued disparities, like the <a href="https://thearc.org/wp-content/uploads/forchapters/Sexual%20Violence.pdf">higher rate</a> at which people with ID experience sexual violence than nondisabled people.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Additionally, there is a tendency to censor content for these audiences rather than explain it, which can contribute to continued disparities, like the <a href="https://thearc.org/wp-content/uploads/forchapters/Sexual%20Violence.pdf">higher rate</a> at which people with ID experience sexual violence than nondisabled people.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Writers will censor writing for these groups. To censor something means to take out information the writer thinks is not appropriate. Taking out information can make some problems worse.</p><p class="svelte-1xg41jv">For example, people with ID experience sexual violence more than nondisabled people. But some writers think people with ID should not read about sex or sexual violence. So, readers don’t have all the information they need.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>The benefits of plain language aren’t limited to universally challenging texts like legal documents and tax forms. Even everyday writing, like news articles, can still pose a barrier for some readers.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The benefits of plain language aren’t limited to universally challenging texts like legal documents and tax forms. Even everyday writing, like news articles, can still pose a barrier for some readers.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Some kinds of writing are hard for everyone to read, like tax forms. But everyday writing, like the news, can be hard to read too.</p> | |||
</button></div> | |||
</div><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h2 class="text svelte-1xg41jv">How does a human assess readability?</h2></p> | |||
</div><div class="sr-only"><p>Let’s walk through how Rebecca, an expert in plain language, translates a text to be more readable. We'll use an excerpt from her <a href="https://www.propublica.org/article/arizona-promised-to-help-people-with-developmental-disabilities-but-some-had-to-wait-a-long-time-some-did-not-get-help-at-all-plain-text">translation</a> of a <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">ProPublica article</a> by Amy Silverman in the following example.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Let’s walk through how Rebecca, an expert in plain language, translates a text to be more readable. We'll use an excerpt from her <a href="https://www.propublica.org/article/arizona-promised-to-help-people-with-developmental-disabilities-but-some-had-to-wait-a-long-time-some-did-not-get-help-at-all-plain-text">translation</a> of a <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">ProPublica article</a> by Amy Silverman in the following example.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Here is an example for how to make writing easier to read. Rebecca wrote this example. She is an expert in plain language. This quote is from a news article. Amy Silverman wrote it for ProPublica. Rebecca wrote it in plain language.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p><span class="tap-icon"></span><strong>Read the translation below.</strong> Click the <span class="highlight">highlights</span> to see what Rebecca thinks.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv"><span class="tap-icon"></span><strong>Read the translation below.</strong> Click the <span class="highlight">highlights</span> to see what Rebecca thinks.</p></div> | |||
</div><figure><figcaption class="sr-only">An example of translating text from standard to plain language where you can select Rebecca's | |||
comments to learn more about her translation process. | |||
</figcaption> | |||
<h3 class="svelte-1yv5b92">Plain language translating: side-by-side comparison</h3> | |||
<div class="container svelte-1yv5b92"><div class="texts svelte-1yv5b92"> | |||
<div class="after svelte-1yv5b92"><p class="head svelte-1yv5b92">PLAIN LANGUAGE</p> | |||
<p class="plain-style svelte-1yv5b92"><span class="after-step" id="after-0">Kyra is autistic and deaf.</span> <span class="after-step" id="after-1">She was born early.</span> <span class="after-step" id="after-2">She was very small when she was born.</span> <span class="after-step" id="after-3">She has trouble seeing, hearing, eating and sleeping.</span> <span class="after-step" id="after-4">Her hand shakes so she does not do sign language.</span> <span class="after-step" id="after-5">Her parents think she knows some signs.</span></p></div></div> | |||
<p class="description-title svelte-1yv5b92">Rebecca's comments</p> | |||
</div> | |||
<div class="sr-only"><p>Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p> | |||
</button></div> | |||
</div> | |||
</figure><details class="svelte-192zsyu"><summary class="svelte-192zsyu">More about Rebecca’s translation process</summary> | |||
<div class="sr-only"><p>When doing a plain language translation, my first step is always to do a close read of the original text. I identify the main points, the order information is presented, and any terms or concepts that I think will need to be defined or replaced. I always think to myself “what does this sentence/idea/concept assume the reader already knows?” There is so much implied in how we write, and plain language should aim to make the implicit more explicit.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">When doing a plain language translation, my first step is always to do a close read of the original text. I identify the main points, the order information is presented, and any terms or concepts that I think will need to be defined or replaced. I always think to myself “what does this sentence/idea/concept assume the reader already knows?” There is so much implied in how we write, and plain language should aim to make the implicit more explicit.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">My first step is to read the whole paragraph. I look for:</p><ul><li>The main points.</li><li>The order things are written in.</li><li>Any words or ideas that I will need to explain.</li> | |||
</ul><p class="svelte-1xg41jv">A lot of writing assumes the reader already knows something about the topic. Plain language should not assume that. I will explain things fully.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Once I start translating, I typically take a paragraph-by-paragraph approach rather than sentence-by-sentence, because often I will need to re-order information, add definitions or examples, or reintroduce characters and ideas at the top of a new paragraph. Focusing too much on the sentence-level translation can mean losing sight of the bigger picture.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Once I start translating, I typically take a paragraph-by-paragraph approach rather than sentence-by-sentence, because often I will need to re-order information, add definitions or examples, or reintroduce characters and ideas at the top of a new paragraph. Focusing too much on the sentence-level translation can mean losing sight of the bigger picture.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">When I write something in plain language, I don’t take every sentence from the original writing. I look at the big ideas. I:</p><ul><li>Put things in a different order.</li><li>Add definitions and examples.</li><li>Remind the reader about key characters and ideas.</li> | |||
</ul> | |||
</button></div> | |||
</div> | |||
</details> | |||
</section> | |||
<section id="part-2" class="svelte-192zsyu"><h2 class="svelte-192zsyu">How do algorithms try to assess readability?</h2> | |||
<div class="sr-only"><p>As more people have recognized the practical value of plain language, researchers have sought to quantify the “plainness” of writing through readability formulas—mathematical models that assign numerical scores to text, indicating how understandable they are.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">As more people have recognized the practical value of plain language, researchers have sought to quantify the “plainness” of writing through readability formulas—mathematical models that assign numerical scores to text, indicating how understandable they are.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Researchers try to measure how easy something is to read. They use math to give the writing a score. The score tells us how easy something is to read. These are called “readability scores.”</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Though most readability formulas were designed to offer rough difficulty estimates for specific groups of readers, their usage varies greatly, with the Agency for Healthcare Research and Quality <a href="https://www.ahrq.gov/talkingquality/resources/writing/tip6.html">warning</a> that “these formulas are often interpreted and used in ways that go well beyond what they measure.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Though most readability formulas were designed to offer rough difficulty estimates for specific groups of readers, their usage varies greatly, with the Agency for Healthcare Research and Quality <a href="https://www.ahrq.gov/talkingquality/resources/writing/tip6.html">warning</a> that “these formulas are often interpreted and used in ways that go well beyond what they measure.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Readability scores just give us an “estimate” about how hard something is to read. That means the scores are not perfect. But they give us a good idea about how hard it might be for different groups of people to read something.</p><p class="svelte-1xg41jv">But the Agency for Healthcare Research and Quality said, “these formulas are often interpreted and used in ways that go well beyond what they measure.” This quote means people use these scores in ways they were not made to be used.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Moreover, the simplicity of readability checkers has enabled their widespread adoption. Military engineers use them to help write technical documents. Governments and doctors use them to guide communication for a general audience. Schools and textbook manufacturers use them to tailor reading assignments to particular grade levels and students.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Moreover, the simplicity of readability checkers has enabled their widespread adoption. Military engineers use them to help write technical documents. Governments and doctors use them to guide communication for a general audience. Schools and textbook manufacturers use them to tailor reading assignments to particular grade levels and students.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Readability scores are easy to understand. Many people use these scores to help them write. Some groups that use readability scores are:</p><ul><li>The military.</li><li>The government.</li><li>Doctors.</li><li>Schools.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>To better understand how readability scores work—and how they can fail—let’s look at three representative examples.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">To better understand how readability scores work—and how they can fail—let’s look at three representative examples.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Let’s look at three examples of readability scores. They can help us understand how these scores work and how they can fail.</p> | |||
</button></div> | |||
</div><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #1: Syllable Count</h3></p> | |||
</div><div class="sr-only"><p>The Flesch-Kincaid Grade level formula looks, in part, at syllable count, based on the idea that words with fewer syllables are easier to understand.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The Flesch-Kincaid Grade level formula looks, in part, at syllable count, based on the idea that words with fewer syllables are easier to understand.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">The Flesch-Kincaid formula measures two things:</p><ul><li>How long words are.</li><li>How many words are in a sentence.</li> | |||
</ul><p class="svelte-1xg41jv">The formula says the shorter the words and sentence, the easier it is to read.</p> | |||
</button></div> | |||
</div><figure class="container svelte-18drwk1"><figcaption class="sr-only">An interactive showing what the Flesch-Kincaid algorithm considers a easy, medium, and hard | |||
sentence. The algorithm deems sentences with lower syllable counts to be easier, so when long | |||
multisyllabic words are added (even if they are easy words), the algorithm says it's a hard | |||
sentence. If we add short but obscure words, the algorithm thinks it's an easier sentence. We | |||
see that the Flesch-Kincaid algorithm isn't able to handle much complexity when it comes to | |||
assessing readability.</figcaption> | |||
<h3 class="svelte-18drwk1">What happens if we only care about <strong>syllables</strong></h3> | |||
<p class="reading-level svelte-18drwk1">The below text is at a <span class="grade svelte-18drwk1">2.34 (2nd grade)</span> | |||
grade reading level according to Flesch-Kincaid</p> | |||
<div class="container svelte-9tsnz9"><p class="spacer svelte-9tsnz9">The quick brown fox jumped over the lazy dog.</p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-0">The </span><span id="Flesch-Kincaid-dun-0">dun </span><span id="Flesch-Kincaid-fox-0">fox </span><span id="Flesch-Kincaid-cleared-0">cleared </span><span id="Flesch-Kincaid-that-0">that </span><span id="Flesch-Kincaid-slouch-0">slouch </span><span id="Flesch-Kincaid-of-0">of </span><span id="Flesch-Kincaid-a-0">a </span><span id="Flesch-Kincaid-dog-0">dog </span><span id="Flesch-Kincaid-at-0">at </span><span id="Flesch-Kincaid-full-0">full </span><span id="Flesch-Kincaid-tilt-0">tilt. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-1">The </span><span id="Flesch-Kincaid-quick-1">quick </span><span id="Flesch-Kincaid-brown-1">brown </span><span id="Flesch-Kincaid-fox-1">fox </span><span id="Flesch-Kincaid-jumped-1">jumped </span><span id="Flesch-Kincaid-over-1">over </span><span id="Flesch-Kincaid-the-1">the </span><span id="Flesch-Kincaid-lazy-1">lazy </span><span id="Flesch-Kincaid-dog-1">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-2">The </span><span id="Flesch-Kincaid-wonderful-2">wonderful, </span><span id="Flesch-Kincaid-beautiful-2">beautiful </span><span id="Flesch-Kincaid-fox-2">fox </span><span id="Flesch-Kincaid-jumped-2">jumped </span><span id="Flesch-Kincaid-over-2">over </span><span id="Flesch-Kincaid-the-2">the </span><span id="Flesch-Kincaid-unbelievably-2">unbelievably </span><span id="Flesch-Kincaid-lazy-2">lazy </span><span id="Flesch-Kincaid-dog-2">dog. </span></p> | |||
</div> | |||
<p class="explanation svelte-18drwk1">The two factors considered by Flesch–Kincaid are number of words per sentence and number of syllables per word. This is a short sentence with only two multi-syllable words (<strong>“over”</strong> and <strong>“lazy”</strong>), so the Flesch–Kincaid formula assigns it a low grade level.</p> | |||
</figure><details class="svelte-192zsyu"><summary class="svelte-192zsyu">More about this algorithm</summary> | |||
<div class="sr-only"><p>The author Rudolf Flesch made a career as an early evangelist for plain language in the mid-20th century, promoting his namesake Flesch Reading-Ease Test and its cousin, the Flesch-Kincaid Grade Level Formula, developed in 1975 under contract with the U.S. Navy. It was calibrated on the reading comprehension scores of 531 enlisted Navy personnel, in order to measure readability in the specific context of technical communication. Today, perhaps thanks to its misleading name, the F-K Grade Level Formula is used in schools to estimate reading difficulty for children, overlooking the obvious fact that elementary school students and naval cadets may not agree on whether the same text is easy or difficult to understand.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The author Rudolf Flesch made a career as an early evangelist for plain language in the mid-20th century, promoting his namesake Flesch Reading-Ease Test and its cousin, the Flesch-Kincaid Grade Level Formula, developed in 1975 under contract with the U.S. Navy. It was calibrated on the reading comprehension scores of 531 enlisted Navy personnel, in order to measure readability in the specific context of technical communication. Today, perhaps thanks to its misleading name, the F-K Grade Level Formula is used in schools to estimate reading difficulty for children, overlooking the obvious fact that elementary school students and naval cadets may not agree on whether the same text is easy or difficult to understand.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Rudolf Flesch was an author. He lived in the 1900s. He thought plain language was very important. He made two scores to measure how easy something was to read:</p><ul><li>The Flesch Reading-Ease Test</li><li>The Flesch-Kincaid Grade Level Formula</li> | |||
</ul><p class="svelte-1xg41jv">Rudolf Flesch created the Flesch-Kincaid Grade Level Formula when he was working for the Navy. He measured how well 531 people in the Navy could read technical communications. Technical communications have special information that people in the Navy need to do their jobs.</p><p class="svelte-1xg41jv">Now we use the Flesch-Kincaid Grade Level Formula to measure readings for children. But the score has never been tested with children.</p> | |||
</button></div> | |||
</div> | |||
</details><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #2: Difficult words</h3></p> | |||
</div><div class="sr-only"><p>The Dale-Chall Readability Formula considers the proportion of difficult words, where it deems a word “difficult” if it is not on a list of 3,000 words familiar to fourth-grade students.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The Dale-Chall Readability Formula considers the proportion of difficult words, where it deems a word “difficult” if it is not on a list of 3,000 words familiar to fourth-grade students.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Dale-Chall is another readability score. It measures two things:</p><ul><li>How long each sentence is.</li><li>The number of easy or hard words.</li> | |||
</ul><p class="svelte-1xg41jv">Dale-Chall uses a list of 3,000 easy words. Dale-Chall says these are words most 4th graders know. Any other word is a hard word.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>One risk in the use of vocabulary lists is that the vocabulary of the readers surveyed to create them may not match the vocabulary of the intended audience. The original Dale-Chall list of “familiar words” was compiled in 1948 through a survey of U.S. fourth-graders, and even the most recent update to the list in 1995 retains obsolete words like “Negro” and “homely” while omitting “computer.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">One risk in the use of vocabulary lists is that the vocabulary of the readers surveyed to create them may not match the vocabulary of the intended audience. The original Dale-Chall list of “familiar words” was compiled in 1948 through a survey of U.S. fourth-graders, and even the most recent update to the list in 1995 retains obsolete words like “Negro” and “homely” while omitting “computer.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">But not everyone knows the same words. Dale-Chall made the first easy word list in 1948. They updated the list in 1995.</p><p class="svelte-1xg41jv">We don’t use the same words now that we did back then. The list has words most people don’t use now, like “Negro” and “homely.” And it doesn’t have words a lot of people use now, like “computer.”</p> | |||
</button></div> | |||
</div><figure class="container svelte-18drwk1"><figcaption class="sr-only">An interactive showing what the Dale-Chall algorithm considers a easy, medium, and hard | |||
sentence. Dale-Chall considers average sentence length along with how many difficult words are | |||
used, where “difficult” words are words that don't appear on the Dale-Chall list. If we add | |||
words that are unfamiliar (like dinosaur or dude) the algorithm says it's a difficult | |||
sentence. If we simply add a sentence that just contains the exclamation "Yes!", that lowers | |||
the average sentence length and makes the algorithm say it's an easier sentence. We see that | |||
the Dale-Chall algorithm isn't able to handle much complexity when it comes to assessing | |||
readability.</figcaption> | |||
<h3 class="svelte-18drwk1">What happens if we only care about <strong>“difficult” words</strong></h3> | |||
<p class="reading-level svelte-18drwk1">The below text is at a <span class="grade svelte-18drwk1">0.45 (4th grade or below)</span> | |||
grade reading level according to Dale-Chall</p> | |||
<div class="container svelte-9tsnz9"><p class="spacer svelte-9tsnz9">The quick brown fox jumped over the lazy dog.</p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-Yes-0">Yes! </span><span id="Dale-Chall-The-0">The </span><span id="Dale-Chall-quick-0">quick </span><span id="Dale-Chall-brown-0">brown </span><span id="Dale-Chall-fox-0">fox </span><span id="Dale-Chall-jumped-0">jumped </span><span id="Dale-Chall-over-0">over </span><span id="Dale-Chall-the-0">the </span><span id="Dale-Chall-lazy-0">lazy </span><span id="Dale-Chall-dog-0">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-The-1">The </span><span id="Dale-Chall-quick-1">quick </span><span id="Dale-Chall-brown-1">brown </span><span id="Dale-Chall-fox-1">fox </span><span id="Dale-Chall-jumped-1">jumped </span><span id="Dale-Chall-over-1">over </span><span id="Dale-Chall-the-1">the </span><span id="Dale-Chall-lazy-1">lazy </span><span id="Dale-Chall-dog-1">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-The-2">The </span><span id="Dale-Chall-quick-2">quick </span><span id="Dale-Chall-brown-2">brown </span><span id="Dale-Chall-dinosaur-2">dinosaur </span><span id="Dale-Chall-jumped-2">jumped </span><span id="Dale-Chall-over-2">over </span><span id="Dale-Chall-the-2">the </span><span id="Dale-Chall-lazy-2">lazy </span><span id="Dale-Chall-dude-2">dude. </span></p> | |||
</div> | |||
<p class="explanation svelte-18drwk1">Dale–Chall considers average sentence length along with percentage of difficult words (PDW), where “difficult” words are words that don't appear on the Dale–Chall list. This is a short sentence made entirely of words on the Dale–Chall list, so its ASL score is low and its PDW score is zero, yielding a score of 0.45. Since the formula was calibrated on a group of 4th grade students, all scores below 5.0 are collapsed into a single readability category representing “4th grade and below.”</p> | |||
</figure><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #3: Algorithmic black boxes</h3></p> | |||
</div><div class="sr-only"><p>More recently, US schools and textbook manufacturers have standardized their curricula on the Lexile Framework for Reading, a set of readability algorithms and vocabulary lists designed to automatically match students with appropriately difficult books. Publishers apply Lexile to their texts to rate their difficulty. A Lexile score of 210 indicates an easy-to-read book, while a score of 1730 indicates a very challenging one. A reading comprehension test assigns a corresponding reading score to each student, after which teachers pair students with texts that have comparable Lexile scores.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">More recently, US schools and textbook manufacturers have standardized their curricula on the Lexile Framework for Reading, a set of readability algorithms and vocabulary lists designed to automatically match students with appropriately difficult books. Publishers apply Lexile to their texts to rate their difficulty. A Lexile score of 210 indicates an easy-to-read book, while a score of 1730 indicates a very challenging one. A reading comprehension test assigns a corresponding reading score to each student, after which teachers pair students with texts that have comparable Lexile scores.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Lexile Framework for Reading is another formula to measure how easy something is to read. Schools and textbook writers use Lexile. Lexile helps match students with books they are able to read.</p><p class="svelte-1xg41jv">Here is how it works:</p><ul><li>Lexile scores books. It rates them as easy or hard to read.</li><li>Students take a reading test. It tells them how well they read.</li><li>Teachers give students books that won’t be too easy or too hard for them to read.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>The approach sounds simple enough, but critics have pointed out absurdities in Lexile's results. According to Lexile, The Grapes of Wrath (Lexile score: 680) is easier to understand than the Nancy Drew mystery Nancy's Mysterious Letter (score: 720), but neither of these is as challenging as The Library Mouse (score: 860), a 32-page illustrated children's book.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The approach sounds simple enough, but critics have pointed out absurdities in Lexile's results. According to Lexile, The Grapes of Wrath (Lexile score: 680) is easier to understand than the Nancy Drew mystery Nancy's Mysterious Letter (score: 720), but neither of these is as challenging as The Library Mouse (score: 860), a 32-page illustrated children's book.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">But the scores Lexile gives books don’t always make sense. Here’s an example. Lexile says:</p><ul><li>Lexile says that The Grapes of Wrath is a pretty easy book to read. The Grapes of Wrath is a book for adults. It is over 400 pages long and has many complex themes and ideas.</li><li>Lexile says the Nancy Drew book Nancy’s Mysterious Letter is harder to read than The Grapes of Wrath. Nancy Drew books are made for preteens. Most people would consider it much easier to read than The Grapes of Wrath.</li><li>Lexile says The Library Mouse is harder to read than the Nancy Drew book or The Grapes of Wrath. The Library Mouse is a picture book for children.</li> | |||
</ul><p class="svelte-1xg41jv">It does not make sense that a children’s picture book would be harder to read than a book for adults.</p> | |||
</button></div> | |||
</div><figure class="container svelte-19y896n"><figcaption class="sr-only">Images of three book covers arranged by how difficult the Lexile algorithm thinks they are. It | |||
says Grapes of Wrath is the easiest, followed by Nancy's Mysterious Letter, and the hardest is | |||
The Library Mouse, a 32-page illustrated children's book. This doesn't make much sense, most | |||
people would say that Grapes of Wrath is much more difficult than a simple children's book. | |||
</figcaption> | |||
<h3 class="svelte-19y896n">How Lexile scores popular books for children</h3> | |||
<div class="books svelte-19y896n"><div class="book svelte-19y896n"><img src="assets/img/grapes.jpeg" alt="the grapes of wrath cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">680</p> | |||
<p class="grade svelte-19y896n">(5th grade)</p> | |||
</div><div class="book svelte-19y896n"><img src="assets/img/nancy.jpeg" alt="nancy drew cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">720</p> | |||
<p class="grade svelte-19y896n">(7th grade)</p> | |||
</div><div class="book svelte-19y896n"><img src="assets/img/mouse.jpeg" alt="the library mouse cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">860</p> | |||
<p class="grade svelte-19y896n">(10th grade)</p> | |||
</div></div> | |||
</figure><div class="sr-only"><p>How exactly are Lexile scores calculated? Unfortunately for us, the Lexile Framework is the intellectual property of MetaMetrics, the private company that created it, so we can only guess at the secret recipe, but it's a pretty good bet that Lexile scores depend on a mixture of the same factors used in Flesch–Kincaid and other open-source readability measures.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">How exactly are Lexile scores calculated? Unfortunately for us, the Lexile Framework is the intellectual property of MetaMetrics, the private company that created it, so we can only guess at the secret recipe, but it's a pretty good bet that Lexile scores depend on a mixture of the same factors used in Flesch–Kincaid and other open-source readability measures.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">We don’t know how Lexile decides how hard each book is. MetaMetrics is the company that made Lexile. They do not share what math they do to get their readability scores. But it is probably close to the other formulas we looked at. We know Lexile looks at:</p><ul><li>How long words are.</li><li>How long each sentence is.</li><li>How familiar the words are.</li><li>If things are repeated.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>Formulas based on surface level text properties and word frequency have clear limitations. None of them consider how well organized the information is, or whether the sentences and paragraphs are coherent. None consider the role of grammatical tense. None account for the explanation of acronyms and jargon. None would balk at Jack Torrance's rambling and meaningless draft in The Shining, endlessly repeating “All work and no play makes Jack a dull boy.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Formulas based on surface level text properties and word frequency have clear limitations. None of them consider how well organized the information is, or whether the sentences and paragraphs are coherent. None consider the role of grammatical tense. None account for the explanation of acronyms and jargon. None would balk at Jack Torrance's rambling and meaningless draft in The Shining, endlessly repeating “All work and no play makes Jack a dull boy.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">None of these formulas are perfect. They don’t measure:</p><ul><li>The order of the sentences.</li><li>If the writing makes sense.</li><li>Grammar.</li><li>If the writer explains hard words and phrases.</li> | |||
</ul><p class="svelte-1xg41jv">These formulas would have no problem with the scene in The Shining where Jack Torrance writes “All work and no play makes Jack a dull boy,” over and over again. They do not check if the writing means anything.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>But proprietary tech like Lexile has some of the most disconcerting aspects of both worlds. As flawed as Flesch-Kincaid or Dale-Chall, but opaque and unexplainable. The main benefit of the F-K and D-C formulas (and other simple algorithms like Gunning-Fog and SMOG) is their transparency. A broken system locked in a black box can't even offer this.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">But proprietary tech like Lexile has some of the most disconcerting aspects of both worlds. As flawed as Flesch-Kincaid or Dale-Chall, but opaque and unexplainable. The main benefit of the F-K and D-C formulas (and other simple algorithms like Gunning-Fog and SMOG) is their transparency. A broken system locked in a black box can't even offer this.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">At least we know how Flesch-Kincaid and Dale-Chall work. They are not perfect but we can explain them. We don’t even know what Lexile measures.</p> | |||
</button></div> | |||
</div> | |||
</section> | |||
<div class="svelte-16d9zvc"><h3>Authors' note</h3> | |||
<p>A lot of people helped us write this article.</p><p>Thank you to Zoe Gross and Leah Mapstead for being our expert readers. Zoe and Leah told us how to make the article better. Zoe is Director of Advocacy at the Autistic Self-Advocacy Network. Leah is a disability advocate and actor.</p><p>Thank you to:</p><p>They made our article interactive. They helped brainstorm ideas. They told us how to make our writing better.</p><p>Thank you to Matt Hackert for making sure the article works on a screen reader. Matt leads the Center of Excellence in Nonvisual Accessibility at the National Federation of the Blind.</p><p>Thank you to Amy Silverman for helping come up with the idea for this article.</p><p>You can learn more about Kyra <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">here</a>.</p><p>You can learn more about how to write plain language and Easy Read <a href="https://autisticadvocacy.org/resources/accessibility/easyread/">here</a>, <a href="https://www.plainlanguage.gov/">here</a>, and <a href="https://www.easy-read-online.co.uk/media/10609/making-myself-clear.pdf">here</a>.</p> | |||
</div> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<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> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(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 hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.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) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,274 @@ | |||
title: What makes writing more readable? | |||
url: https://pudding.cool/2022/02/plain/ | |||
hash_url: 0dc625e86fb8e680308250b1245f1086 | |||
<div class="toggle svelte-1k1jl04"><p class="sr-only">The following is a toggle that allows you to change whether the text is standard or translated | |||
into plain language. Press the p key at any time to switch between standard and plain language | |||
versions of the article. If you are using a screen reader, you will need to disable your the quick | |||
navigation keyboard commands in order for the P key to function. | |||
</p> | |||
<p class="toggle toggle--inner svelte-1nyzcas"><span class="label svelte-1nyzcas" id="toggle-471912">Plain Language</span> | |||
<button role="switch" aria-checked="false" aria-labelledby="toggle-471912" class="svelte-1nyzcas"><span class="svelte-1nyzcas">on</span> | |||
<span class="svelte-1nyzcas">off</span></button></p> | |||
<p aria-hidden class="use-keyboard plain-style svelte-1nyzcas">(Or use the "p" key)</p></div> | |||
<section id="part-1" class="svelte-192zsyu"> | |||
<div class="sr-only"><p>Writing text that can be understood by as many people as possible seems like an obvious best practice. But from news media to legal guidance to academic research, the way we write often creates barriers to who can read it. Plain language—a style of writing that uses simplified sentences, everyday vocabulary, and clear structure—aims to remove those barriers.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Writing text that can be understood by as many people as possible seems like an obvious best practice. But from news media to legal guidance to academic research, the way we write often creates barriers to who can read it. Plain language—a style of writing that uses simplified sentences, everyday vocabulary, and clear structure—aims to remove those barriers.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Good writing is easy to read. But a lot of writing is hard to read. Some people can’t read hard writing. Plain language fixes this problem. It makes writing easy to read for more people.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p><span class="tap-icon"></span><strong>You can see it in action right here!</strong> Click the text next to each paragraph to read it in <span class="plain-style">plain language</span>.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv"><span class="tap-icon"></span><strong>You can see it in action right here!</strong> Click the text next to each paragraph to read it in <span class="plain-style">plain language</span>.</p></div> | |||
</div><div class="sr-only"><p>You can also use the toggle on the top right to switch <strong>everything</strong> to <span class="plain-style">plain language</span>. Or use the <span class="plain-style">“p”</span> key on your keyboard.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv">You can also use the toggle on the top right to switch <strong>everything</strong> to <span class="plain-style">plain language</span>. Or use the <span class="plain-style">“p”</span> key on your keyboard.</p></div> | |||
</div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Plain language is useful for everyone, but especially for those who are often denied the opportunity to engage with and comment on public writing. This includes the <a href="https://www.ncld.org/research/state-of-learning-disabilities">20% of the population with learning disabilities</a>, a number of the <a href="https://ici-s.umn.edu/files/aCHyYaFjMi/risp_2017">more than 7 million people in the US</a> with intellectual disabilities (ID), readers for whom English is not a first language and people with limited access to education, among others.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Plain language is helpful for everyone. But it is really good for people who may find other kinds of writing hard to read. That includes:</p><ul><li>People with learning disabilities.</li><li>People with intellectual disabilities (ID).</li><li>People who are learning to speak English.</li><li>People who did not go to school or went to school less than they wanted to.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>These audiences are routinely excluded from public dialogues, including dialogues about themselves. People with disabilities are also often excluded from writing or sharing their own stories first-hand due to lower vocabulary skills, learning differences, and intellectual disabilities. For example, throughout much of US history, people with ID <a href="https://ncd.gov/sites/default/files/NCD_Turning-Rights-into-Reality_508_0.pdf">have had decisions made on their behalf</a> based on the presumption that they do not and cannot understand. This, on top of discriminatory attitudes and stigma, has led to <a href="https://www.google.com/url?q=http://nosmag.org/mental-age-theory-hurts-people-with-intellectual-disabilities/&sa=D&source=docs&ust=1641598391812179&usg=AOvVaw1oFiTrpzcEMoYjnn3cB96G">infantilization</a>, <a href="https://journals.sagepub.com/doi/full/10.1177/1744629518767001">institutionalization and eugenic sterilization</a>.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">These audiences are routinely excluded from public dialogues, including dialogues about themselves. People with disabilities are also often excluded from writing or sharing their own stories first-hand due to lower vocabulary skills, learning differences, and intellectual disabilities. For example, throughout much of US history, people with ID <a href="https://ncd.gov/sites/default/files/NCD_Turning-Rights-into-Reality_508_0.pdf">have had decisions made on their behalf</a> based on the presumption that they do not and cannot understand. This, on top of discriminatory attitudes and stigma, has led to <a href="https://www.google.com/url?q=http://nosmag.org/mental-age-theory-hurts-people-with-intellectual-disabilities/&sa=D&source=docs&ust=1641598391812179&usg=AOvVaw1oFiTrpzcEMoYjnn3cB96G">infantilization</a>, <a href="https://journals.sagepub.com/doi/full/10.1177/1744629518767001">institutionalization and eugenic sterilization</a>.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">These groups of people get left out of the conversation a lot. Even when the conversation is about them.</p><p class="svelte-1xg41jv">For example, many people think people with ID don’t understand how to make choices for themselves. Nondisabled people make choices for them. These choices sometimes hurt people with ID. Throughout history, many people with ID have been:</p><ul><li>Treated like children.</li><li>Forced to live in institutions, group homes, and nursing homes.</li><li>Forced to have surgery so they could not have children.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>Additionally, there is a tendency to censor content for these audiences rather than explain it, which can contribute to continued disparities, like the <a href="https://thearc.org/wp-content/uploads/forchapters/Sexual%20Violence.pdf">higher rate</a> at which people with ID experience sexual violence than nondisabled people.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Additionally, there is a tendency to censor content for these audiences rather than explain it, which can contribute to continued disparities, like the <a href="https://thearc.org/wp-content/uploads/forchapters/Sexual%20Violence.pdf">higher rate</a> at which people with ID experience sexual violence than nondisabled people.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Writers will censor writing for these groups. To censor something means to take out information the writer thinks is not appropriate. Taking out information can make some problems worse.</p><p class="svelte-1xg41jv">For example, people with ID experience sexual violence more than nondisabled people. But some writers think people with ID should not read about sex or sexual violence. So, readers don’t have all the information they need.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>The benefits of plain language aren’t limited to universally challenging texts like legal documents and tax forms. Even everyday writing, like news articles, can still pose a barrier for some readers.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The benefits of plain language aren’t limited to universally challenging texts like legal documents and tax forms. Even everyday writing, like news articles, can still pose a barrier for some readers.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Some kinds of writing are hard for everyone to read, like tax forms. But everyday writing, like the news, can be hard to read too.</p> | |||
</button></div> | |||
</div><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h2 class="text svelte-1xg41jv">How does a human assess readability?</h2></p> | |||
</div><div class="sr-only"><p>Let’s walk through how Rebecca, an expert in plain language, translates a text to be more readable. We'll use an excerpt from her <a href="https://www.propublica.org/article/arizona-promised-to-help-people-with-developmental-disabilities-but-some-had-to-wait-a-long-time-some-did-not-get-help-at-all-plain-text">translation</a> of a <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">ProPublica article</a> by Amy Silverman in the following example.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Let’s walk through how Rebecca, an expert in plain language, translates a text to be more readable. We'll use an excerpt from her <a href="https://www.propublica.org/article/arizona-promised-to-help-people-with-developmental-disabilities-but-some-had-to-wait-a-long-time-some-did-not-get-help-at-all-plain-text">translation</a> of a <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">ProPublica article</a> by Amy Silverman in the following example.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Here is an example for how to make writing easier to read. Rebecca wrote this example. She is an expert in plain language. This quote is from a news article. Amy Silverman wrote it for ProPublica. Rebecca wrote it in plain language.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p><span class="tap-icon"></span><strong>Read the translation below.</strong> Click the <span class="highlight">highlights</span> to see what Rebecca thinks.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<div class="svelte-1xg41jv inner info-box"><p class="svelte-1xg41jv"><span class="tap-icon"></span><strong>Read the translation below.</strong> Click the <span class="highlight">highlights</span> to see what Rebecca thinks.</p></div> | |||
</div><figure><figcaption class="sr-only">An example of translating text from standard to plain language where you can select Rebecca's | |||
comments to learn more about her translation process. | |||
</figcaption> | |||
<h3 class="svelte-1yv5b92">Plain language translating: side-by-side comparison</h3> | |||
<div class="container svelte-1yv5b92"><div class="texts svelte-1yv5b92"> | |||
<div class="after svelte-1yv5b92"><p class="head svelte-1yv5b92">PLAIN LANGUAGE</p> | |||
<p class="plain-style svelte-1yv5b92"><span class="after-step" id="after-0">Kyra is autistic and deaf.</span> <span class="after-step" id="after-1">She was born early.</span> <span class="after-step" id="after-2">She was very small when she was born.</span> <span class="after-step" id="after-3">She has trouble seeing, hearing, eating and sleeping.</span> <span class="after-step" id="after-4">Her hand shakes so she does not do sign language.</span> <span class="after-step" id="after-5">Her parents think she knows some signs.</span></p></div></div> | |||
<p class="description-title svelte-1yv5b92">Rebecca's comments</p> | |||
</div> | |||
<div class="sr-only"><p>Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Click the <span class="highlight">highlighted</span> text to see Rebecca's comments.</p> | |||
</button></div> | |||
</div> | |||
</figure><details class="svelte-192zsyu"><summary class="svelte-192zsyu">More about Rebecca’s translation process</summary> | |||
<div class="sr-only"><p>When doing a plain language translation, my first step is always to do a close read of the original text. I identify the main points, the order information is presented, and any terms or concepts that I think will need to be defined or replaced. I always think to myself “what does this sentence/idea/concept assume the reader already knows?” There is so much implied in how we write, and plain language should aim to make the implicit more explicit.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">When doing a plain language translation, my first step is always to do a close read of the original text. I identify the main points, the order information is presented, and any terms or concepts that I think will need to be defined or replaced. I always think to myself “what does this sentence/idea/concept assume the reader already knows?” There is so much implied in how we write, and plain language should aim to make the implicit more explicit.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">My first step is to read the whole paragraph. I look for:</p><ul><li>The main points.</li><li>The order things are written in.</li><li>Any words or ideas that I will need to explain.</li> | |||
</ul><p class="svelte-1xg41jv">A lot of writing assumes the reader already knows something about the topic. Plain language should not assume that. I will explain things fully.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Once I start translating, I typically take a paragraph-by-paragraph approach rather than sentence-by-sentence, because often I will need to re-order information, add definitions or examples, or reintroduce characters and ideas at the top of a new paragraph. Focusing too much on the sentence-level translation can mean losing sight of the bigger picture.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Once I start translating, I typically take a paragraph-by-paragraph approach rather than sentence-by-sentence, because often I will need to re-order information, add definitions or examples, or reintroduce characters and ideas at the top of a new paragraph. Focusing too much on the sentence-level translation can mean losing sight of the bigger picture.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">When I write something in plain language, I don’t take every sentence from the original writing. I look at the big ideas. I:</p><ul><li>Put things in a different order.</li><li>Add definitions and examples.</li><li>Remind the reader about key characters and ideas.</li> | |||
</ul> | |||
</button></div> | |||
</div> | |||
</details> | |||
</section><section id="part-2" class="svelte-192zsyu"><h2 class="svelte-192zsyu">How do algorithms try to assess readability?</h2> | |||
<div class="sr-only"><p>As more people have recognized the practical value of plain language, researchers have sought to quantify the “plainness” of writing through readability formulas—mathematical models that assign numerical scores to text, indicating how understandable they are.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">As more people have recognized the practical value of plain language, researchers have sought to quantify the “plainness” of writing through readability formulas—mathematical models that assign numerical scores to text, indicating how understandable they are.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Researchers try to measure how easy something is to read. They use math to give the writing a score. The score tells us how easy something is to read. These are called “readability scores.”</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Though most readability formulas were designed to offer rough difficulty estimates for specific groups of readers, their usage varies greatly, with the Agency for Healthcare Research and Quality <a href="https://www.ahrq.gov/talkingquality/resources/writing/tip6.html">warning</a> that “these formulas are often interpreted and used in ways that go well beyond what they measure.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Though most readability formulas were designed to offer rough difficulty estimates for specific groups of readers, their usage varies greatly, with the Agency for Healthcare Research and Quality <a href="https://www.ahrq.gov/talkingquality/resources/writing/tip6.html">warning</a> that “these formulas are often interpreted and used in ways that go well beyond what they measure.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Readability scores just give us an “estimate” about how hard something is to read. That means the scores are not perfect. But they give us a good idea about how hard it might be for different groups of people to read something.</p><p class="svelte-1xg41jv">But the Agency for Healthcare Research and Quality said, “these formulas are often interpreted and used in ways that go well beyond what they measure.” This quote means people use these scores in ways they were not made to be used.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>Moreover, the simplicity of readability checkers has enabled their widespread adoption. Military engineers use them to help write technical documents. Governments and doctors use them to guide communication for a general audience. Schools and textbook manufacturers use them to tailor reading assignments to particular grade levels and students.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Moreover, the simplicity of readability checkers has enabled their widespread adoption. Military engineers use them to help write technical documents. Governments and doctors use them to guide communication for a general audience. Schools and textbook manufacturers use them to tailor reading assignments to particular grade levels and students.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Readability scores are easy to understand. Many people use these scores to help them write. Some groups that use readability scores are:</p><ul><li>The military.</li><li>The government.</li><li>Doctors.</li><li>Schools.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>To better understand how readability scores work—and how they can fail—let’s look at three representative examples.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">To better understand how readability scores work—and how they can fail—let’s look at three representative examples.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Let’s look at three examples of readability scores. They can help us understand how these scores work and how they can fail.</p> | |||
</button></div> | |||
</div><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #1: Syllable Count</h3></p> | |||
</div><div class="sr-only"><p>The Flesch-Kincaid Grade level formula looks, in part, at syllable count, based on the idea that words with fewer syllables are easier to understand.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The Flesch-Kincaid Grade level formula looks, in part, at syllable count, based on the idea that words with fewer syllables are easier to understand.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">The Flesch-Kincaid formula measures two things:</p><ul><li>How long words are.</li><li>How many words are in a sentence.</li> | |||
</ul><p class="svelte-1xg41jv">The formula says the shorter the words and sentence, the easier it is to read.</p> | |||
</button></div> | |||
</div><figure class="container svelte-18drwk1"><figcaption class="sr-only">An interactive showing what the Flesch-Kincaid algorithm considers a easy, medium, and hard | |||
sentence. The algorithm deems sentences with lower syllable counts to be easier, so when long | |||
multisyllabic words are added (even if they are easy words), the algorithm says it's a hard | |||
sentence. If we add short but obscure words, the algorithm thinks it's an easier sentence. We | |||
see that the Flesch-Kincaid algorithm isn't able to handle much complexity when it comes to | |||
assessing readability.</figcaption> | |||
<h3 class="svelte-18drwk1">What happens if we only care about <strong>syllables</strong></h3> | |||
<p class="reading-level svelte-18drwk1">The below text is at a <span class="grade svelte-18drwk1">2.34 (2nd grade)</span> | |||
grade reading level according to Flesch-Kincaid</p> | |||
<div class="container svelte-9tsnz9"><p class="spacer svelte-9tsnz9">The quick brown fox jumped over the lazy dog.</p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-0">The </span><span id="Flesch-Kincaid-dun-0">dun </span><span id="Flesch-Kincaid-fox-0">fox </span><span id="Flesch-Kincaid-cleared-0">cleared </span><span id="Flesch-Kincaid-that-0">that </span><span id="Flesch-Kincaid-slouch-0">slouch </span><span id="Flesch-Kincaid-of-0">of </span><span id="Flesch-Kincaid-a-0">a </span><span id="Flesch-Kincaid-dog-0">dog </span><span id="Flesch-Kincaid-at-0">at </span><span id="Flesch-Kincaid-full-0">full </span><span id="Flesch-Kincaid-tilt-0">tilt. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-1">The </span><span id="Flesch-Kincaid-quick-1">quick </span><span id="Flesch-Kincaid-brown-1">brown </span><span id="Flesch-Kincaid-fox-1">fox </span><span id="Flesch-Kincaid-jumped-1">jumped </span><span id="Flesch-Kincaid-over-1">over </span><span id="Flesch-Kincaid-the-1">the </span><span id="Flesch-Kincaid-lazy-1">lazy </span><span id="Flesch-Kincaid-dog-1">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Flesch-Kincaid-The-2">The </span><span id="Flesch-Kincaid-wonderful-2">wonderful, </span><span id="Flesch-Kincaid-beautiful-2">beautiful </span><span id="Flesch-Kincaid-fox-2">fox </span><span id="Flesch-Kincaid-jumped-2">jumped </span><span id="Flesch-Kincaid-over-2">over </span><span id="Flesch-Kincaid-the-2">the </span><span id="Flesch-Kincaid-unbelievably-2">unbelievably </span><span id="Flesch-Kincaid-lazy-2">lazy </span><span id="Flesch-Kincaid-dog-2">dog. </span></p> | |||
</div> | |||
<p class="explanation svelte-18drwk1">The two factors considered by Flesch–Kincaid are number of words per sentence and number of syllables per word. This is a short sentence with only two multi-syllable words (<strong>“over”</strong> and <strong>“lazy”</strong>), so the Flesch–Kincaid formula assigns it a low grade level.</p> | |||
</figure><details class="svelte-192zsyu"><summary class="svelte-192zsyu">More about this algorithm</summary> | |||
<div class="sr-only"><p>The author Rudolf Flesch made a career as an early evangelist for plain language in the mid-20th century, promoting his namesake Flesch Reading-Ease Test and its cousin, the Flesch-Kincaid Grade Level Formula, developed in 1975 under contract with the U.S. Navy. It was calibrated on the reading comprehension scores of 531 enlisted Navy personnel, in order to measure readability in the specific context of technical communication. Today, perhaps thanks to its misleading name, the F-K Grade Level Formula is used in schools to estimate reading difficulty for children, overlooking the obvious fact that elementary school students and naval cadets may not agree on whether the same text is easy or difficult to understand.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer deep-dive"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The author Rudolf Flesch made a career as an early evangelist for plain language in the mid-20th century, promoting his namesake Flesch Reading-Ease Test and its cousin, the Flesch-Kincaid Grade Level Formula, developed in 1975 under contract with the U.S. Navy. It was calibrated on the reading comprehension scores of 531 enlisted Navy personnel, in order to measure readability in the specific context of technical communication. Today, perhaps thanks to its misleading name, the F-K Grade Level Formula is used in schools to estimate reading difficulty for children, overlooking the obvious fact that elementary school students and naval cadets may not agree on whether the same text is easy or difficult to understand.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Rudolf Flesch was an author. He lived in the 1900s. He thought plain language was very important. He made two scores to measure how easy something was to read:</p><ul><li>The Flesch Reading-Ease Test</li><li>The Flesch-Kincaid Grade Level Formula</li> | |||
</ul><p class="svelte-1xg41jv">Rudolf Flesch created the Flesch-Kincaid Grade Level Formula when he was working for the Navy. He measured how well 531 people in the Navy could read technical communications. Technical communications have special information that people in the Navy need to do their jobs.</p><p class="svelte-1xg41jv">Now we use the Flesch-Kincaid Grade Level Formula to measure readings for children. But the score has never been tested with children.</p> | |||
</button></div> | |||
</div> | |||
</details><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #2: Difficult words</h3></p> | |||
</div><div class="sr-only"><p>The Dale-Chall Readability Formula considers the proportion of difficult words, where it deems a word “difficult” if it is not on a list of 3,000 words familiar to fourth-grade students.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The Dale-Chall Readability Formula considers the proportion of difficult words, where it deems a word “difficult” if it is not on a list of 3,000 words familiar to fourth-grade students.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Dale-Chall is another readability score. It measures two things:</p><ul><li>How long each sentence is.</li><li>The number of easy or hard words.</li> | |||
</ul><p class="svelte-1xg41jv">Dale-Chall uses a list of 3,000 easy words. Dale-Chall says these are words most 4th graders know. Any other word is a hard word.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>One risk in the use of vocabulary lists is that the vocabulary of the readers surveyed to create them may not match the vocabulary of the intended audience. The original Dale-Chall list of “familiar words” was compiled in 1948 through a survey of U.S. fourth-graders, and even the most recent update to the list in 1995 retains obsolete words like “Negro” and “homely” while omitting “computer.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">One risk in the use of vocabulary lists is that the vocabulary of the readers surveyed to create them may not match the vocabulary of the intended audience. The original Dale-Chall list of “familiar words” was compiled in 1948 through a survey of U.S. fourth-graders, and even the most recent update to the list in 1995 retains obsolete words like “Negro” and “homely” while omitting “computer.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">But not everyone knows the same words. Dale-Chall made the first easy word list in 1948. They updated the list in 1995.</p><p class="svelte-1xg41jv">We don’t use the same words now that we did back then. The list has words most people don’t use now, like “Negro” and “homely.” And it doesn’t have words a lot of people use now, like “computer.”</p> | |||
</button></div> | |||
</div><figure class="container svelte-18drwk1"><figcaption class="sr-only">An interactive showing what the Dale-Chall algorithm considers a easy, medium, and hard | |||
sentence. Dale-Chall considers average sentence length along with how many difficult words are | |||
used, where “difficult” words are words that don't appear on the Dale-Chall list. If we add | |||
words that are unfamiliar (like dinosaur or dude) the algorithm says it's a difficult | |||
sentence. If we simply add a sentence that just contains the exclamation "Yes!", that lowers | |||
the average sentence length and makes the algorithm say it's an easier sentence. We see that | |||
the Dale-Chall algorithm isn't able to handle much complexity when it comes to assessing | |||
readability.</figcaption> | |||
<h3 class="svelte-18drwk1">What happens if we only care about <strong>“difficult” words</strong></h3> | |||
<p class="reading-level svelte-18drwk1">The below text is at a <span class="grade svelte-18drwk1">0.45 (4th grade or below)</span> | |||
grade reading level according to Dale-Chall</p> | |||
<div class="container svelte-9tsnz9"><p class="spacer svelte-9tsnz9">The quick brown fox jumped over the lazy dog.</p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-Yes-0">Yes! </span><span id="Dale-Chall-The-0">The </span><span id="Dale-Chall-quick-0">quick </span><span id="Dale-Chall-brown-0">brown </span><span id="Dale-Chall-fox-0">fox </span><span id="Dale-Chall-jumped-0">jumped </span><span id="Dale-Chall-over-0">over </span><span id="Dale-Chall-the-0">the </span><span id="Dale-Chall-lazy-0">lazy </span><span id="Dale-Chall-dog-0">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-The-1">The </span><span id="Dale-Chall-quick-1">quick </span><span id="Dale-Chall-brown-1">brown </span><span id="Dale-Chall-fox-1">fox </span><span id="Dale-Chall-jumped-1">jumped </span><span id="Dale-Chall-over-1">over </span><span id="Dale-Chall-the-1">the </span><span id="Dale-Chall-lazy-1">lazy </span><span id="Dale-Chall-dog-1">dog. </span></p> | |||
<p class="text hide svelte-9tsnz9" aria-hidden><span id="Dale-Chall-The-2">The </span><span id="Dale-Chall-quick-2">quick </span><span id="Dale-Chall-brown-2">brown </span><span id="Dale-Chall-dinosaur-2">dinosaur </span><span id="Dale-Chall-jumped-2">jumped </span><span id="Dale-Chall-over-2">over </span><span id="Dale-Chall-the-2">the </span><span id="Dale-Chall-lazy-2">lazy </span><span id="Dale-Chall-dude-2">dude. </span></p> | |||
</div> | |||
<p class="explanation svelte-18drwk1">Dale–Chall considers average sentence length along with percentage of difficult words (PDW), where “difficult” words are words that don't appear on the Dale–Chall list. This is a short sentence made entirely of words on the Dale–Chall list, so its ASL score is low and its PDW score is zero, yielding a score of 0.45. Since the formula was calibrated on a group of 4th grade students, all scores below 5.0 are collapsed into a single readability category representing “4th grade and below.”</p> | |||
</figure><p class="sr-only"></p> | |||
<div aria-hidden class="svelte-1xg41jv outer no-plain"> | |||
<p class="svelte-1xg41jv inner"><h3 class="text svelte-1xg41jv">Algorithm #3: Algorithmic black boxes</h3></p> | |||
</div><div class="sr-only"><p>More recently, US schools and textbook manufacturers have standardized their curricula on the Lexile Framework for Reading, a set of readability algorithms and vocabulary lists designed to automatically match students with appropriately difficult books. Publishers apply Lexile to their texts to rate their difficulty. A Lexile score of 210 indicates an easy-to-read book, while a score of 1730 indicates a very challenging one. A reading comprehension test assigns a corresponding reading score to each student, after which teachers pair students with texts that have comparable Lexile scores.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">More recently, US schools and textbook manufacturers have standardized their curricula on the Lexile Framework for Reading, a set of readability algorithms and vocabulary lists designed to automatically match students with appropriately difficult books. Publishers apply Lexile to their texts to rate their difficulty. A Lexile score of 210 indicates an easy-to-read book, while a score of 1730 indicates a very challenging one. A reading comprehension test assigns a corresponding reading score to each student, after which teachers pair students with texts that have comparable Lexile scores.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">Lexile Framework for Reading is another formula to measure how easy something is to read. Schools and textbook writers use Lexile. Lexile helps match students with books they are able to read.</p><p class="svelte-1xg41jv">Here is how it works:</p><ul><li>Lexile scores books. It rates them as easy or hard to read.</li><li>Students take a reading test. It tells them how well they read.</li><li>Teachers give students books that won’t be too easy or too hard for them to read.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>The approach sounds simple enough, but critics have pointed out absurdities in Lexile's results. According to Lexile, The Grapes of Wrath (Lexile score: 680) is easier to understand than the Nancy Drew mystery Nancy's Mysterious Letter (score: 720), but neither of these is as challenging as The Library Mouse (score: 860), a 32-page illustrated children's book.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">The approach sounds simple enough, but critics have pointed out absurdities in Lexile's results. According to Lexile, The Grapes of Wrath (Lexile score: 680) is easier to understand than the Nancy Drew mystery Nancy's Mysterious Letter (score: 720), but neither of these is as challenging as The Library Mouse (score: 860), a 32-page illustrated children's book.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">But the scores Lexile gives books don’t always make sense. Here’s an example. Lexile says:</p><ul><li>Lexile says that The Grapes of Wrath is a pretty easy book to read. The Grapes of Wrath is a book for adults. It is over 400 pages long and has many complex themes and ideas.</li><li>Lexile says the Nancy Drew book Nancy’s Mysterious Letter is harder to read than The Grapes of Wrath. Nancy Drew books are made for preteens. Most people would consider it much easier to read than The Grapes of Wrath.</li><li>Lexile says The Library Mouse is harder to read than the Nancy Drew book or The Grapes of Wrath. The Library Mouse is a picture book for children.</li> | |||
</ul><p class="svelte-1xg41jv">It does not make sense that a children’s picture book would be harder to read than a book for adults.</p> | |||
</button></div> | |||
</div><figure class="container svelte-19y896n"><figcaption class="sr-only">Images of three book covers arranged by how difficult the Lexile algorithm thinks they are. It | |||
says Grapes of Wrath is the easiest, followed by Nancy's Mysterious Letter, and the hardest is | |||
The Library Mouse, a 32-page illustrated children's book. This doesn't make much sense, most | |||
people would say that Grapes of Wrath is much more difficult than a simple children's book. | |||
</figcaption> | |||
<h3 class="svelte-19y896n">How Lexile scores popular books for children</h3> | |||
<div class="books svelte-19y896n"><div class="book svelte-19y896n"><img src="assets/img/grapes.jpeg" alt="the grapes of wrath cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">680</p> | |||
<p class="grade svelte-19y896n">(5th grade)</p> | |||
</div><div class="book svelte-19y896n"><img src="assets/img/nancy.jpeg" alt="nancy drew cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">720</p> | |||
<p class="grade svelte-19y896n">(7th grade)</p> | |||
</div><div class="book svelte-19y896n"><img src="assets/img/mouse.jpeg" alt="the library mouse cover" class=" svelte-19y896n"> | |||
<p class="score svelte-19y896n">860</p> | |||
<p class="grade svelte-19y896n">(10th grade)</p> | |||
</div></div> | |||
</figure><div class="sr-only"><p>How exactly are Lexile scores calculated? Unfortunately for us, the Lexile Framework is the intellectual property of MetaMetrics, the private company that created it, so we can only guess at the secret recipe, but it's a pretty good bet that Lexile scores depend on a mixture of the same factors used in Flesch–Kincaid and other open-source readability measures.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">How exactly are Lexile scores calculated? Unfortunately for us, the Lexile Framework is the intellectual property of MetaMetrics, the private company that created it, so we can only guess at the secret recipe, but it's a pretty good bet that Lexile scores depend on a mixture of the same factors used in Flesch–Kincaid and other open-source readability measures.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">We don’t know how Lexile decides how hard each book is. MetaMetrics is the company that made Lexile. They do not share what math they do to get their readability scores. But it is probably close to the other formulas we looked at. We know Lexile looks at:</p><ul><li>How long words are.</li><li>How long each sentence is.</li><li>How familiar the words are.</li><li>If things are repeated.</li> | |||
</ul> | |||
</button></div> | |||
</div><div class="sr-only"><p>Formulas based on surface level text properties and word frequency have clear limitations. None of them consider how well organized the information is, or whether the sentences and paragraphs are coherent. None consider the role of grammatical tense. None account for the explanation of acronyms and jargon. None would balk at Jack Torrance's rambling and meaningless draft in The Shining, endlessly repeating “All work and no play makes Jack a dull boy.”</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">Formulas based on surface level text properties and word frequency have clear limitations. None of them consider how well organized the information is, or whether the sentences and paragraphs are coherent. None consider the role of grammatical tense. None account for the explanation of acronyms and jargon. None would balk at Jack Torrance's rambling and meaningless draft in The Shining, endlessly repeating “All work and no play makes Jack a dull boy.”</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">None of these formulas are perfect. They don’t measure:</p><ul><li>The order of the sentences.</li><li>If the writing makes sense.</li><li>Grammar.</li><li>If the writer explains hard words and phrases.</li> | |||
</ul><p class="svelte-1xg41jv">These formulas would have no problem with the scene in The Shining where Jack Torrance writes “All work and no play makes Jack a dull boy,” over and over again. They do not check if the writing means anything.</p> | |||
</button></div> | |||
</div><div class="sr-only"><p>But proprietary tech like Lexile has some of the most disconcerting aspects of both worlds. As flawed as Flesch-Kincaid or Dale-Chall, but opaque and unexplainable. The main benefit of the F-K and D-C formulas (and other simple algorithms like Gunning-Fog and SMOG) is their transparency. A broken system locked in a black box can't even offer this.</p></div> | |||
<div aria-hidden class="svelte-1xg41jv outer"> | |||
<div class="svelte-1xg41jv inner show-standard"><div class="text standard svelte-1xg41jv"><p class="svelte-1xg41jv">But proprietary tech like Lexile has some of the most disconcerting aspects of both worlds. As flawed as Flesch-Kincaid or Dale-Chall, but opaque and unexplainable. The main benefit of the F-K and D-C formulas (and other simple algorithms like Gunning-Fog and SMOG) is their transparency. A broken system locked in a black box can't even offer this.</p> | |||
</div><button class="text plain svelte-1xg41jv faded"><p class="svelte-1xg41jv">At least we know how Flesch-Kincaid and Dale-Chall work. They are not perfect but we can explain them. We don’t even know what Lexile measures.</p> | |||
</button></div> | |||
</div> | |||
</section><div class="svelte-16d9zvc"><h3>Authors' note</h3> | |||
<p>A lot of people helped us write this article.</p><p>Thank you to Zoe Gross and Leah Mapstead for being our expert readers. Zoe and Leah told us how to make the article better. Zoe is Director of Advocacy at the Autistic Self-Advocacy Network. Leah is a disability advocate and actor.</p><p>Thank you to:</p><p>They made our article interactive. They helped brainstorm ideas. They told us how to make our writing better.</p><p>Thank you to Matt Hackert for making sure the article works on a screen reader. Matt leads the Center of Excellence in Nonvisual Accessibility at the National Federation of the Blind.</p><p>Thank you to Amy Silverman for helping come up with the idea for this article.</p><p>You can learn more about Kyra <a href="https://www.propublica.org/article/people-with-developmental-disabilities-were-promised-help-instead-they-face-delays-and-denials">here</a>.</p><p>You can learn more about how to write plain language and Easy Read <a href="https://autisticadvocacy.org/resources/accessibility/easyread/">here</a>, <a href="https://www.plainlanguage.gov/">here</a>, and <a href="https://www.easy-read-online.co.uk/media/10609/making-myself-clear.pdf">here</a>.</p> | |||
</div> |
@@ -0,0 +1,210 @@ | |||
<!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>On ne fera pas l’économie de parler distance des logements (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- 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)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_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> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://n.survol.fr/n/on-ne-fera-pas-leconomie-de-parler-distance-des-logements"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>On ne fera pas l’économie de parler distance des logements</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://n.survol.fr/n/on-ne-fera-pas-leconomie-de-parler-distance-des-logements" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>On parle beaucoup prix de l’essence, climat, et transition de la voiture vers d’autres modes de déplacement comme le vélo ou les transports en commun. </p> | |||
<p>Ces discussions arrivent régulièrement à l’objection « je suis loin, sans alternative, la voiture m’est indispensable », comme si la distance était une donnée externe intangible.</p> | |||
<p>La distance est pourtant un choix. C’est parfois un choix de confort, pour ne pas déménager, ou au contraire pour gagner en surface et en confort. C’est toujours un choix collectif d’organisation urbaine, avec des pôles résidentiel éloignés des pôles industriels et des centres villes.</p> | |||
<p>La distance a été considérée comme un paramètre accessoire parce qu’on pouvait se reposer sur la voiture et l’infrastructure routière.</p> | |||
<hr class="wp-block-separator"> | |||
<p>Le parti pris c’est qu’on ne fera pas l’économie de remettre ce choix en cause. Trop de gens dépendent de la voiture sans alternative. Si on veut pouvoir réduire la circulation automobile, il faut aussi réduire là où elle est nécessaire.</p> | |||
<p>On ne peut pas mettre tout le monde en centre ville. Il n’y a simplement pas la place. On ne peut pas construire un réseau de transport en commun qui circule loin, partout, à une fréquence qui permet de se reposer dessus. Ou plutôt on pourrait mais on n’est probablement pas prêt à en payer le coût.</p> | |||
<p>L’alternative qui nous reste c’est de repenser à la fois l’organisation collective et nos propres choix individuels.</p> | |||
<p>Ça veut dire inciter les bureaux à se disperser au lieu de les concentrer dans un centre d’affaire ou au centre ville.</p> | |||
<p>Ça veut dire arrêter le modèle pavillonnaire où les plus aisés s’éloignent pour trouver leur maison individuelle et leur jardin.</p> | |||
<p>Ça veut dire parfois déménager du coin qu’on aime ou du coin où on a habité historiquement pour suivre les contraintes de distance au travail ou aux activités, y compris si ça veut dire quitter la ville pour la campagne ou quitter la campagne pour la ville, ou d’autres compromis comme la surface ou le confort accessibles au même prix.</p> | |||
<p>Ça veut dire, pour ceux qui ont la chance de choisir leur travail, de le choisir aussi en fonction de la distance aux logements qu’on peut envisager derrière.</p> | |||
<p>Ça peut vouloir dire moins d’énormes métropoles centralisées et de petits villages où il n’y a rien, pour plus de villes et zones urbaines de moyenne importance qui sont relativement autonomes au niveau logement / travail / activités.</p> | |||
<p>Ça veut dire moins de maisons individuelles et plus de petits immeubles et logements en co-propriété.</p> | |||
<p>Ça veut dire des zones urbaines d’abord pensées pour se déplacer et y vivre sans voiture, au lieu d’être essentiellement pensées pour y circuler en voiture.</p> | |||
<hr class="wp-block-separator"> | |||
<p>Oui, ça ne veut pas dire que des choses attirantes.</p> | |||
<p>On a construit un modèle de société où le rêve est d’habiter dans une maison individuelle sans vis-a-vis avec un grand jardin, avec une ou plusieurs grosse voitures et une route large qui nous amène à une grande ville juste à côté.</p> | |||
<p>C’est ce modèle qu’il nous faut dépasser, et ça prendra bien plus que quelques années, que ce soit au niveau changement des mentalités ou au niveau de l’organisation urbaine.</p> | |||
<p>Améliorer les transports en commun et construire des pistes cyclables en zone urbaine dense c’est indispensable mais ça n’est que le minimum faisable à court terme. Ça ne suffira pas.</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<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> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(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 hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.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) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,81 @@ | |||
title: On ne fera pas l’économie de parler distance des logements | |||
url: https://n.survol.fr/n/on-ne-fera-pas-leconomie-de-parler-distance-des-logements | |||
hash_url: 47b228aca2d77bc5e7eee35437655a8e | |||
<p>On parle beaucoup prix de l’essence, climat, et transition de la voiture vers d’autres modes de déplacement comme le vélo ou les transports en commun. </p> | |||
<p>Ces discussions arrivent régulièrement à l’objection « je suis loin, sans alternative, la voiture m’est indispensable », comme si la distance était une donnée externe intangible.</p> | |||
<p>La distance est pourtant un choix. C’est parfois un choix de confort, pour ne pas déménager, ou au contraire pour gagner en surface et en confort. C’est toujours un choix collectif d’organisation urbaine, avec des pôles résidentiel éloignés des pôles industriels et des centres villes.</p> | |||
<p>La distance a été considérée comme un paramètre accessoire parce qu’on pouvait se reposer sur la voiture et l’infrastructure routière.</p> | |||
<hr class="wp-block-separator"> | |||
<p>Le parti pris c’est qu’on ne fera pas l’économie de remettre ce choix en cause. Trop de gens dépendent de la voiture sans alternative. Si on veut pouvoir réduire la circulation automobile, il faut aussi réduire là où elle est nécessaire.</p> | |||
<p>On ne peut pas mettre tout le monde en centre ville. Il n’y a simplement pas la place. On ne peut pas construire un réseau de transport en commun qui circule loin, partout, à une fréquence qui permet de se reposer dessus. Ou plutôt on pourrait mais on n’est probablement pas prêt à en payer le coût.</p> | |||
<p>L’alternative qui nous reste c’est de repenser à la fois l’organisation collective et nos propres choix individuels.</p> | |||
<p>Ça veut dire inciter les bureaux à se disperser au lieu de les concentrer dans un centre d’affaire ou au centre ville.</p> | |||
<p>Ça veut dire arrêter le modèle pavillonnaire où les plus aisés s’éloignent pour trouver leur maison individuelle et leur jardin.</p> | |||
<p>Ça veut dire parfois déménager du coin qu’on aime ou du coin où on a habité historiquement pour suivre les contraintes de distance au travail ou aux activités, y compris si ça veut dire quitter la ville pour la campagne ou quitter la campagne pour la ville, ou d’autres compromis comme la surface ou le confort accessibles au même prix.</p> | |||
<p>Ça veut dire, pour ceux qui ont la chance de choisir leur travail, de le choisir aussi en fonction de la distance aux logements qu’on peut envisager derrière.</p> | |||
<p>Ça peut vouloir dire moins d’énormes métropoles centralisées et de petits villages où il n’y a rien, pour plus de villes et zones urbaines de moyenne importance qui sont relativement autonomes au niveau logement / travail / activités.</p> | |||
<p>Ça veut dire moins de maisons individuelles et plus de petits immeubles et logements en co-propriété.</p> | |||
<p>Ça veut dire des zones urbaines d’abord pensées pour se déplacer et y vivre sans voiture, au lieu d’être essentiellement pensées pour y circuler en voiture.</p> | |||
<hr class="wp-block-separator"> | |||
<p>Oui, ça ne veut pas dire que des choses attirantes.</p> | |||
<p>On a construit un modèle de société où le rêve est d’habiter dans une maison individuelle sans vis-a-vis avec un grand jardin, avec une ou plusieurs grosse voitures et une route large qui nous amène à une grande ville juste à côté.</p> | |||
<p>C’est ce modèle qu’il nous faut dépasser, et ça prendra bien plus que quelques années, que ce soit au niveau changement des mentalités ou au niveau de l’organisation urbaine.</p> | |||
<p>Améliorer les transports en commun et construire des pistes cyclables en zone urbaine dense c’est indispensable mais ça n’est que le minimum faisable à court terme. Ça ne suffira pas.</p> |
@@ -0,0 +1,264 @@ | |||
<!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>Why not everything I do is “Open” or “Free” (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- 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)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_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> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://overengineer.dev/blog/2021/12/12/why-not-everything-i-do-is-open-or-free.html"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>Why not everything I do is “Open” or “Free”</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://overengineer.dev/blog/2021/12/12/why-not-everything-i-do-is-open-or-free.html" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>There is a high chance that, if you know me, you know me for some of my work on Free and/or Open Source projects, and you might know me as a supporter of such projects and parts of the culture. So it might seem odd that I deliberately decide <em>not</em> to release some of my work under such terms. I have been asked so many times about this, I decided to take the time and put my thoughts into a thing I can link to. This is more a collection of individual thoughts rather than a cohesive article.</p> | |||
<h2 id="software-projects">Software projects</h2> | |||
<p>I consider myself lucky in the way that I not only got the chance to work on and with a lot of amazing Free and/or Open Source projects in my free time, but that I am also able to spend my workdays working on Open Source software and earn my living that way. I had the chance to join a great project in its early days. Over time, that project grew to over 12k stars on GitHub, and I eventually ended up leading that project from an administrative side. Unfortunately, while most of that work was incredibly rewarding and fun, I also learned about the issues in such projects.</p> | |||
<h3 id="code-dumping-does-not-work">“Code dumping” does not work</h3> | |||
<p>A lot of people suggest “just upload your code to a code-sharing site and be done with it”. Not only do I personally find that incredibly counterproductive, but the whole idea of “Dump and Forget” does not work out.</p> | |||
<p>Imagine building a little RTMP server in Rust, because you are frustrated with the nginx RTMP modules, and you wanted to learn Rust anyway. So you create a public GitHub repository and start working on it. After some months, you have reached a state where “the basics work just fine”, and then you stop working on it because you moved on towards new and more exciting things. Maybe you even had the foresight to add a “this project is incomplete and unmaintained” notice to the README. Sometime in the future, somebody will find your project. It could be that they searched for “RTMP server in Rust” and found it. Maybe they just looked through the “#rtmp” tag on GitHub, or they reached your project by other means. And instead of just moving on and looking at other projects, some people <em>will</em> skip your warnings.</p> | |||
<p>I had multiple projects of that kind. And even though I had very explicit warnings about projects not being production-ready in the README - some projects even had the “archived” status on GitHub - that did not stop people from actually looking into it. I received countless issues and emails with “suggestions” (read: demands) on what to add and questions about how to build and run things because some outdated dependency did break or was no longer available. I even once had a company reach out to me, asking for help because a piece of server automation I shared ended up messing up their production environment, hoping I could help them figure out what happened. Unfortunately, I could not, and I ended up deleting that project.</p> | |||
<p>When I share software projects publicly, then I do this because I think that a) someone could use that project to help them solve an issue, or b) they could learn something from looking at how I solved an issue or how I implemented a specific piece of logic. Quite honestly, for most of the projects we all create “on the side”, neither is true. Dumping unfinished, unpolished, unmaintained, and potentially badly designed or even insecure projects onto the internet is not benefitting anyone.</p> | |||
<h3 id="open-source-is-not-just-about-open-source">Open Source is not just about open source</h3> | |||
<p>Here is the thing: making a project’s code accessible to any audience is just a small piece of running an open-source <em>project</em>. Take GitHub, for example: you can turn off the issue tracker and turn off project discussions, but you cannot turn off the ability for people to create pull requests. And I get that, the whole “fork it, change it, and submit your changes upstream” culture is a huge part of open source - and one part I really like about (F)OSS projects.</p> | |||
<p>The problem, though, is that reviewing pull requests, paying adequate attention, and providing helpful feedback takes <em>a lot</em> of time and energy. Reviewing code sometimes feels harder than writing code, and I do believe that this is true to a certain extend: you not only have to understand the intentions of the person writing the code, you also have to think about how this new code fits into the existing system and if there are any side-effects that might be tricky to catch from looking at the implementation itself. As an individual who just uploaded pieces of code to GitHub without considering them “a project”, you have two options:</p> | |||
<ol> | |||
<li>Just merging pretty much everything without too much care or attention. This is surprisingly common in smaller projects, but I can’t see how that’s a good idea. Projects that work like that frequently make breaking changes by accident, break completely, or end up in a state where the code is inconsistent or hard to maintain. When your project is large enough that people actually do submit pull requests for it, then your project is likely used by a non-zero amount of other folks. Leaving your project in an unstable or unpredictable state will cause more frustration and harm than not making your project available in the first place.</li> | |||
<li>Ignoring Pull Requests completely. This is just… kinda disrespectful. Sure, if you have a note in your README that says you’ll not accept pull requests, or something similar, then you would be justified in just ignoring them or closing them without taking a look. But if you get a pull request, then someone else has spent time on your project, and just throwing that away is not good. Ignoring pull requests has an unfortunate side effect as well: the people working on and with your project could just continue their work in their own fork without ever bringing the changes upstream. This might sound like a feature at first, but this can become harmful as soon as there is more than one active fork. Forks usually do not sync back up, so you end up with multiple completely diverging projects that all have their pros and cons, and the “which fork should I be using?” question becomes a big issue for users.</li> | |||
</ol> | |||
<p>Running a (F)OSS project is not just about managing contributions to code, though. You will also get questions from users of your project, you usually have to provide a lot of documentation, maybe even plan out “stable” releases, and properly tag and distribute those… There’s a lot of stuff that needs to be done, and that all takes a lot of time. If you’re not committed to spending that time, then you cannot run a project, and you shouldn’t even try.</p> | |||
<h3 id="when-projects-become-big">When projects become big</h3> | |||
<p>If you are lucky - or unlucky - enough, your project might become big. Unless you are a company, or your project is for some other reason part of your work life and not just a volunteering side project, I consider projects becoming big a curse. The increase in contributors is not proportional to the increase of time and effort you have to spend to keep a project alive. Even if you publish something like a code library that’s only ever used by fellow programmers, the amount of questions and suggestions will always exceed the number of contributions - and unfortunately, providing support is one of the tasks most contributors don’t like to help out on, because “that’s the maintainers job”.</p> | |||
<p>In one large project I’ve worked on, I found myself in a situation where 90% of my time was spent helping people, leading discussions, generally moderating communication channels, reviewing pull requests, making architectural suggestions, … - and only 10% with actually writing code. All that non-code work can be super fun and rewarding, and I enjoyed it a lot. But if you start a project because you want to write code, this can be troubling. :)</p> | |||
<p>One thing that <em>does</em> scale with your project size is the number of bad actors. And I’m not even talking about people who’re trying to find security vulnerabilities in your project with malicious intents, but rather people who disrupt discussions and people whose primary motivation appears to be to annoy maintainers. Now, this is obviously not a binary state, but rather a huge gradient of different behaviors, and sometimes, the bad behavior might not even be deliberate.</p> | |||
<p>If you are using a project, and that project breaks or changes in a way that you find bad, you might be annoyed. If you found a project that <em>almost</em> solves your need but falls short on a single aspect, you might request a feature or suggest a change, and you might be agitated if you do not get positive responses to that. If you are a contributor, and your pull request got rejected, or you just received the fourth round of review tasks that will take you multiple days, you might be angry and wish for that task to just be done already. All those people might use a project’s discussion board, chatrooms, issue trackers, or just social media, to vent that frustration. And honestly, I kinda get that.</p> | |||
<p>Unfortunately, all this sums up if you are on the receiving end of those vents. You could leave all that stuff alone and just ignore it, but you know that this will turn your project’s communication channel into a wasteland that nobody can use productively. Or you start moderating things, but this will make the people in question even angrier and thus will cause you even more work. There is no win-condition here, and no matter how Rainbow Unicorn’y your project is, you <em>will</em> run into those situations.</p> | |||
<p>As soon as your project becomes big, a lot of people will be very angry with you, all the time, for all kinds of reasons. The project’s website with documentation went down while you were sleeping? You shipped a bug affecting a company that makes millions with an application that uses your library? You need more than eleven seconds to resolve a security issue and ship a release? You decide that you would like to take the project in a different direction and one of your contributors is not happy with it? You decide that you will not be looking at this one giant pull request this Sunday? You asked for … a donation? You will be yelled at, no matter what you do.</p> | |||
<h3 id="responsibility-and-mental-stress">Responsibility, and mental stress</h3> | |||
<p>I am trying to make this post as generic as possible, but this is a section where I have to talk about <em>me</em>. Many people are fine with the things I wrote above, and they can just deal with the constant negative things and just feed off the positive experiences. Unfortunately, I am not that kind of person. Nobody would call 2020 or 2021 <em>good</em> years, but for me, my (F)OSS work reached a point where I had to hit the emergency brake. While I am usually okay with not letting yelling people get to me, brains do this funny thing where they accumulate multiple simultaneous problems into a state where everything wants to explode.</p> | |||
<p>I worked on a project that was always very important to me for years. Not just because I used it a lot, but also because I thought it was an important project and because I liked the community around it. Over time, I naturally “evolved” from writing code into spending most of my time with the other non-code’y things I mentioned above, and honestly, I quite liked it. At one point, I decided that the project’s less-than-ideal public-facing website, as well as developer and user documentation, is something that needs more attention. So I did what every rational human would do and came up with a plan to rebuild everything in that category completely from scratch. You will not be surprised to learn that, while this decision made sense and the plans I came up with were pretty good, this did not get done. There just were too many other things that needed to be done, and I am not the kind of person who gets a lot of satisfaction out of spending all of my free time writing documentation and marketing texts.</p> | |||
<p>However, this left me in a peculiar spot. We all agreed that this work was important, I started this work, and I owned this work. More often than not, when I felt like working on that project, I did not feel like working on the documentation piece. But because I felt this work was the <em>most important</em> thing I could do, I convinced myself that I should prioritize that work and not do other things. This, however, only resulted in me not doing anything at all. Eventually, I felt <em>bad</em> for not working on that project and then tried to force myself into it. This <em>worked</em> a bit, but my output was, naturally, not the best quality. Because the project was important to me, and because I can be a bit of a perfectionist, this led into a spiral where I felt bad for the work that was done and thus felt like not working on it, while also feeling bad for not working on it. Very fun state to be in!</p> | |||
<p>I tried powering through that, and this is how it went:</p> | |||
<p class="center"><img src="/statics/blog/20211212/github-graph.png" alt='A screenshot of the "GitHub Contribution Graph". The first half of the graph shows a lot of activity, where the majority of squares are marked. The second half, however, shows a significant drop in activity.' class="center"> | |||
(<em>Screenshot of my “GitHub Contribution Graph”, taken in May 2021. You can clearly see the point where I decided I had enough: December 2020.</em>)</p> | |||
<p>This “documentation project” issue alone would have been resolvable. I could have just ended that project or gotten other people into contributing more to those efforts. Unfortunately, such problems never come alone in large projects because you’re not working alone and you’re not in a bubble. In my case, these feelings were paired with me using that project less and less, with a not insignificant amount of people constantly demanding to implement certain features, asking “why is X not done yet?”, and continuously criticizing some of my decisions and some of the project’s decision in a very aggressive manner.</p> | |||
<p>I ended up completely dropping out of that project as a way of preserving my mental health. In fact, I dropped out of all my (F)OSS projects, and I even deleted some of my “code dump” projects on GitHub.</p> | |||
<p>Now, I’m not going to write about burnout, especially (F)OSS maintainer’s burnout, or about the unreasonable expectations people have towards project maintainers. If you have read this post this far, you most likely have read articles about this that explained things far better than I could do. But this whole ordeal has absolutely contributed to my decision to massively scale down the number of “open” and “free” things I work on. If I want to release a project as Open Source, then I absolutely want to make sure that these things do not become an issue again. However, for most projects, this kind of preparation is simply not worth it.</p> | |||
<h2 id="hardware-projects-and-hardware-designs">Hardware projects and hardware designs</h2> | |||
<p>Enough about software. Sometimes, I do hardware projects as well: everything from 3D printed designs to electrical engineering. These projects are lesser-known, mainly because I’ve never really shared them besides some post on social media and some chats with friends, but they exist nonetheless<sup id="fnref:1"></sup>. All the reasons I previously explained still apply here, and I do not want these projects to be open for collaboration most of the time. However, there are additional points here, and the most important one is:</p> | |||
<p>I’m not an expert on these things.</p> | |||
<p>Hardware projects are always a bit more complicated than software projects. If software goes wrong, at least for the kinds of software I create, you might get a crash or two, or something might not work correctly, but no considerable harm will be done. For hardware projects, the consequences of a “bug” are far more severe: You could waste a lot of material and energy trying to reproduce a 3D print. You could actually physically <em>break</em> stuff while trying to modify an existing appliance. Hardware projects could result in broken components, or worse: in broken devices you attached my projects to. I don’t want to be responsible for any of that.</p> | |||
<p>When I work on a hardware project, I very much only build things for myself. The measurements are <em>exactly</em> what I need and fine-tuned to what I know I can produce. Electronics are designed to work in the environment I build and the limitations I set up. The firmware does precisely what I need it to in a very stubborn way, and especially the “smart” “devices” usually depend on other pieces of infrastructure that are very special to my home.</p> | |||
<p>While turning those projects into things that could be useful in other environments and more generalized setups, I consider them a playground (and learning ground) for myself, and I generally do not want to spend the time on making it more useful to more than just me.</p> | |||
<h2 id="artsy-and-creative-things">Artsy and creative things</h2> | |||
<p>I used to publish all my photos and other stuff using a license that allowed usage of my things without any license fees, even in commercial environments. The only limitation was that you needed to properly credit me as the author. These days, I do not use free licenses for my contents anymore.</p> | |||
<p>“Clearly state who made this thing” sounds like a simple requirement, but it was frustrating how frequently this was violated. Frequently, users of “alternative social networks” posted my content without any credit whatsoever and then reacted aggressively and defensively when asked to stop doing that and asked to respect the license terms. This is especially ironic since it’s the same group of people that frequently <em>shames</em> artists for not using those kinds of licenses in the first place.</p> | |||
<p>However, what finally tipped me over into no longer using this kind of license was when a multi-billion dollar company used several of my photos from a certain location in a print brochure to advertise their expensive all-inclusive holiday packages to that exact location. Being a nice guy, I started by sending them a friendly email, asking them to maybe consider not violating my license, and instructing them how and where to properly credit me according to the license. As you would expect, I received zero response to that.</p> | |||
<p>So I ended up hiring a lawyer and pursuing legal action against that company. Unfortunately, this turned out to be a huge pain. Many legal systems are based around the concept of <em>damages</em> and <em>indemnification</em>, but as it turns out, it’s really hard to claim damage when you’re literally giving away stuff for free. Try finding an attorney with experience in international copyright affairs if the monetary damage you claim is Zero! It’s also super frustrating if the same case involves parties from many different countries, where Copyright appears to be even weirder than it is in Germany. Ultimately, after way more than a year of legal battle, the best outcome we could achieve was that that company paid a laughable amount of money (actually less than my camera setup that took this photo is worth), stops printing new flyers with my photos, and that the company has to cover my legal expenses in this case.</p> | |||
<p>If dealing with such topics is part of sharing things online anyway, then at least I want to have some control over it. I share things because I want others to look at them and not because I want others to re-use them. I can achieve what I want to achieve by simply not using the kinds of licenses that have caused me issues before, and as time has shown, the individuals who redistribute things without any credit or care will do it anyway.</p> | |||
<h2 id="but-what-if-you-really-want-to-use-something-i-did">But what if you <em>really</em> want to use something I did?</h2> | |||
<p>There is a chance that you’ve reached this article because I linked to it somewhere else. In that case, you might still be really interested in using or getting access to a thing I did. If that is the case, simply reach out to me. You can find contact information on <a href="/me/card.html">my profile on this website</a>.</p> | |||
<p>If you’re a private individual who wants to use a photo on a personal website, or you want to build something on top of a hardware project I did, this should be really simple to work out. Get in touch, and let’s have a chat. If you have commercial interests or are a company, I still encourage you to reach out. However, please note that I’m unlikely to give away things for free depending on what we’re talking about and depending on your use case. At the same time, I can provide you with legal and taxable invoices for almost all countries, so I am sure you will be fine.</p> | |||
<p>If you made it this far into this text… I hope you have a nice day. Stay safe, take care!</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<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> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(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 hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.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) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,97 @@ | |||
title: Why not everything I do is “Open” or “Free” | |||
url: https://overengineer.dev/blog/2021/12/12/why-not-everything-i-do-is-open-or-free.html | |||
hash_url: 571d5d3f9d63d9ec4a8107e5abd15941 | |||
<p>There is a high chance that, if you know me, you know me for some of my work on Free and/or Open Source projects, and you might know me as a supporter of such projects and parts of the culture. So it might seem odd that I deliberately decide <em>not</em> to release some of my work under such terms. I have been asked so many times about this, I decided to take the time and put my thoughts into a thing I can link to. This is more a collection of individual thoughts rather than a cohesive article.</p> | |||
<h2 id="software-projects">Software projects</h2> | |||
<p>I consider myself lucky in the way that I not only got the chance to work on and with a lot of amazing Free and/or Open Source projects in my free time, but that I am also able to spend my workdays working on Open Source software and earn my living that way. I had the chance to join a great project in its early days. Over time, that project grew to over 12k stars on GitHub, and I eventually ended up leading that project from an administrative side. Unfortunately, while most of that work was incredibly rewarding and fun, I also learned about the issues in such projects.</p> | |||
<h3 id="code-dumping-does-not-work">“Code dumping” does not work</h3> | |||
<p>A lot of people suggest “just upload your code to a code-sharing site and be done with it”. Not only do I personally find that incredibly counterproductive, but the whole idea of “Dump and Forget” does not work out.</p> | |||
<p>Imagine building a little RTMP server in Rust, because you are frustrated with the nginx RTMP modules, and you wanted to learn Rust anyway. So you create a public GitHub repository and start working on it. After some months, you have reached a state where “the basics work just fine”, and then you stop working on it because you moved on towards new and more exciting things. Maybe you even had the foresight to add a “this project is incomplete and unmaintained” notice to the README. Sometime in the future, somebody will find your project. It could be that they searched for “RTMP server in Rust” and found it. Maybe they just looked through the “#rtmp” tag on GitHub, or they reached your project by other means. And instead of just moving on and looking at other projects, some people <em>will</em> skip your warnings.</p> | |||
<p>I had multiple projects of that kind. And even though I had very explicit warnings about projects not being production-ready in the README - some projects even had the “archived” status on GitHub - that did not stop people from actually looking into it. I received countless issues and emails with “suggestions” (read: demands) on what to add and questions about how to build and run things because some outdated dependency did break or was no longer available. I even once had a company reach out to me, asking for help because a piece of server automation I shared ended up messing up their production environment, hoping I could help them figure out what happened. Unfortunately, I could not, and I ended up deleting that project.</p> | |||
<p>When I share software projects publicly, then I do this because I think that a) someone could use that project to help them solve an issue, or b) they could learn something from looking at how I solved an issue or how I implemented a specific piece of logic. Quite honestly, for most of the projects we all create “on the side”, neither is true. Dumping unfinished, unpolished, unmaintained, and potentially badly designed or even insecure projects onto the internet is not benefitting anyone.</p> | |||
<h3 id="open-source-is-not-just-about-open-source">Open Source is not just about open source</h3> | |||
<p>Here is the thing: making a project’s code accessible to any audience is just a small piece of running an open-source <em>project</em>. Take GitHub, for example: you can turn off the issue tracker and turn off project discussions, but you cannot turn off the ability for people to create pull requests. And I get that, the whole “fork it, change it, and submit your changes upstream” culture is a huge part of open source - and one part I really like about (F)OSS projects.</p> | |||
<p>The problem, though, is that reviewing pull requests, paying adequate attention, and providing helpful feedback takes <em>a lot</em> of time and energy. Reviewing code sometimes feels harder than writing code, and I do believe that this is true to a certain extend: you not only have to understand the intentions of the person writing the code, you also have to think about how this new code fits into the existing system and if there are any side-effects that might be tricky to catch from looking at the implementation itself. As an individual who just uploaded pieces of code to GitHub without considering them “a project”, you have two options:</p> | |||
<ol> | |||
<li>Just merging pretty much everything without too much care or attention. This is surprisingly common in smaller projects, but I can’t see how that’s a good idea. Projects that work like that frequently make breaking changes by accident, break completely, or end up in a state where the code is inconsistent or hard to maintain. When your project is large enough that people actually do submit pull requests for it, then your project is likely used by a non-zero amount of other folks. Leaving your project in an unstable or unpredictable state will cause more frustration and harm than not making your project available in the first place.</li> | |||
<li>Ignoring Pull Requests completely. This is just… kinda disrespectful. Sure, if you have a note in your README that says you’ll not accept pull requests, or something similar, then you would be justified in just ignoring them or closing them without taking a look. But if you get a pull request, then someone else has spent time on your project, and just throwing that away is not good. Ignoring pull requests has an unfortunate side effect as well: the people working on and with your project could just continue their work in their own fork without ever bringing the changes upstream. This might sound like a feature at first, but this can become harmful as soon as there is more than one active fork. Forks usually do not sync back up, so you end up with multiple completely diverging projects that all have their pros and cons, and the “which fork should I be using?” question becomes a big issue for users.</li> | |||
</ol> | |||
<p>Running a (F)OSS project is not just about managing contributions to code, though. You will also get questions from users of your project, you usually have to provide a lot of documentation, maybe even plan out “stable” releases, and properly tag and distribute those… There’s a lot of stuff that needs to be done, and that all takes a lot of time. If you’re not committed to spending that time, then you cannot run a project, and you shouldn’t even try.</p> | |||
<h3 id="when-projects-become-big">When projects become big</h3> | |||
<p>If you are lucky - or unlucky - enough, your project might become big. Unless you are a company, or your project is for some other reason part of your work life and not just a volunteering side project, I consider projects becoming big a curse. The increase in contributors is not proportional to the increase of time and effort you have to spend to keep a project alive. Even if you publish something like a code library that’s only ever used by fellow programmers, the amount of questions and suggestions will always exceed the number of contributions - and unfortunately, providing support is one of the tasks most contributors don’t like to help out on, because “that’s the maintainers job”.</p> | |||
<p>In one large project I’ve worked on, I found myself in a situation where 90% of my time was spent helping people, leading discussions, generally moderating communication channels, reviewing pull requests, making architectural suggestions, … - and only 10% with actually writing code. All that non-code work can be super fun and rewarding, and I enjoyed it a lot. But if you start a project because you want to write code, this can be troubling. :)</p> | |||
<p>One thing that <em>does</em> scale with your project size is the number of bad actors. And I’m not even talking about people who’re trying to find security vulnerabilities in your project with malicious intents, but rather people who disrupt discussions and people whose primary motivation appears to be to annoy maintainers. Now, this is obviously not a binary state, but rather a huge gradient of different behaviors, and sometimes, the bad behavior might not even be deliberate.</p> | |||
<p>If you are using a project, and that project breaks or changes in a way that you find bad, you might be annoyed. If you found a project that <em>almost</em> solves your need but falls short on a single aspect, you might request a feature or suggest a change, and you might be agitated if you do not get positive responses to that. If you are a contributor, and your pull request got rejected, or you just received the fourth round of review tasks that will take you multiple days, you might be angry and wish for that task to just be done already. All those people might use a project’s discussion board, chatrooms, issue trackers, or just social media, to vent that frustration. And honestly, I kinda get that.</p> | |||
<p>Unfortunately, all this sums up if you are on the receiving end of those vents. You could leave all that stuff alone and just ignore it, but you know that this will turn your project’s communication channel into a wasteland that nobody can use productively. Or you start moderating things, but this will make the people in question even angrier and thus will cause you even more work. There is no win-condition here, and no matter how Rainbow Unicorn’y your project is, you <em>will</em> run into those situations.</p> | |||
<p>As soon as your project becomes big, a lot of people will be very angry with you, all the time, for all kinds of reasons. The project’s website with documentation went down while you were sleeping? You shipped a bug affecting a company that makes millions with an application that uses your library? You need more than eleven seconds to resolve a security issue and ship a release? You decide that you would like to take the project in a different direction and one of your contributors is not happy with it? You decide that you will not be looking at this one giant pull request this Sunday? You asked for … a donation? You will be yelled at, no matter what you do.</p> | |||
<h3 id="responsibility-and-mental-stress">Responsibility, and mental stress</h3> | |||
<p>I am trying to make this post as generic as possible, but this is a section where I have to talk about <em>me</em>. Many people are fine with the things I wrote above, and they can just deal with the constant negative things and just feed off the positive experiences. Unfortunately, I am not that kind of person. Nobody would call 2020 or 2021 <em>good</em> years, but for me, my (F)OSS work reached a point where I had to hit the emergency brake. While I am usually okay with not letting yelling people get to me, brains do this funny thing where they accumulate multiple simultaneous problems into a state where everything wants to explode.</p> | |||
<p>I worked on a project that was always very important to me for years. Not just because I used it a lot, but also because I thought it was an important project and because I liked the community around it. Over time, I naturally “evolved” from writing code into spending most of my time with the other non-code’y things I mentioned above, and honestly, I quite liked it. At one point, I decided that the project’s less-than-ideal public-facing website, as well as developer and user documentation, is something that needs more attention. So I did what every rational human would do and came up with a plan to rebuild everything in that category completely from scratch. You will not be surprised to learn that, while this decision made sense and the plans I came up with were pretty good, this did not get done. There just were too many other things that needed to be done, and I am not the kind of person who gets a lot of satisfaction out of spending all of my free time writing documentation and marketing texts.</p> | |||
<p>However, this left me in a peculiar spot. We all agreed that this work was important, I started this work, and I owned this work. More often than not, when I felt like working on that project, I did not feel like working on the documentation piece. But because I felt this work was the <em>most important</em> thing I could do, I convinced myself that I should prioritize that work and not do other things. This, however, only resulted in me not doing anything at all. Eventually, I felt <em>bad</em> for not working on that project and then tried to force myself into it. This <em>worked</em> a bit, but my output was, naturally, not the best quality. Because the project was important to me, and because I can be a bit of a perfectionist, this led into a spiral where I felt bad for the work that was done and thus felt like not working on it, while also feeling bad for not working on it. Very fun state to be in!</p> | |||
<p>I tried powering through that, and this is how it went:</p> | |||
<p class="center"><img src="/statics/blog/20211212/github-graph.png" alt='A screenshot of the "GitHub Contribution Graph". The first half of the graph shows a lot of activity, where the majority of squares are marked. The second half, however, shows a significant drop in activity.' class="center"> | |||
(<em>Screenshot of my “GitHub Contribution Graph”, taken in May 2021. You can clearly see the point where I decided I had enough: December 2020.</em>)</p> | |||
<p>This “documentation project” issue alone would have been resolvable. I could have just ended that project or gotten other people into contributing more to those efforts. Unfortunately, such problems never come alone in large projects because you’re not working alone and you’re not in a bubble. In my case, these feelings were paired with me using that project less and less, with a not insignificant amount of people constantly demanding to implement certain features, asking “why is X not done yet?”, and continuously criticizing some of my decisions and some of the project’s decision in a very aggressive manner.</p> | |||
<p>I ended up completely dropping out of that project as a way of preserving my mental health. In fact, I dropped out of all my (F)OSS projects, and I even deleted some of my “code dump” projects on GitHub.</p> | |||
<p>Now, I’m not going to write about burnout, especially (F)OSS maintainer’s burnout, or about the unreasonable expectations people have towards project maintainers. If you have read this post this far, you most likely have read articles about this that explained things far better than I could do. But this whole ordeal has absolutely contributed to my decision to massively scale down the number of “open” and “free” things I work on. If I want to release a project as Open Source, then I absolutely want to make sure that these things do not become an issue again. However, for most projects, this kind of preparation is simply not worth it.</p> | |||
<h2 id="hardware-projects-and-hardware-designs">Hardware projects and hardware designs</h2> | |||
<p>Enough about software. Sometimes, I do hardware projects as well: everything from 3D printed designs to electrical engineering. These projects are lesser-known, mainly because I’ve never really shared them besides some post on social media and some chats with friends, but they exist nonetheless<sup id="fnref:1"></sup>. All the reasons I previously explained still apply here, and I do not want these projects to be open for collaboration most of the time. However, there are additional points here, and the most important one is:</p> | |||
<p>I’m not an expert on these things.</p> | |||
<p>Hardware projects are always a bit more complicated than software projects. If software goes wrong, at least for the kinds of software I create, you might get a crash or two, or something might not work correctly, but no considerable harm will be done. For hardware projects, the consequences of a “bug” are far more severe: You could waste a lot of material and energy trying to reproduce a 3D print. You could actually physically <em>break</em> stuff while trying to modify an existing appliance. Hardware projects could result in broken components, or worse: in broken devices you attached my projects to. I don’t want to be responsible for any of that.</p> | |||
<p>When I work on a hardware project, I very much only build things for myself. The measurements are <em>exactly</em> what I need and fine-tuned to what I know I can produce. Electronics are designed to work in the environment I build and the limitations I set up. The firmware does precisely what I need it to in a very stubborn way, and especially the “smart” “devices” usually depend on other pieces of infrastructure that are very special to my home.</p> | |||
<p>While turning those projects into things that could be useful in other environments and more generalized setups, I consider them a playground (and learning ground) for myself, and I generally do not want to spend the time on making it more useful to more than just me.</p> | |||
<h2 id="artsy-and-creative-things">Artsy and creative things</h2> | |||
<p>I used to publish all my photos and other stuff using a license that allowed usage of my things without any license fees, even in commercial environments. The only limitation was that you needed to properly credit me as the author. These days, I do not use free licenses for my contents anymore.</p> | |||
<p>“Clearly state who made this thing” sounds like a simple requirement, but it was frustrating how frequently this was violated. Frequently, users of “alternative social networks” posted my content without any credit whatsoever and then reacted aggressively and defensively when asked to stop doing that and asked to respect the license terms. This is especially ironic since it’s the same group of people that frequently <em>shames</em> artists for not using those kinds of licenses in the first place.</p> | |||
<p>However, what finally tipped me over into no longer using this kind of license was when a multi-billion dollar company used several of my photos from a certain location in a print brochure to advertise their expensive all-inclusive holiday packages to that exact location. Being a nice guy, I started by sending them a friendly email, asking them to maybe consider not violating my license, and instructing them how and where to properly credit me according to the license. As you would expect, I received zero response to that.</p> | |||
<p>So I ended up hiring a lawyer and pursuing legal action against that company. Unfortunately, this turned out to be a huge pain. Many legal systems are based around the concept of <em>damages</em> and <em>indemnification</em>, but as it turns out, it’s really hard to claim damage when you’re literally giving away stuff for free. Try finding an attorney with experience in international copyright affairs if the monetary damage you claim is Zero! It’s also super frustrating if the same case involves parties from many different countries, where Copyright appears to be even weirder than it is in Germany. Ultimately, after way more than a year of legal battle, the best outcome we could achieve was that that company paid a laughable amount of money (actually less than my camera setup that took this photo is worth), stops printing new flyers with my photos, and that the company has to cover my legal expenses in this case.</p> | |||
<p>If dealing with such topics is part of sharing things online anyway, then at least I want to have some control over it. I share things because I want others to look at them and not because I want others to re-use them. I can achieve what I want to achieve by simply not using the kinds of licenses that have caused me issues before, and as time has shown, the individuals who redistribute things without any credit or care will do it anyway.</p> | |||
<h2 id="but-what-if-you-really-want-to-use-something-i-did">But what if you <em>really</em> want to use something I did?</h2> | |||
<p>There is a chance that you’ve reached this article because I linked to it somewhere else. In that case, you might still be really interested in using or getting access to a thing I did. If that is the case, simply reach out to me. You can find contact information on <a href="/me/card.html">my profile on this website</a>.</p> | |||
<p>If you’re a private individual who wants to use a photo on a personal website, or you want to build something on top of a hardware project I did, this should be really simple to work out. Get in touch, and let’s have a chat. If you have commercial interests or are a company, I still encourage you to reach out. However, please note that I’m unlikely to give away things for free depending on what we’re talking about and depending on your use case. At the same time, I can provide you with legal and taxable invoices for almost all countries, so I am sure you will be fine.</p> | |||
<p>If you made it this far into this text… I hope you have a nice day. Stay safe, take care!</p> |
@@ -0,0 +1,202 @@ | |||
<!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>writing as a practice (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- 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)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_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> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://winnielim.org/journal/writing-as-a-practice/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>writing as a practice</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://winnielim.org/journal/writing-as-a-practice/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>For most of my life, I depended on my feelings to do things. Writing was one of them. I could write regularly because I loved it and I actively wanted to write. But something has changed in the past few years. I am not really sure what exactly has changed, but if I were to hypothesise I think gaining inner peace is not really good for writing – at least in my shoes.</p> | |||
<p>I am definitely not at peace, but my inner state is a lot less noisy than before. I was always simmering with some level of suffering that was induced by some form of self-torture. Thus I had looked forward to writing as a form of catharsis. There was so much pent-up energy, so much repressed sadness and anger.</p> | |||
<p>Now I am a lot more moderate in my thinking and actions, so as a result everything else is also more moderate. Moderation is not a really good state for writing because it doesn’t compel – it doesn’t make our emotions well up ready to burst at any moment. Slowly, I sort of lost the desire to write. I say ‘sort of’ because now I can see that it is not that I truly lost the desire to write, it is just that I was so used to feeling a sort of emotion that would compel me to write, and I associated that with the actual desire to do so. </p> | |||
<hr class="wp-block-separator"> | |||
<p>I didn’t “feel” like writing this piece for example, but I designated time to write this because I intellectually thought it was important. Now that I am actually in the middle it I am enjoying the process and the sound of words unfolding from my fingers. So if I had waited to “feel” like writing I probably wouldn’t have written for a long while until some major event shakes my life.</p> | |||
<p>I guess I need to get used to my mind pulsing a lot slower now – the words are still there, but not boiling over like before. I just need to set aside some time and space for them to gently appear instead of how they used to be so fast and furious.</p> | |||
<hr class="wp-block-separator"> | |||
<p>After going back and forth on this for now I am settling into the position that publishing regularly is a healthy practice for me. I was tempted to totally stop publishing because I just wasn’t sure if there was any value. Maybe I’ll still change my mind some day, but currently I think the practice of publishing regularly keeps me honest. It can be awkward and embarrassing when I realised I no longer agree with what I wrote, but to have a public changelog of how I have evolved as a person is somewhat humbling and clarifying. </p> | |||
<p>Somehow the thoughts and words that appear on this website is very different from the ones in my private journals. I seem to have a different persona that is only revealed on this website. I appreciate quite a bit of stuff I have written here in the past, stuff that perhaps I wouldn’t have a record of if I didn’t make it a regular habit to capture a somewhat weekly snapshot of my psyche.</p> | |||
<hr class="wp-block-separator"> | |||
<p>With the intention of gifting myself more flexibility, I had an invisible rule that I could publish any day I wanted as long as it was once per week. But as the days went by I found myself elongating the days in-between. Instead of publishing once every seven days I was averaging ten, sometimes 14 – as once per week became the first and last days of two weeks. </p> | |||
<p>A few weeks back I decided I would go back to publishing on sunday, rain or shine. It is just easier to have a fixed and regular practice when I know I should show up and write no matter what. But I wouldn’t have known if I didn’t <a href="https://winnielim.org/journal/changing-the-way-i-write-and-publish/" data-type="post" data-id="3578">try otherwise</a>. </p> | |||
<p>I am trying to write drafts earlier though, instead of writing a full post in one sitting. Hopefully I’ll get to know my own cadence soon, and learn how to write meatier posts across multiple sittings in a more sustainable manner, on top of these stream-of-consciousness snapshots.</p> | |||
<figure class="wp-block-image size-large is-resized"><img src="https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1600x1067.png" alt="illustration on designated publishing day" class="wp-image-4295" srcset="https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1600x1067.png 1600w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-700x467.png 700w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-300x200.png 300w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-768x512.png 768w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1536x1024.png 1536w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-2048x1365.png 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<p>I guess this is a very long way to say that I am back to publishing every sunday – which I had been doing for years since 2011 before the recent few – if you show up here on monday you could probably read something new. In-between I am still hoping to write a few<a href="/notes" data-type="URL" data-id="/notes"> notes</a> here and there. I’ve always taken the ease of writing for granted because as mentioned I’ve always had thoughts bubbling over eagerly waiting to be translated into the written form, but as I get older and busier with other non-mind stuff like cooking, I have realised how much it takes to sit down, go into a light form of trance and write, even if it is just a short note.</p> | |||
<p>But I think overall it is worth it if I bother to carve out this intentional space, because I learn so much from these past forgotten words my older selves have written.</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<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> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(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 hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.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) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,65 @@ | |||
title: writing as a practice | |||
url: https://winnielim.org/journal/writing-as-a-practice/ | |||
hash_url: 6e3580538a14b52ac9cb5fd54dfa1384 | |||
<p>For most of my life, I depended on my feelings to do things. Writing was one of them. I could write regularly because I loved it and I actively wanted to write. But something has changed in the past few years. I am not really sure what exactly has changed, but if I were to hypothesise I think gaining inner peace is not really good for writing – at least in my shoes.</p> | |||
<p>I am definitely not at peace, but my inner state is a lot less noisy than before. I was always simmering with some level of suffering that was induced by some form of self-torture. Thus I had looked forward to writing as a form of catharsis. There was so much pent-up energy, so much repressed sadness and anger.</p> | |||
<p>Now I am a lot more moderate in my thinking and actions, so as a result everything else is also more moderate. Moderation is not a really good state for writing because it doesn’t compel – it doesn’t make our emotions well up ready to burst at any moment. Slowly, I sort of lost the desire to write. I say ‘sort of’ because now I can see that it is not that I truly lost the desire to write, it is just that I was so used to feeling a sort of emotion that would compel me to write, and I associated that with the actual desire to do so. </p> | |||
<hr class="wp-block-separator"> | |||
<p>I didn’t “feel” like writing this piece for example, but I designated time to write this because I intellectually thought it was important. Now that I am actually in the middle it I am enjoying the process and the sound of words unfolding from my fingers. So if I had waited to “feel” like writing I probably wouldn’t have written for a long while until some major event shakes my life.</p> | |||
<p>I guess I need to get used to my mind pulsing a lot slower now – the words are still there, but not boiling over like before. I just need to set aside some time and space for them to gently appear instead of how they used to be so fast and furious.</p> | |||
<hr class="wp-block-separator"> | |||
<p>After going back and forth on this for now I am settling into the position that publishing regularly is a healthy practice for me. I was tempted to totally stop publishing because I just wasn’t sure if there was any value. Maybe I’ll still change my mind some day, but currently I think the practice of publishing regularly keeps me honest. It can be awkward and embarrassing when I realised I no longer agree with what I wrote, but to have a public changelog of how I have evolved as a person is somewhat humbling and clarifying. </p> | |||
<p>Somehow the thoughts and words that appear on this website is very different from the ones in my private journals. I seem to have a different persona that is only revealed on this website. I appreciate quite a bit of stuff I have written here in the past, stuff that perhaps I wouldn’t have a record of if I didn’t make it a regular habit to capture a somewhat weekly snapshot of my psyche.</p> | |||
<hr class="wp-block-separator"> | |||
<p>With the intention of gifting myself more flexibility, I had an invisible rule that I could publish any day I wanted as long as it was once per week. But as the days went by I found myself elongating the days in-between. Instead of publishing once every seven days I was averaging ten, sometimes 14 – as once per week became the first and last days of two weeks. </p> | |||
<p>A few weeks back I decided I would go back to publishing on sunday, rain or shine. It is just easier to have a fixed and regular practice when I know I should show up and write no matter what. But I wouldn’t have known if I didn’t <a href="https://winnielim.org/journal/changing-the-way-i-write-and-publish/" data-type="post" data-id="3578">try otherwise</a>. </p> | |||
<p>I am trying to write drafts earlier though, instead of writing a full post in one sitting. Hopefully I’ll get to know my own cadence soon, and learn how to write meatier posts across multiple sittings in a more sustainable manner, on top of these stream-of-consciousness snapshots.</p> | |||
<figure class="wp-block-image size-large is-resized"><img src="https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1600x1067.png" alt="illustration on designated publishing day" class="wp-image-4295" srcset="https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1600x1067.png 1600w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-700x467.png 700w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-300x200.png 300w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-768x512.png 768w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-1536x1024.png 1536w, https://winnielim.org/wp-content/uploads/2022/03/winnielim-publishing-day-ii-2048x1365.png 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<p>I guess this is a very long way to say that I am back to publishing every sunday – which I had been doing for years since 2011 before the recent few – if you show up here on monday you could probably read something new. In-between I am still hoping to write a few<a href="/notes" data-type="URL" data-id="/notes"> notes</a> here and there. I’ve always taken the ease of writing for granted because as mentioned I’ve always had thoughts bubbling over eagerly waiting to be translated into the written form, but as I get older and busier with other non-mind stuff like cooking, I have realised how much it takes to sit down, go into a light form of trance and write, even if it is just a short note.</p> | |||
<p>But I think overall it is worth it if I bother to carve out this intentional space, because I learn so much from these past forgotten words my older selves have written.</p> |
@@ -0,0 +1,325 @@ | |||
<!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>« Logiciel libre » et « Open Source », c'est pareil ou pas ? (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- 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)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t4_poly_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/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_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> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://www.bortzmeyer.org/free-software-open-source.html"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>« Logiciel libre » et « Open Source », c'est pareil ou pas ?</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://www.bortzmeyer.org/free-software-open-source.html" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<div class="para"><p>On entend parfois, dans les discussions autour des | |||
<b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Licence%20de%20logiciel" title="Consultez l'article "Licence de logiciel" de l'encyclopédie libre Wikipedia">licences logicielles</a></b>, des affirmations du | |||
genre « tel logiciel n'est pas libre mais il est <i class="foreign" xml:lang="en">open | |||
source</i> ». Quelle est la différence ? Y en a-t-il une, | |||
d'ailleurs ?</p></div> | |||
<div class="para"><p>Commençons par les textes originaux. Le concept de | |||
<b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Logiciel%20libre" title="Consultez l'article "Logiciel libre" de l'encyclopédie libre Wikipedia">logiciel libre</a></b> a été popularisé par | |||
<b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Richard%20Stallman" title="Consultez l'article "Richard Stallman" de l'encyclopédie libre Wikipedia">Richard Stallman</a></b> et la | |||
<i class="foreign" xml:lang="en"><b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Free%20Software%20Foundation" title="Consultez l'article "Free Software Foundation" de l'encyclopédie libre Wikipedia">Free Software | |||
Foundation</a></b></i>. Le | |||
logiciel libre se définit par <b class="emphasis"><a href="https://www.gnu.org/philosophy/free-sw.html">quatre libertés</a></b> : | |||
</p><ul> | |||
<li>Liberté de faire tourner le logiciel, c'est-à-dire de | |||
l'utiliser à des fins quelconques.</li> | |||
<li>Liberté d'étudier le programme, ce qui implique notamment | |||
l'accès à son <b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Code%20source" title="Consultez l'article "Code source" de l'encyclopédie libre Wikipedia">code source</a></b>.</li> | |||
<li>Liberté de distribuer des copies du logiciel,</li> | |||
<li>y compris des copies modifiées.</li> | |||
</ul><p> | |||
On notera que la gratuité n'est pas mentionnée. En | |||
<b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/anglais" title="Consultez l'article "anglais" de l'encyclopédie libre Wikipedia">anglais</a></b>, le terme de | |||
<i class="foreign" xml:lang="en">free software</i> a parfois engendré des | |||
malentendus, <i class="foreign" xml:lang="en"><a href="https://en.wiktionary.org/wiki/free" hreflang="en">free</a></i> pouvant vouloir dire « libre » | |||
mais aussi « gratuit ». Comme souvent en politique, ces malentendus | |||
étaient parfois de bonne foi, et malhonnêtes dans | |||
d'autres, certains faisant semblant de ne pas comprendre que la | |||
liberté n'a rien à voir avec la gratuité.</p></div> | |||
<div class="para"><p>Stallman aime donc répéter que, dans <i class="foreign" xml:lang="en">free | |||
software</i>, c'est <i class="foreign" xml:lang="en">free as in free speech, not | |||
free as in free beer</i>. Bonne explication, mais difficile | |||
à traduire en <b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/fran%C3%A7ais" title="Consultez l'article "français" de l'encyclopédie libre Wikipedia">français</a></b> puisque, justement, | |||
en français, il y a deux mots différents pour « libre » | |||
et « gratuit ».</p></div> | |||
<div class="para"><p>Et <i class="foreign" xml:lang="en">open source</i> ? Notons que ce n'est pas un | |||
hasard si le terme en anglais est populaire chez les gens dont le | |||
métier est d'embrouiller le langage, les vendeurs ou les politiciens, par | |||
exemple. Utiliser un terme en anglais permet de rester dans le | |||
flou, et d'essayer de plaire à tout le monde, en n'utilisant pas | |||
de termes précis. Le terme a été | |||
popularisé par <b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Eric%20Raymond" title="Consultez l'article "Eric Raymond" de l'encyclopédie libre Wikipedia">Eric Raymond</a></b> et quelques | |||
autres en 1998. Ils avançaient deux arguments essentiels en faveur de ce | |||
nouveau terme : l'ambiguité entre « libre » | |||
et « gratuit » (qui, on l'a vu, n'existe pas en français, rendant | |||
tout à fait inutile l'utilisation du terme <i class="foreign" xml:lang="en">open | |||
source</i>), et surtout le fait que la liberté faisait peur, | |||
notamment au patronat, et que, si on voulait populariser le | |||
logiciel libre auprès des gens qui ont la main sur la carte de | |||
crédit de l'entreprise, il fallait changer le nom. (Il y avait | |||
bien sûr également des raisons non avouées, comme essayer de | |||
remplacer Stallman au poste de symbole du logiciel libre.)</p></div> | |||
<div class="para"><p>Le terme a clairement été un grand succès, malgré le fait qu'il | |||
soit tout aussi ambigu que l'autre (<i class="foreign" xml:lang="en">open source</i> | |||
ou « source ouverte » désignait déjà <b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Renseignement%20d'origine%20source%20ouverte" title="Consultez l'article "Renseignement d'origine source ouverte" de l'encyclopédie libre Wikipedia">tout | |||
à fait autre chose</a></b>). Que mettaient-ils derrière ce | |||
terme ? Les promoteurs du terme <i class="foreign" xml:lang="en">open source</i> ont | |||
produit une <a href="https://opensource.org/osd">définition</a>. Elle est moins | |||
percutante que les « quatre libertés », et plus longue, mais elle | |||
revient quasiment au même. Notamment, elle précise clairement | |||
qu'<i class="foreign" xml:lang="en">open source</i> ne veut pas uniquement dire | |||
qu'on a accès au <b><a class="wikipedia" hreflang="fr" href="https://fr.wikipedia.org/wiki/Code%20source" title="Consultez l'article "Code source" de l'encyclopédie libre Wikipedia">code source</a></b>.</p></div> | |||
<div class="para"><p>Si on regarde la <a href="https://www.gnu.org/licenses/license-list.html">liste des | |||
licences libres reconnues par la FSF</a>, et qu'on la compare | |||
avec <a href="https://opensource.org/licenses/category">celle des promoteurs du terme open source</a>, on ne | |||
voit en effet pas de différence. On cite parfois la question de |