├── README_ja.md ├── README.md ├── README_nl.md ├── LEEME.md ├── LISEZ-MOI.md └── LICENSE /README_ja.md: -------------------------------------------------------------------------------- 1 | # ウェブアクセシビリティの原則([Principles Of Web Accessibility](https://github.com/Heydon/principles-of-web-accessibility) 日本語訳) 2 | 3 | _ウェブアクセシビリティへのアプローチに関するハイレベルな指針となる原則。_ 4 | 5 | * [完璧主義は敵](#完璧主義は敵) 6 | * [はじめからアクセシブルに、さもなくば死を](#はじめからアクセシブルにさもなくば死を) 7 | * [同等であることが最重要](#同等であることが最重要) 8 | * [実装を考慮したデザイン](#実装を考慮したデザイン) 9 | * [まずは構造から](#まずは構造から) 10 | * [言葉を大切に](#言葉を大切に) 11 | * [ツールをペルソナにしてはならない](#ツールをペルソナにしてはならない) 12 | * [少ないことは、少ないだけ(でもそれでいい)](#少ないことは少ないだけでもそれでいい) 13 | * [報酬を得よう](#報酬を得よう) 14 | * [魚ではなく、釣り方を](#魚ではなく釣り方を) 15 | * [見せかけのパフォーマンスに価値なし](#見せかけのパフォーマンスに価値なし) 16 | * [悪は腐るに任せよう](#悪は腐るに任せよう) 17 | 18 | ## 完璧主義は敵 19 | 20 | 100%アクセシブルなモノは存在しないし、存在しえない。自分の提供するモノが完全にアクセシブルであると主張する人は、嘘つきであるか、アクセシビリティを理解していないか、あるいはその両方である。まあ両方だろう。可能なかぎりアクセシビリティを高めたのであれば、100%アクセシブルなモノでなくてもOKだ。与えられた制約の範囲内で、出来ることをやる。もし制約が理不尽であれば、まずそれを変える努力をすべきだ。アクセシビリティに取り組むにあたって、自分よりもふさわしい人が他にいるのではないか、と思うかもしれない。しかし、あなたには出来る。そこにいない(そもそも存在しない)アクセシビリティの救世主に仕事を任せてはならない。 21 | 22 | ## はじめからアクセシブルに、さもなくば死を 23 | 24 | アクセシビリティは、本質的に言うと、プラグインやアドオンのように後から追加できるものでも、ユーザーの同意を得て初めて機能するものでもない。インタフェースにアクセシビリティを有効にするオプションがある時点で、それはすでにアクセシブルとは言えない。低コントラストのスイッチが「高コントラスト」をオンにする仕組み?ゲームオーバーだ。はっきり言って、アクセシビリティオーバーレイソフトウェアは機能しないし、機能することはあり得ない。アクセシブルでない何かの上にアクセシビリティ関連のものを追加しても、本質的な問題は解決されない。そのようなサードパーティの介入者たちが提供する個々の機能は、重要ではない。後付けのアクセシビリティという考え方にはなんとしてでも抵抗すべきだ。アクセシビリティのないMinimum Viable Product(MVP、実用最小限の製品)は——最小限でさえも——実用的とは言えない 25 | 26 | ## 同等であることが最重要 27 | 28 | 重要なのは、より望ましい体験や十分に良い体験を提供することではない。異なる人々の間で同等の体験を保証することこそが本質である。インターフェースが人によって障壁となったり、ならなかったりする状況は避けるべきだが、どうしても複雑なインターフェースや、本質的に難解なコンテンツがあることも事実だ。誰が何に興味を持ち、あるいは誰が何に対処できるか、あなたに選ぶ権利はない。画像がジョークとして機能するなら、代替テキストでオチを先に明かしたり、なぜ面白いのかを説明するのではなく、別の手段で同じジョークを伝える必要がある。そのジョークがある人にとって不快に感じられたり、理解されなかったりしても、それはアクセシビリティの問題ではなく、包括性の欠如に起因するものといえる。 29 | 30 | ## 実装を考慮したデザイン 31 | 32 | 形態は機能に従うべきであるとされている。しかし、ほとんどの組織では、まずデザイン(ビジュアライズ)を行い、次に開発が行われる。デザインフェーズでは、純粋にグラフィカルな表現の検討に終始するにとどまり、実装に関する多くの疑問には答えられないままとなる。その結果、開発者はユーザビリティよりもグラフィックの視覚的な再現を優先させるようになる。ドラッグアンドドロップのインターフェースは、キーボードで操作ができる必要がある。つまり、ボタンが備わっているべきことを意味する。これらのボタンは、当然「デザイン」に含まれなくてはならない。あなたはアクセシビリティの実践者として、早い段階でかつ概念的なレベルから貢献すべきである。なぜなら、形態が機能に従うべきものであると同様に、機能はアクセシブルでなければならないからだ。 33 | 34 | ## まずは構造から 35 | 36 | 不適切な構造のインターフェースが、形式上はWCAGを満たすことがある。適切な構造で、直感的でもあるインターフェースが、WCAGの複数の基準を満たさないこともある。おそらく、ほとんどの人にとって、よりアクセシブルなインターフェースは後者のほうである。自動アクセシビリティツールは、個々のエラーを検出することには非常に優れているが、それだけだ。これらは診断の役には立つかもしれないが、必要なのは全体的な視点である。人々に混乱や圧倒をもたらすものは何か? 人々がつまずくのはどこか? 根本的な構造を見直さなければならないのに、個々の達成基準をひとつひとつ潰していくような無駄な時間を費やしてはならない。 37 | 38 | ## 言葉を大切に 39 | 40 | ウェブアクセシビリティの多くの部分は、テキストラベルの提供に関するものである。ボタン、リンク、入力フィールドにはすべてラベルが必要である。ページタイトルや見出しも重要なラベルの一種である。ステータスメッセージは、状態をラベル付けするために必要不可欠なものである。ラベルを付けさえすれば、自動アクセシビリティテストツールを黙らせることはできるかもしれないが、真に重要なのはラベルの文言である。優れたライティングは自動化できない。AIはあなたの意図を予測できない。ライティングや編集のスキルを磨くか、または優れたライターや編集者をあなたのラベル検討のプロセスに参加させるべきである。 41 | 42 | ## ツールをペルソナにしてはならない 43 | 44 | 能力が多様であるのと同じく、障害もまた多様である。様々なスクリーンリーダーの利用者は、様々なニーズや好みを満たすために、様々な状況において、様々な理由で、様々な方法で、様々なスクリーンリーダーを使用している。そもそも、スクリーンリーダーを使っていない場合もある。スクリーンリーダー利用者や、そのふるまいを正確に表せるペルソナは存在しない。全スクリーンリーダー利用者を代表できる人は存在しない。だから、スクリーンリーダー利用者(あるいは実際には存在しない画一的なユーザー層)を前提にデザインしてはならない。スクリーンリーダーの機能を支え、活かすようにデザインしよう。人間は定量化できないし、すべきでもない。しかし、入力と出力は定量化できるし、実際にされている。 45 | 46 | ## 少ないことは、少ないだけ(でもそれでいい) 47 | 48 | 「少ないことは豊かなことだ(less is more)」という格言は正しくない。少ないことは単に少ないだけであり、それだけで良いことである。過剰なインターフェース開発は、他の誰かがやっているか、それができると証明するためだけに行われている。止めよう。多くのことを行えば行うほど、そしてアウトプットが複雑になればなるほど、失敗する可能性が高くなる。単にエラーや故障を引き起こすだけでなく、もっと重要なこととして、理解を妨げてしまう。多くの場合、ほとんどのコンポーネントは単にコンテンツであるべきだ。コンテンツをボタンの後ろに隠すべき状況はめったにない。見出し、段落、リストをアクセシブルであってもタブインターフェースに変えることは強化ではない。それは自慢する権利を伴った劣化だ。 49 | 50 | ## 報酬を得よう 51 | 52 | アクセシビリティに対する情熱を搾取されないように。他の仕事と同様に、無償でやる人が増えるほど、その価値は低く見られてしまう。アクセシビリティの仕事は、オプションでも、趣味でも、優しさでもない。健全なインターフェースデザインの基盤である。給与を受け取り、働く中でアクセシビリティに取り組んでいるのであれば、それは正式に役割の一部として定義されるべきである。アクセシビリティの仕事も、他の仕事と同様に、正当に評価され、報酬が支払われなければならない。「アクセシビリティはみんなの仕事」となると、結局誰の仕事でもなくなってしまう。その美辞麗句には要注意。 53 | 54 | ## 魚ではなく、釣り方を 55 | 56 | アクセシブルな製品やインターフェースの設計は、それを実現する組織やコミュニティの在り方を設計することから始まる。今アクセシブルな成果を提供することができたとして、それを明日誰がそれをするのか。明日は誰が、あるいは何が、それを元に戻せるか。 アクセシブルな設計とはフロントエンドに精通した開発者で構成されたフロントエンドチームを作ることかもしれない。アクセシブルな出力ができないCMSを廃止することかもしれない。コンテンツを適切に構造化する方法を編集スタッフに説明することかもしれない。もしあなたが自分自身で、自分一人でアクセシビリティの課題に対応しようとしているのであれば、その効果はすぐに薄れていくだろう。 57 | 58 | ## 見せかけのパフォーマンスに価値なし 59 | 60 | 企業は、実際にアクセシビリティに取り組むことよりも、取り組んでいるように見せることを優先しがちである。アクセシビリティの専門家を雇いながら、必要なリソースを与えない。障害者を対象とした調査を委託しながら、フィードバックを真剣に受け止めようとしない。監査には金を払うが、その勧告には従わない。色のコントラストを評価する必要があると言いながら、自分たちの神聖なブランドに関わる色には一切変更を加えようとしない。もし、本当に変化を起こしたいのであれば、パフォーマンスではなく実践を求めるべきだ。 61 | 62 | ## 悪は腐るに任せよう 63 | 64 | あなたは、もともと搾取的で中毒性のある製品、憎悪や誤った情報を売買する製品、あるいはただ世界をより悪くするだけの製品に、携わる機会があるだろう。このような類の製品と、それらを生み出す狂気じみた企業は、なんだかんだ言いながら、変革に強く抵抗する。救いようのないものを救おうとして、自分を犠牲にしてはならない。彼らの失敗を自分の失敗にしてはいけない。あなたの評判とメンタルヘルスを守ろう。世の中には、アクセシブルでないものがあふれている。そもそも存在する価値のある製品のために、理解のある人々と共に働くことを優先しよう。 65 | 66 | ## クレジット 67 | 68 | ### 日本語訳 69 | 70 | - 太田 良典([@bakera](https://x.com/bakera) / 弁護士ドットコム株式会社) 71 | - 大山 奥人([@okuto_oyama](https://x.com/okuto_oyama) / 株式会社Schoo) 72 | - 坂巻 舞羽([@mt_dew2](https://x.com/mt_dew2)) 73 | - 杉吉 真奈([@manasugiyoshi](https://x.com/manasugiyoshi)) 74 | - 高井 実([@debiru_R](https://x.com/debiru_R)) 75 | - 田中 泰斗([@taitotnk](https://x.com/taitotnk)) 76 | - 田中 美和([@miwa11y](https://x.com/miwa11y)) 77 | - 土屋 一彦([@caztcha](https://x.com/caztcha) / Accessible & Usable) 78 | - 羽馬 直樹([@naohaba70](https://x.com/naohaba70) / 株式会社コドモン) 79 | - 守谷 絵美([@emim](https://x.com/emim)) 80 | - 山崎 規弘([@chuff_chuff09](https://x.com/chuff_chuff09)) 81 | - 植木 真([@makoto_ueki](https://x.com/makoto_ueki) / 株式会社インフォアクシア) 82 | 83 | ### レビュー 84 | 85 | - 石丸 治樹([@hrism2](https://x.com/hrism2) / 株式会社ストックラボ, 株式会社Tety) 86 | - 伊藤 芳浩([@ItouYoshihiro](https://x.com/ItouYoshihiro) / NPO法人インフォメーションギャップバスター) 87 | - そめ([@_tsmd](https://x.com/_tsmd)) 88 | - YUTO([@TravelYuto](https://x.com/TravelYuto) / 株式会社Penetrator) 89 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Principles Of Web Accessibility 2 | 3 | _A set of high-level guiding principles for approaching web accessibility._ 4 | 5 | * [Perfection is the enemy](#perfection-is-the-enemy) 6 | * [By default or death](#by-default-or-death) 7 | * [Parity is paramount](#parity-is-paramount) 8 | * [Design for implementation](#design-for-implementation) 9 | * [Structure first](#structure-first) 10 | * [Use your words](#use-your-words) 11 | * [Tools are not identities](#tools-are-not-identities) 12 | * [Less is less](#less-is-less) 13 | * [Get paid](#get-paid) 14 | * [Fishing, not fish](#fishing-not-fish) 15 | * [No points for performance](#no-points-for-performance) 16 | * [Let evil rot](#let-evil-rot) 17 | 18 | ## Perfection is the enemy 19 | 20 | Nothing is—nor can be—100% accessible. Anyone who claims their offering is completely accessible is a liar, or they don’t understand accessibility, or both. Usually both. It’s okay to deliver inaccessible work, so long as it’s _more_ accessible. Do what you can within the constraints given. If the constraints are unreasonable, challenge those first. You may not feel confident you are always the best person available to work on accessibility. But you _are available_. Don’t leave the work to absent (and nonexistent) accessibility superheroes. 21 | 22 | ## By default or death 23 | 24 | Accessibility fundamentally does not work as a plugin, add-on, or opt-in state. If an interface offers the option to _enable_ accessibility, it is inaccessible. A low-contrast switch that turns on high contrast? Game over. Categorically, accessibility overlay software does not and cannot work. Adding _accessibility stuff_ on top of _inaccessible stuff_ does not address what needs to be addressed. The specific features offered by such third-party interlopers are immaterial. Resist the ideology of _post hoc_ accessibility at all costs. A Minimum Viable Product (MVP) without accessibility is not—even minimally—viable. 25 | 26 | ## Parity is paramount 27 | 28 | The point is not to create a better experience, or even a good experience. It’s to ensure a _comparable_ experience between different people. Interfaces should not be challenging to some and not to others, but some interfaces are necessarily complex and some content is inherently esoteric. You do not get to choose who is interested in—or can cope with—what. If an image serves as a joke, the alternative text should not give the joke away or explain why it is funny. It should _tell the same joke by alternative means_. The joke may be offensive to some or inexplicable to others. These are shortcomings of _inclusivity_, not accessibility. 29 | 30 | ## Design for implementation 31 | 32 | They say form should follow function. But most organizations design first and develop second. The design phase consists of purely graphical ideation and leaves too many implementation questions unanswered. Consequently, developers are encouraged to prioritize visual approximation over usability. Drag-and-drop interfaces need to be operable by keyboard. This means buttons need to be provided. Those buttons will need to appear in the so-called _design_. As an accessibility practitioner, you must contribute early and at a conceptual level. Because form must follow function and the function must be accessible. 33 | 34 | ## Structure first 35 | 36 | A poorly structured interface can technically pass WCAG. A well-structured and intuitive interface can have multiple discrete WCAG errors. Chances are, the latter is the more accessible interface to most. Automated accessibility tools are only really good at locating discrete errors. While these may be helpful diagnostically, you will need to take a holistic view. What will confuse or overwhelm people? Where will people get tripped up? Don’t waste time ticking off individual success criteria when the underlying structure needs rethinking. 37 | 38 | ## Use your words 39 | 40 | A considerable proportion of web accessibility is about providing text labels. Buttons, links, and inputs must all have labels. Page titles and headings are also important types of label. Status messages are critical for labelling state. Including a label may placate an automated accessibility testing rig, but the label’s _wording_ makes the real difference. Good writing cannot be automated. Artificial Intelligence cannot anticipate your intent. Develop your writing and editing skills or include writers and editors in your process. 41 | 42 | ## Tools are not identities 43 | 44 | Disability is no more uniform than ability. Different screen reader users use different screen reader software in different ways for different reasons in different circumstances to meet different needs and preferences. That is, if they are using screen reader software at all. There is no persona that can adequately exemplify a screen reader user or their behaviour. There is no screen reader user who speaks for all screen reader users. So don’t design for screen reader users (or any other fictionalized homogenous group). Design to support the capabilites of screen reader software. People cannot—and should not—be quantified, but inputs and outputs can and are. 45 | 46 | ## Less is less 47 | 48 | The mantra _less is more_ is incorrect. Less is just less and that’s a good thing. Too much of interface engineering is done because others have done it or just to prove it can be done. Stop. The more we do, and the more complex the output becomes, the more likely it will fail. And not just by producing discrete errors and breakdowns; more importantly by resisting comprehension. Most components, in most cases, should just be content. Content should rarely be hidden behind a button. Turning headings, paragraphs, and lists into an accessible tab interface is not an enhancement. It’s a degradation with bragging rights. 49 | 50 | ## Get paid 51 | 52 | Don’t let your enthusiasm for accessibility work be exploited. Like any work, the more people do it for free, the less it is valued. Accessibility work is not an optional extra, a hobby, or a kindness. It is a foundational part of sound interface design. If you are paid to work and you work on accessibility, it should be defined as part of your role. Accessibility work must be compensated and rewarded like any other work. Where _“accessibility is everyone’s job”_, it’s often nobody’s. Beware of that rhetoric. 53 | 54 | ## Fishing, not fish 55 | 56 | Designing accessible products and interfaces starts with designing the organizations and communities that deliver them. You can deliver accessible work today but who will do it tomorrow? Who or what might _undo_ it tomorrow? Accessible design might mean building a frontend team consisting of developers well-versed in the frontend. It might mean replacing a CMS that prohibits accessible output. It might mean briefing editorial staff in how to structure their content. If you’re fixing inaccessibility yourself, by yourself, your impact will quickly fade. 57 | 58 | ## No points for performance 59 | 60 | Companies tend to prioritize _looking_ like they are addressing accessibility over actually doing it. They hire accessibility professionals and don’t give them the necessary resources. They commission research with disabled participants and refuse to interpret the feedback. They pay for audits and don’t implement the recommendations. They tell you color contrast needs to be assessed but won’t budge on any color relating to their sacred brand. If you want to make a real difference, demand praxis in place of performance. 61 | 62 | ## Let evil rot 63 | 64 | You will have opportunities to work on products that are inherently exploitative and addictive, trade in hatred or misinformation, or just make the world worse. These kinds of products, and the psychopathic enterprises that beget them, are extremely resistant to reform, no matter what they might tell you. Don’t martyr yourself trying to redeem the irredeemable. Don’t make their failure your own. Protect your reputation and mental health. There’s a lot of inaccessibility out there. Prioritize working with receptive people, on the kinds of products that deserve to exist in the first place. 65 | -------------------------------------------------------------------------------- /README_nl.md: -------------------------------------------------------------------------------- 1 | # Beginselen van webtoegankelijkheid 2 | 3 | _Een reeks beginselen voor het benaderen van webtoegankelijkheid._ 4 | 5 | * [Perfectie is de vijand](#perfectie-is-de-vijand) 6 | * [De standaard of de dood](#de-standaard-of-de-dood) 7 | * [Gelijkwaardigheid is van het grootste belang](#gelijkwaardigheid-is-van-het-grootste-belang) 8 | * [Ontwerp voor implementatie](#ontwerp-voor-implementatie) 9 | * [Eerst structureren](#eerst-structureren) 10 | * [Gebruik jouw woorden](#gebruik-jouw-woorden) 11 | * [Hulpmiddelen zijn geen identiteiten](#hulpmiddelen-zijn-geen-identiteiten) 12 | * [Minder is minder](#minder-is-minder) 13 | * [Krijg betaald](#krijg-betaald) 14 | * [De hengel, niet de vis](#de-hengel-niet-de-vis) 15 | * [Geen punten voor prestaties](#geen-punten-voor-prestaties) 16 | * [Laat het kwaad rotten](#laat-het-kwaad-rotten) 17 | 18 | ## Perfectie is de vijand 19 | 20 | Niets is 100% toegankelijk en kan dat ook niet zijn. Iedereen die beweert dat zijn aanbod volledig toegankelijk is, is een leugenaar of heeft geen verstand van toegankelijkheid, of beide. Meestal beide. Het is niet erg om ontoegankelijk werk af te leveren, zolang het maar toegankelijker wordt. Doe wat je kunt binnen de gegeven beperkingen. Als de beperkingen onredelijk zijn, pak die dan eerst aan. Je hebt er misschien geen vertrouwen in dat je altijd de beste persoon bent om aan toegankelijkheid te werken. Maar je bent beschikbaar. Laat het werk niet over aan afwezige (en niet-bestaande) toegankelijkheidssuperhelden. 21 | 22 | ## De standaard of de dood 23 | 24 | Toegankelijkheid werkt in principe niet als een plugin, add-on of opt-in-status. Als een interface de optie biedt om toegankelijkheid in te schakelen, is deze ontoegankelijk. Een schakelaar met een laag contrast die een hoog contrast inschakelt? Game over. Overlaysoftware voor toegankelijkheid werkt niet en kan niet werken. Toegankelijkheid toevoegen bovenop ontoegankelijke dingen pakt niet aan wat moet worden aangepakt. De specifieke functies die worden aangeboden door dergelijke indringers van derden zijn irrelevant. Verzet je tegen elke prijs tegen de ideologie van post-hoc toegankelijkheid. Een Minimum Viable Product (MVP) zonder toegankelijkheid is niet eens minimaal levensvatbaar. 25 | 26 | ## Gelijkwaardigheid is van het grootste belang 27 | 28 | Het gaat er niet om een betere ervaring te creëren, of zelfs een goede ervaring. Het gaat erom dat verschillende mensen een vergelijkbare ervaring hebben. Interfaces moeten niet voor sommigen uitdagend zijn en voor anderen niet, maar sommige interfaces zijn noodzakelijkerwijs complex en sommige inhoud is hoe dan ook esoterisch. Je kunt niet kiezen wie wat interessant vindt of aankan. Als een afbeelding als grap dient, moet de alternatieve tekst de grap niet verklappen of uitleggen. Het moet dezelfde grap op een andere manier vertellen. De grap kan beledigend zijn voor sommigen of onverklaarbaar voor anderen. Dit zijn tekortkomingen van inclusiviteit, niet van toegankelijkheid. 29 | 30 | ## Ontwerp voor implementatie 31 | 32 | Ze zeggen dat de vorm de functie moet volgen. Maar de meeste organisaties ontwerpen eerst en ontwikkelen pas daarna. De ontwerpfase bestaat uit puur grafische ideeën en laat te veel implementatievragen onbeantwoord. Bijgevolg worden ontwikkelaars aangemoedigd om voorrang te geven aan visuele benadering boven bruikbaarheid. Drag-and-drop interfaces moeten met het toetsenbord bediend kunnen worden. Dit betekent dat er knoppen moeten komen. Deze knoppen moeten worden opgenomen in het zogenaamde ontwerp. Als toegankelijkheidsdeskundige moet je in een vroeg stadium en op conceptueel niveau bijdragen. Want de vorm moet de functie volgen en de functie moet toegankelijk zijn. 33 | 34 | ## Eerst structureren 35 | 36 | Een slecht gestructureerde interface kan technisch gezien voldoen aan WCAG. Een goed gestructureerde en intuïtieve interface kan meerdere WCAG-fouten bevatten. De kans is groot dat de laatstgenoemde interface voor de meesten toegankelijker is. Geautomatiseerde toegankelijkheidstools zijn alleen echt goed in het opsporen van specifieke fouten. Hoewel deze diagnostisch nuttig kunnen zijn, moet je een holistische kijk hebben. Wat zal mensen verwarren of overweldigen? Waar struikelen mensen over? Verspil geen tijd aan het afvinken van individuele succescriteria als de onderliggende structuur moet worden heroverwogen. 37 | 38 | ## Gebruik jouw woorden 39 | 40 | Een aanzienlijk deel van webtoegankelijkheid draait om het verstrekken van tekstlabels. Knoppen, links en invoervelden moeten allemaal labels hebben. Paginatitels en koppen zijn ook belangrijke soorten labels. Statusberichten zijn essentieel voor het labelen van de status. Het toevoegen van een label kan voor een geautomatiseerde toegankelijkheidstest voldoende zijn, maar de formulering van het label maakt het echte verschil. Goed schrijven kan niet worden geautomatiseerd. Kunstmatige intelligentie kan niet anticiperen op je bedoelingen. Ontwikkel je schrijf- en redactionele vaardigheden of betrek schrijvers en redacteuren in je proces. 41 | 42 | ## Hulpmiddelen zijn geen identiteiten 43 | 44 | Handicaps zijn niet uniformer dan bekwaamheden. Verschillende gebruikers van schermlezers gebruiken verschillende schermleessoftware op verschillende manieren om verschillende redenen in verschillende omstandigheden om aan verschillende behoeften en voorkeuren te voldoen. Tenminste, als ze schermleessoftware gebruiken. Er is geen persona die een screenreader-gebruiker of zijn gedrag adequaat kan illustreren. Er is geen schermlezer die voor alle schermlezergebruikers spreekt. Ontwerp dus niet voor schermlezergebruikers (of een andere gefictionaliseerde homogene groep). Ontwerp om de mogelijkheden van schermleessoftware te ondersteunen. Mensen kunnen en mogen niet gekwantificeerd worden, maar inputs en outputs wel. 45 | 46 | ## Minder is minder 47 | 48 | De mantra less is more is onjuist. Minder is gewoon minder en dat is een goede zaak. Te vaak wordt interface engineering alleen gedaan omdat anderen het deden of om te bewijzen dat het kan. Stop. Hoe meer we doen en hoe complexer de output wordt, hoe groter de kans dat het mislukt. En niet alleen door het produceren van specifieke fouten en defecten, maar vooral door weerstand tegen begrip. De meeste onderdelen zouden in de meeste gevallen gewoon inhoud moeten zijn. Inhoud moet zelden worden verborgen achter een knop. Koppen, paragrafen en lijsten veranderen in een toegankelijke tab-interface is geen verbetering. Het is een verslechtering met opscheprechten. 49 | 50 | ## Krijg betaald 51 | 52 | Laat je enthousiasme voor toegankelijkheidswerk niet uitbuiten. Zoals bij elk werk geldt: hoe meer mensen het gratis doen, hoe minder het gewaardeerd wordt. Toegankelijkheidswerk is geen optioneel extraatje, een hobby of een aardigheidje. Het is een fundamenteel onderdeel van goed interfaceontwerp. Als je betaald wordt om te werken en je werkt aan toegankelijkheid, dan moet dit worden gedefinieerd als onderdeel van je functie. Toegankelijkheidswerk moet gecompenseerd en beloond worden zoals elk ander werk. Als “toegankelijkheid ieders taak is”, is het vaak niemands taak. Pas op voor die retoriek. 53 | 54 | ## De hengel, niet de vis 55 | 56 | Het ontwerpen van toegankelijke producten en interfaces begint met het ontwerpen van de organisaties en gemeenschappen die ze leveren. Je kunt vandaag toegankelijk werk afleveren, maar wie zal het morgen doen? Wie of wat kan het morgen ongedaan maken? Toegankelijk ontwerpen kan betekenen dat je een frontend team samenstelt bestaande uit ontwikkelaars die goed bekend zijn met de frontend. Het kan betekenen dat je een CMS moet vervangen dat toegankelijke output verbiedt. Het kan betekenen dat je redactieleden moet uitleggen hoe ze hun inhoud moeten structureren. Als je ontoegankelijkheid in je eentje oplost, zal je impact snel afnemen. 57 | 58 | ## Geen punten voor prestaties 59 | 60 | Bedrijven hebben de neiging om eerder de schijn te wekken dat ze toegankelijkheid aanpakken dan het daadwerkelijk te doen. Ze huren toegankelijkheidsprofessionals in maar geven ze niet de benodigde middelen. Ze laten onderzoek doen met gehandicapte deelnemers en weigeren de feedback te interpreteren. Ze betalen voor audits en implementeren de aanbevelingen niet. Ze vertellen je dat kleurcontrasten moeten worden beoordeeld, maar willen geen concessies doen aan kleuren die betrekking hebben op hun heilige merk. Als je echt een verschil wilt maken, eis dan praktijk in plaats van prestatie. 61 | 62 | ## Laat het kwaad rotten 63 | 64 | Je krijgt de kans om te werken aan producten die uitbuitend en verslavend zijn, die handelen in haat of verkeerde informatie, of die de wereld alleen maar slechter maken. Dit soort producten en de psychotische ondernemingen die ze voortbrengen zijn extreem resistent tegen hervormingen, wat ze je ook vertellen. Martel jezelf niet om te proberen de onherstelbaren te verlossen. Maak van hun falen niet je eigen falen. Bescherm je reputatie en geestelijke gezondheid. Er is veel ontoegankelijkheid. Werk liever met mensen die ontvankelijk zijn, aan producten die het überhaupt verdienen om te bestaan. 65 | 66 | *** 67 | 68 | Bron: https://github.com/Heydon/principles-of-web-accessibility/tree/main 69 | 70 | Vertaald door DeepL, nabewerkt door een mens. -------------------------------------------------------------------------------- /LEEME.md: -------------------------------------------------------------------------------- 1 | # Principios de Accesibilidad Web 2 | 3 | _Una serie de guías y reglas a alto nivel para afrontar la accesibilidad web._ 4 | 5 | * [Lo perfecto es enemigo de lo bueno](#lo-perfecto-es-enemigo-de-lo-bueno) 6 | * [Por defecto o nada](#por-defecto-o-nada) 7 | * [La paridad es primordial](#la-paridad-es-primordial) 8 | * [Diseña para la implementación](#diseña-para-la-implementación) 9 | * [La estructura es lo primero](#la-estructura-es-lo-primero) 10 | * [Usa tus palabras](#usa-tus-palabras) 11 | * [Las herramientas no son identidades](#las-herramientas-no-son-identidades) 12 | * [Menos es menos](#menos-es-menos) 13 | * [Que te paguen](#que-te-paguen) 14 | * [Enseña a pescar, no des pescado](#enseña-a-pescar-no-des-pescado) 15 | * [No vale presumir](#no-vale-presumir) 16 | * [Que se pudra el mal](#que-se-pudra-el-mal) 17 | 18 | ## Lo perfecto es enemigo de lo bueno 19 | 20 | Nada es ni puede ser 100% accesible. La persona que afirme que su propuesta es completamente accesible está mintiendo, no entiende de accesibilidad o las dos cosas. Normalmente las dos. Está bien completar un trabajo que no es accesible del todo, siempre que sea _más_ accesible. Haz lo que puedas dentro de las condiciones dadas. Si las condiciones no son razonables, cuestiónalas primero. Puede que no tengas la confianza en ser la mejor persona disponible para trabajar en accesibilidad. Pero _estás disponible_. No dejes ese trabajo para otros superhéroes de la accesibilidad que no están (o son inexistentes). 21 | 22 | ## Por defecto o nada 23 | 24 | Básicamente, la accesibilidad no funciona como un plugin, un add-on o una subscripción. Si una interfaz ofrece una opción para _habilitar_ la accesibilidad, esa interfaz no es accesible. ¿Un botón con bajo contraste para activar el modo de alto contraste? No. El software para superponer una capa de accesibilidad no funciona y no puede funcionar. Añadir _cosas accesibles_ sobre _cosas no accesibles_ no aborda las necesidades que deben abordarse. Las prestaciones que ofrecen esos intrusos como tercera parte son irrelevantes. Lucha contra la ideología de la accesibilidad _a posteriori_ a toda costa. Un Producto Mínimo y Viable (MVP) sin accesibilidad ni es mínimo ni es viable. 25 | 26 | ## La paridad es primordial 27 | 28 | La idea no es crear una experiencia mejor, ni siquiera una buena experiencia. Se busca asegurar una experiencia _comparable_ entre diferentes personas. Las interfaces no deberían ser un reto para algunos y no para otros, pero algunas interfaces van a ser complejas por necesidad y habrá contenido que será inherentemente incomprensible. No puedes elegir quién está interesado en -o puede sobrellevar- qué cosas. Si se comparte una imagen con un chiste, el texto alternativo no debería revelar la broma o explicar por qué es graciosa. Debería _contar el mismo chiste, pero de forma alternativa_. La gracia será ofensiva para algunos y otros no la entenderán. Esas son limitaciones de la _inclusividad_, no de la accesibilidad. 29 | 30 | ## Diseña para la implementación 31 | 32 | Dicen que la forma debería adecuarse a la función. Pero la mayoría de las organizaciones diseñan primero y desarrollan después. La fase de diseño consiste en ideas puramente gráficas y deja demasiadas preguntas sin respuesta para la implementación. En consecuencia, se anima a los programadores a dar prioridad a aproximaciones visuales por encima de la usabilidad. Las interfaces que usan el ratón para arrastrar elementos deben ser operativas también a través del teclado. Eso significa que debe haber botones. Esos botones deben aparecer en lo que se llama _diseño_. Como un profesional de la accesibilidad, debes contribuir cuanto antes y a nivel conceptual. Porque la forma debe adecuarse a la función y la función debe ser accesible. 33 | 34 | ## La estructura es lo primero 35 | 36 | Una interfaz mal estructurada puede técnicamente pasar los requisitos WCAG. Una interfaz intuitiva y bien estructurada puede tener algunos errores específicos de WCAG. Pero lo más seguro es que esta última sea una interfaz más accesible para la mayoría. Las herramientas automatizadas de accesibilidad son muy buenas localizando estos errores específicos. Aunque pueden ser útiles para diagnosticar problemas, debes plantearte un enfoque integral y completo. ¿Qué confunde o agobia a la gente? ¿Dónde tropezarán? No pierdas tiempo solucionando criterios específicos cuando puede que necesites replantearte la estructura básica. 37 | 38 | ## Usa tus palabras 39 | 40 | Una parte considerable de la accesibilidad web consiste en proporcionar etiquetas de texto. Botones, enlaces y campos de texto deben estar etiquetados. Los títulos de las páginas y los encabezados son también etiquetas. Los mensajes de estado son críticos para etiquetar el estado. Incluir una etiqueta puede ser suficiente para contentar a las herramientas de prueba de accesibilidad, pero las _palabras_ de la etiqueta son las que marcan la diferencia. Una buena redacción no se puede automatizar. La Inteligencia Artificial no puede adivinar tu intención. Desarrolla tus habilidades de escritura y edición o incluye a escritores y editores en tu proceso. 41 | 42 | ## Las herramientas no son identidades 43 | 44 | La discapacidad no es más uniforme que la capacidad. Diferentes usuarios de lectores de pantalla usan diferentes programas de lectura de pantalla de forma diferente, por diferentes razones, en diferentes circunstancias, para satisfacer diferentes necesidades y preferencias. Y eso si es que usan un lector de pantalla. No hay una persona concreta que pueda ejemplificar un lector de pantalla y su comportamiento. No hay un usuario de lector de pantalla que represente a todos los usuarios de lectores de pantalla. Así que no diseñes para usuarios de lectores de pantalla (o cualquier otro grupo homogéneo ficticio). Diseña para dar soporte a las capacidades del software lector de pantalla. Las personas no se pueden -y no se deben- cuantificar, pero las entradas y las salidas si pueden serlo y lo son. 45 | 46 | ## Menos es menos 47 | 48 | El lema _menos es más_ es incorrecto. Menos es solo menos y eso es bueno. Mucha de la ingeniería de interfaces se hace porque otros lo han hecho o para probar que se puede hacer. Déjalo. Mientras más hacemos, y mientras más complejo se vuelve el resultado, más fácil es equivocarse. Y no solamente porque se producirán más errores y fallos discretos; más importante aún, porque luchamos contra la comprensión. La mayoría de los componentes, en la mayoría de los casos, deberían ser solo contenido. El contenido en raras ocasiones debería esconderse con un botón. Convertir los encabezados, párrafos y listas en una interfaz accesible con el tabulador no es una mejora. Es un deterioro con alardeos. 49 | 50 | ## Que te paguen 51 | 52 | No dejes que exploten tu entusiasmo por la accesibilidad. Como cualquier otro trabajo, cuanta más gente lo haga de forma gratuita, menos se valorará. Las tareas de accesibilidad no son un extra opcional, un hobby o un acto de generosidad. Es una parte fundamental en el diseño de una interfaz sólida. Si te pagan por trabajar y trabajas en accesibilidad, debería estar definido como parte de tu puesto. El trabajo en accesibilidad debe remunerarse y recompensarse como cualquier otro trabajo. Cuando la _"accesibilidad es trabajo de todos"_, normalmente no es trabajo de nadie. Ten cuidado con esa retórica. 53 | 54 | ## Enseña a pescar, no des pescado 55 | 56 | El diseño de productos e interfaces accesibles comienza con el diseño de la organización y las comunidades que las proporcionan. Puedes producir trabajo accesible hoy, pero, ¿quién lo hará mañana? ¿Quién o qué lo _deshará_ mañana? Un diseño accesible puede significar crear un equipo de frontend consistente en programadores expertos en frontend. Puede significar reemplazar un sistema de control de contenido (CMS) que impida unos resultados accesibles. Puede significar dar instrucciones al equipo editorial sobre cómo estructurar el contenido. Si estás solucionando la inaccesibilidad por tu cuenta, solamente tú, tu impacto se desvanecerá pronto. 57 | 58 | ## No vale presumir 59 | 60 | Las compañías tienden a priorizar que _parezca_ que están centrándose en la accesibilidad más que hacer algo en sí. Contratan a profesionales de la accesibilidad y no les dan los recursos necesarios. Contratan estudios con participantes con discapacidades y rechazan interpretar sus comentarios. Pagan por auditorías y no implementan sus recomendaciones. Te dicen que el contraste de colores debe examinarse, pero los colores de su marca son sagrados y no se cambian. Si realmente quieres marcar la diferencia, pide hechos en lugar de actuaciones de cara a la galería. 61 | 62 | ## Que se pudra el mal 63 | 64 | Vas a tener oportunidades para trabajar en productos que son inherentemente explotadores y adictivos, que comercian con odio y desinformación o que simplemente hacen el mundo un lugar peor. Ese tipo de productos, y las empresas psicóticas que los engendran, son extremadamente resistentes al cambio, sin importar lo que te digan. No te conviertas en un mártir intentando redimir lo irredimible. No hagas tuyo su fracaso. Protege tu reputación y tu salud mental. Hay mucha inaccesibilidad en el mundo. Da prioridad a trabajar con gente que escucha, en el tipo de productos que merecen existir. 65 | -------------------------------------------------------------------------------- /LISEZ-MOI.md: -------------------------------------------------------------------------------- 1 | # Principes de l’accessibilité web 2 | 3 | _Un ensemble de principes directeurs de haut niveau pour approcher l’accessibilité web._ 4 | 5 | * [Le mieux est l’ennemi du bien](#le-mieux-est-lennemi-du-bien) 6 | * [Par défaut, ou c’est foutu](#par-défaut-ou-cest-foutu) 7 | * [La même expérience avant tout](#la-même-expérience-avant-tout) 8 | * [Concevez pour l’implémentation](#concevez-pour-limplémentation) 9 | * [D’abord, la structure](#dabord-la-structure) 10 | * [Choisir ses mots](#choisir-ses-mots) 11 | * [Les outils ne sont pas des identités](#les-outils-ne-sont-pas-des-identités) 12 | * [Moins, c’est moins](#moins-cest-moins) 13 | * [Faites-vous payer](#faites-vous-payer) 14 | * [La pêche, pas le poisson](#la-pêche-pas-le-poisson) 15 | * [Zéro pointé pour la gesticulation](#zéro-pointé-pour-la-gesticulation) 16 | * [Laissez pourrir le mal](#laissez-pourrir-le-mal) 17 | 18 | ## Le mieux est l’ennemi du bien 19 | 20 | Rien n’est – ni ne peut être – accessible à 100 %. Quiconque revendique une offre complètement accessible est un menteur, ou ne comprend pas l’accessibilité, ou les deux. Généralement c’est les deux. C’est acceptable de livrer un travail inaccessible, à condition qu’il soit _davantage_ accessible qu’avant. Faites ce que vous pouvez au sein des contraintes données. Si les contraintes ne sont pas raisonnables, commencez par les remettre en question. Vous pouvez ne pas vous sentir être la meilleure personne disponible pour travailler sur l’accessibilité. Mais vous _êtes disponible_. Ne laissez pas le travail à des super-héro·ïnes de l’accessibilité qui sont absentes (et n’existent pas). 21 | 22 | ## Par défaut, ou c’est foutu 23 | 24 | Fondamentalement, l’accessibilité ne marche pas comme un plugin, un add-on ou un état à activer. Si une interface offre l’option d’_activer_ l’accessibilité, elle est inaccessible. Un bouton à faible contraste qui déclenche un contraste élevé ? Game over. De manière catégorique : une surcouche d’accessibilité ne fonctionne pas et ne peut pas fonctionner. Ajouter _des trucs d’accessibilité_ par dessus _des trucs inaccessibles_ ne répond pas aux besoins qui doivent être satisfaits. Les fonctionnalités spécifiques offertes par ces intrus tiers sont immatérielles. Résistez à tout prix à l’idéologie de l’accessibilité _post-hoc_. Un Produit Minimum Viable (MVP) sans accessibilité n’est pas viable – même à minima. 25 | 26 | ## La même expérience avant tout 27 | 28 | Le but n’est pas de créer une meilleure expérience, ou même une bonne expérience. C’est de s’assurer que différentes personnes auront des expériences _comparables_. Une interface ne doit pas être problématique pour certaines mais pas pour les autres, même si certaines interfaces sont complexes et certains contenus ésotériques. Vous n’avez pas à choisir qui s’intéresse à ça – ou qui peut le gérer. Si une image montre une blague, le texte alternatif ne doit pas gâcher la blague ni expliquer ce qui est drôle. Il doit _raconter la même blague par des moyens alternatifs_. La blague pourrait être choquante pour certain·es, ou inexplicable pour d’autres. Ce sont des manquements en matière d’inclusion, pas d’accessibilité. 29 | 30 | ## Concevez pour l’implémentation 31 | 32 | On dit que la forme doit suivre la fonction. Mais beaucoup d’organisations conçoivent le design d’abord et développent ensuite. La phase de conception du design consiste purement en idéations graphiques et laisse trop de questions d’implémentation sans réponse. De ce fait, les devs se retrouvent encouragé·es à prioriser l’approximation visuelle plutôt que l’accessibilité. Les interfaces de glisser-déposer doivent être opérables avec un clavier. Ce qui veut dire que des boutons doivent être inclus. Ces boutons doivent apparaître dans le “_design_”. En tant que technicien de l’accessibilité, vous vous devez de contribuer au plus tôt dans un projet, dès l’étape de la conception. Parce que la forme doit suivre la fonction et la fonction doit être accessible. 33 | 34 | ## D’abord, la structure 35 | 36 | Une interface mal structurée pourra techniquement être conforme aux WCAG (Règles pour l’accessibilité des contenus Web). Une interface bien structurée et intuitive pourra comporter des erreurs de conformité multiples et distinctes. Mais il y a des chances que cette dernière soit l’interface accessible au plus grand nombre. Les outils d’accessibilité automatique ne sont vraiment bons qu’à repérer des erreurs isolées. Bien qu’ils puissent être utiles pour les diagnostics, vous devez adopter une approche globale. Qu’est-ce qui va troubler ou submerger les gens ? Où vont-ils se faire piéger ? Ne perdez pas de temps à cocher individuellement des critères de conformité lorsque la structure sous-jacente a besoin d’être repensée. 37 | 38 | ## Choisir ses mots 39 | 40 | Renseigner des libellés de texte représente une proportion considérable de l’accessibilité web. Les boutons, liens ou champs doivent tous avoir des libellés. De même, les en-têtes et la titraille des pages sont des types importants de libellés. Les messages de statut sont importants pour indiquer l’état de la page. Produire des libellés suffira à répondre à un test automatique d’accessibilité, mais c’est la _formulation_ qui fera la différence. Une bonne rédaction ne peut pas être automatisée. L’intelligence artificielle ne peut pas anticiper votre intention. Développez vos compétences de rédaction, ou incluez des rédacteur·ices dans vos processus. 41 | 42 | ## Les outils ne sont pas des identités 43 | 44 | Le handicap n’est pas plus uniforme que son absence. Différents utilisateurs de lecteurs d’écrans utilisent des lecteurs d’écrans différents de différentes manières pour différentes raisons dans des circonstances différentes pour satisfaire des besoins ou des préférences différentes. Et ça, c’est si ils utilisent un logiciel de lecteur d’écran. Il n’y a pas de persona qui puisse modéliser de manière adéquate un utilisateur de lecteur d’écran ou son comportement. Aucun utilisateur de lecteur d’écran ne parle au nom de tous les utilisateurs de lecteurs d’écran. Donc ne concevez pas pour “les utilisateurs de lecteurs d’écrans” (ou tout autre groupe homogène fictif). Concevez pour prendre en charge les capacités des logiciels de lecteurs d’écrans. Les personnes ne peuvent – et ne doivent – pas être quantifiées, mais les interactions entrantes et sortantes peuvent l’être et le sont. 45 | 46 | ## Moins, c’est moins 47 | 48 | Le mantra less is more, _moins c’est plus_, est faux. Moins, c’est juste moins, et c’est une bonne chose. Il y a trop de décisions techniques d’interfaces qui sont prises parce que d’autres l’ont fait, ou juste pour prouver que c’est possible. Arrêtez ça. Plus on en fait, plus le résultat est complexe, plus le risque est grand que ça échoue. Et pas juste en produisant des erreurs ou des pannes isolées ; mais surtout en allant à l’encontre de toute logique. Dans la majorité des cas, la plupart des composants devrait être juste du contenu. Le contenu ne devrait que rarement être caché derrière un bouton. Transformer des titres, des paragraphes ou des listes en une interface à onglets accessible n’est pas une amélioration. C’est une dégradation, juste pour se vanter. 49 | 50 | ## Faites-vous payer 51 | 52 | Ne laissez pas votre enthousiasme pour les travaux d’accessibilité être exploité. Comme tout travail, plus il y a de gens qui le font gratuitement, moins il a de valeur. Le travail d’accessibilité n’est pas un extra, un hobby, ou une faveur. C’est une partie fondamentale d’un design d’interface de qualité. Si on vous paye pour travailler et que vous travaillez sur l’accessibilité, elle doit être dans la définition de votre rôle. Le travail d’accessibilité doit être reconnu et récompensé comme n’importe quel autre boulot. Quand _“l’accessibilité est le travail de tout le monde”_, elle n’est souvent celui de personne. Méfiez-vous de cette rhétorique. 53 | 54 | ## La pêche, pas le poisson 55 | 56 | La conception de produits et interfaces accessibles commence par concevoir les organisations et communautés qui les feront. Vous pouvez faire du travail accessible aujourd’hui mais qui le fera demain ? Qui ou quoi pourrait le _défaire_ demain ? Concevoir accessible peut vouloir dire bâtir une équipe d’intégration composée de devs qui maîtrisent l’intégration. Ça peut vouloir dire remplacer un CMS qui interdit la production de contenus accessibles. Ça peut vouloir dire enseigner à une équipe éditoriale comment structurer leurs contenus. Si vous réparez l’inaccessibilité par vous-même, votre impact va vite s’estomper. 57 | 58 | ## Zéro pointé pour la gesticulation 59 | 60 | Les entreprises ont tendance à préférer _avoir l’air_ d’améliorer l’accessibilité, plutôt que de réellement le faire. Elles recrutent des pros de l’accessibilité mais ne leur donnent pas les ressources nécessaires. Elles commissionnent des entretiens avec des personnes handicapées mais refusent d’interpréter les résultats. Elles payent pour des audits mais n’implémentent pas les recommandations. Elles vous disent que le contraste des couleurs doit être traité mais refusent de modifier toute couleur liée à leur précieuse marque. Si vous voulez faire une réelle différence, exigez les actions concrètes au lieu de gesticulations performatives. 61 | 62 | ## Laissez pourrir le mal 63 | 64 | Vous aurez l’opportunité de travailler sur des produits qui sont intrinsèquement abusifs ou addictifs, qui produisent de la désinformation ou de la haine, voire simplement qui rajoutent au malheur du monde. Ce genre de produits et les entreprises psychopathes qui les accouchent sont extrêmement résistantes à tout type de réforme, quoi qu’elles puissent vous dire. Ne vous martyrisez pas en tentant de sauver l’irrécupérable. Ne faites pas de leur échec le vôtre. Protégez votre réputation et votre santé mentale. L’inaccessibilité est partout. Travaillez en priorité avec des personnes réceptives, sur le genre de produits qui méritent d’exister. 65 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | --------------------------------------------------------------------------------