292 lines
13 KiB
Typst
292 lines
13 KiB
Typst
#let ieee(
|
|
// The paper's title.
|
|
title: [Paper Title],
|
|
|
|
// An array of authors. For each author you can specify a name,
|
|
// department, organization, location, and email. Everything but
|
|
// but the name is optional.
|
|
authors: (),
|
|
|
|
// The paper's abstract. Can be omitted if you don't have one.
|
|
abstract: none,
|
|
|
|
// A list of index terms to display after the abstract.
|
|
index-terms: (),
|
|
|
|
// The article's paper size. Also affects the margins.
|
|
paper-size: "us-letter",
|
|
|
|
// The result of a call to the `bibliography` function or `none`.
|
|
bibliography: none,
|
|
|
|
// How figures are referred to from within the text.
|
|
// Use "Figure" instead of "Fig." for computer-related publications.
|
|
figure-supplement: [Fig.],
|
|
|
|
// The paper's content.
|
|
body
|
|
) = {
|
|
// Set document metadata.
|
|
set document(title: title, author: authors.map(author => author.name))
|
|
|
|
// Set the body font.
|
|
// As of 2024-08, the IEEE LaTeX template uses wider interword spacing
|
|
// - See e.g. the definition \def\@IEEEinterspaceratioM{0.35} in IEEEtran.cls
|
|
set text(font: "TeX Gyre Termes", size: 10pt, spacing: .35em)
|
|
|
|
// Enums numbering
|
|
set enum(numbering: "1)a)i)")
|
|
|
|
// Tables & figures
|
|
show figure: set block(spacing: 15.5pt)
|
|
show figure: set place(clearance: 15.5pt)
|
|
show figure.where(kind: table): set figure.caption(position: top, separator: [\ ])
|
|
show figure.where(kind: table): set text(size: 8pt)
|
|
show figure.where(kind: table): set figure(numbering: "I")
|
|
show figure.where(kind: image): set figure(supplement: figure-supplement, numbering: "1")
|
|
show figure.caption: set text(size: 8pt)
|
|
show figure.caption: set align(start)
|
|
show figure.caption.where(kind: table): set align(center)
|
|
|
|
// Adapt supplement in caption independently from supplement used for
|
|
// references.
|
|
set figure.caption(separator: [. ])
|
|
show figure: fig => {
|
|
let prefix = (
|
|
if fig.kind == table [TABLE]
|
|
else if fig.kind == image [Fig.]
|
|
else [#fig.supplement]
|
|
)
|
|
let numbers = numbering(fig.numbering, ..fig.counter.at(fig.location()))
|
|
// Wrap figure captions in block to prevent the creation of paragraphs. In
|
|
// particular, this means `par.first-line-indent` does not apply.
|
|
// See https://github.com/typst/templates/pull/73#discussion_r2112947947.
|
|
show figure.caption: it => block[#prefix~#numbers#it.separator#it.body]
|
|
show figure.caption.where(kind: table): smallcaps
|
|
fig
|
|
}
|
|
|
|
// Code blocks
|
|
show raw: set text(
|
|
font: "TeX Gyre Cursor",
|
|
ligatures: false,
|
|
size: 1em / 0.8,
|
|
spacing: 100%,
|
|
)
|
|
|
|
// Configure the page and multi-column properties.
|
|
set columns(gutter: 12pt)
|
|
set page(
|
|
columns: 2,
|
|
paper: paper-size,
|
|
// The margins depend on the paper size.
|
|
margin: if paper-size == "a4" {
|
|
(x: 41.5pt, top: 80.51pt, bottom: 89.51pt)
|
|
} else {
|
|
(
|
|
x: (50pt / 216mm) * 100%,
|
|
top: (55pt / 279mm) * 100%,
|
|
bottom: (64pt / 279mm) * 100%,
|
|
)
|
|
}
|
|
)
|
|
|
|
// Configure equation numbering and spacing.
|
|
set math.equation(numbering: "(1)")
|
|
show math.equation: set block(spacing: 0.65em)
|
|
|
|
// Configure appearance of equation references
|
|
show ref: it => {
|
|
if it.element != none and it.element.func() == math.equation {
|
|
// Override equation references.
|
|
link(it.element.location(), numbering(
|
|
it.element.numbering,
|
|
..counter(math.equation).at(it.element.location())
|
|
))
|
|
} else {
|
|
// Other references as usual.
|
|
it
|
|
}
|
|
}
|
|
|
|
// Configure lists.
|
|
set enum(indent: 10pt, body-indent: 9pt)
|
|
set list(indent: 10pt, body-indent: 9pt)
|
|
|
|
// Configure headings.
|
|
set heading(numbering: "I.A.a)")
|
|
show heading: it => {
|
|
// Find out the final number of the heading counter.
|
|
let levels = counter(heading).get()
|
|
let deepest = if levels != () {
|
|
levels.last()
|
|
} else {
|
|
1
|
|
}
|
|
|
|
set text(10pt, weight: 400)
|
|
if it.level == 1 {
|
|
// First-level headings are centered smallcaps.
|
|
// We don't want to number the acknowledgment section.
|
|
let is-ack = it.body in ([Acknowledgment], [Acknowledgement], [Acknowledgments], [Acknowledgements])
|
|
set align(center)
|
|
set text(if is-ack { 10pt } else { 11pt })
|
|
show: block.with(above: 15pt, below: 13.75pt, sticky: true)
|
|
show: smallcaps
|
|
if it.numbering != none and not is-ack {
|
|
numbering("I.", deepest)
|
|
h(7pt, weak: true)
|
|
}
|
|
it.body
|
|
} else if it.level == 2 {
|
|
// Second-level headings are run-ins.
|
|
set text(style: "italic")
|
|
show: block.with(spacing: 10pt, sticky: true)
|
|
if it.numbering != none {
|
|
numbering("A.", deepest)
|
|
h(7pt, weak: true)
|
|
}
|
|
it.body
|
|
} else [
|
|
// Third level headings are run-ins too, but different.
|
|
#if it.level == 3 {
|
|
numbering("a)", deepest)
|
|
[ ]
|
|
}
|
|
_#(it.body):_
|
|
]
|
|
}
|
|
|
|
// Style bibliography.
|
|
show std.bibliography: set text(8pt)
|
|
show std.bibliography: set block(spacing: 0.5em)
|
|
set std.bibliography(title: text(10pt)[References], style: "ieee")
|
|
|
|
// Display the paper's title and authors at the top of the page,
|
|
// spanning all columns (hence floating at the scope of the
|
|
// columns' parent, which is the page).
|
|
place(
|
|
top,
|
|
float: true,
|
|
scope: "parent",
|
|
clearance: 30pt,
|
|
{
|
|
{
|
|
set align(center)
|
|
set par(leading: 0.5em)
|
|
set text(size: 24pt)
|
|
block(below: 8.35mm, title)
|
|
}
|
|
|
|
// Display the authors list.
|
|
set par(leading: 0.6em)
|
|
for i in range(calc.ceil(authors.len() / 3)) {
|
|
let end = calc.min((i + 1) * 3, authors.len())
|
|
let is-last = authors.len() == end
|
|
let slice = authors.slice(i * 3, end)
|
|
grid(
|
|
columns: slice.len() * (1fr,),
|
|
gutter: 12pt,
|
|
..slice.map(author => align(center, {
|
|
text(size: 11pt, author.name)
|
|
if "department" in author [
|
|
\ #emph(author.department)
|
|
]
|
|
if "organization" in author [
|
|
\ #emph(author.organization)
|
|
]
|
|
if "location" in author [
|
|
\ #author.location
|
|
]
|
|
if "email" in author {
|
|
if type(author.email) == str [
|
|
|
|
\ #link("mailto:" + author.email)
|
|
] else [
|
|
\ #author.email
|
|
]
|
|
}
|
|
}))
|
|
)
|
|
|
|
if not is-last {
|
|
v(16pt, weak: true)
|
|
}
|
|
}
|
|
}
|
|
)
|
|
|
|
// MODIFIED: Set double spacing for main body text
|
|
set par(justify: true, first-line-indent: (amount: 1em, all: true), spacing: 1em, leading: 1em)
|
|
|
|
// Display abstract and index terms.
|
|
if abstract != none {
|
|
// MODIFIED: Double spacing for abstract
|
|
set par(spacing: 0.9em, leading: 0.9em)
|
|
set text(9pt, weight: 700, spacing: 150%)
|
|
|
|
[_Abstract_---#h(weak: true, 0pt)#abstract]
|
|
|
|
if index-terms != () {
|
|
parbreak()
|
|
[_Index Terms_---#h(weak: true, 0pt)#index-terms.join[, ]]
|
|
}
|
|
v(2pt)
|
|
}
|
|
|
|
// Display the paper's contents.
|
|
body
|
|
|
|
// Display bibliography.
|
|
bibliography
|
|
}
|
|
|
|
#show: ieee.with(
|
|
title: [How anti-repair practices are contributing to an excess in waste],
|
|
abstract: [
|
|
Right-to-repair legislation is challenged by OEMs and larger firms, claiming concerns for end-user data privacy, IP infringement, and degrading of products with cheaper replacement parts. They use these claims to perpetrate practices of locking down software crucial for diagnosing technical issues, building products to be difficult to disassemble, and voiding warranty if they are opened. These practices reduce the incentive for a consumer to continue using a product after it fails, even if the issue is a minor fix, such as replacing the screen or battery. These often still functional electronic products are treated as disposables, instead of a tool which is able to be serviced back to its original function. Supporting right to repair is crucial to allowing the extension of product lifespan, which will reduce electronic waste, and minimize the environmental footprint of consumer goods.
|
|
],
|
|
authors: (
|
|
(
|
|
name: "Chase Vicente",
|
|
department: "Nature and Human Values",
|
|
organization: "Colorado School of Mines",
|
|
location: "Golden, Colorado",
|
|
email: "chase_vicente@mines.edu"
|
|
),
|
|
),
|
|
bibliography: bibliography("sources.bib"),
|
|
)
|
|
|
|
|
|
= What is right to repair?
|
|
The principle of right to repair is that if you own a product, you should have the ability to obtain the parts, documentation, tools, and software access needed to repair or modify the product. Right to repair as a movement is assertive of the concept "that ownership should be absolute"--that buying means buying the freedom to maintain it and restore it without relying exclusively on the manufacturer @repair-org. A meaningful piece of right to repair legislation should include several consumer-rights guarantees: access to fairly priced replacement parts; access to service manuals, or at the minimum, schematics; access to diagnostic or specialty tools; and the ability to unlock any software restrictions @what-is-right-to-repair.
|
|
|
|
Decades ago, most consumer goods--such as cars and radios--were designed to be opened and serviced by anyone with basic mechanical skills, a lot of the time, there were even service manuals and schematics printed inside the products or supplied with them. @what-is-right-to-repair. Louis Rossmann, founder of Rossmann Repair Group Inc. notes in a 2020 video introducing the right to repair that personal computers "came with thick books of schematics," however, as of 2016, "repair centers cannot get access to schematics and diagrams". There significant shift in the culture surrounding repair. As electronics advanced and became physically smaller, these practices expanded beyond personal computers; household devices became increasingly dependant on software, began being sealed shut, and their technical information gate-kept from end users. Disposable products became the norm, and with repair being hindered heavily, the modern right to repair movement was born. A major turning point came in 2012, when massachusets passed the nations first automotive repair laws @2012-mass-laws. Fisher from Landline.Media, a news outlet reporting on the trucking industry, reports that these laws required tools made available to the auto dealers also be made available for purchase to both owners and independent repair shops.
|
|
|
|
= Why is right to repair important?
|
|
|
|
== Environmental concerns
|
|
@terryn2019A_Righ @hernandez2020Empowe @jin2023Right_
|
|
== Cost saving
|
|
@apple-supports @bar-right-repair-and-environment
|
|
== Ownership
|
|
|
|
|
|
= How are manufacturers fighting back?
|
|
Manufacturers increasingly employ design and business practices that make independent repair difficult or even impossible. Common tactics include the use of proprietary screws, excessive adhesive, soldering typically modular components onto boards, and physically welding housings together, blocking internal access @repair-org. These obstacles make simple maintenance impractical. Another barrier is the introduction of digital locks, many companies--such as Apple--require "part-pairing" on all hardware used in their devices. Without reprogramming of replacement parts by an authorized servicer, pervasive warnings may appear on screen, and the replacement parts could even be completely rejected by the motherboard @part-pairing. Together, these barriers consolidate repair power within corporate monopolies, driving repair costs up, and eroding consumer choice and product longevity.
|
|
|
|
== Ethical Issues
|
|
This section will focus on the ethical issues surrounding IP infringement, and how replicability may parasitize manufacturer profits. @11021197
|
|
== OEMs' arguments
|
|
This section will focus on debunking other less-justified arguments for limiting repair. I will use these sources broadly throughout this whole section. @unintended-consequences @economic-downsides @two-wrongs-dont-make-a-right @criticism-right-repair-laws
|
|
=== Consumer Data Privacy
|
|
The basis of this argument is that providing open access to debugging tools would allow a bad-faith independent repair person unfederated access to consumer data stored on such device. This risk can be mitigated by allowing consumers control over their data and making end users responsible for the data security (I.E: Give them the option to set a password). This argument is from @criticism-right-repair-laws.
|
|
=== Disincentivizing Innovation
|
|
This argument comes from @two-wrongs-dont-make-a-right. Reinauer claims that companies may shy away from creating more complex devices, or devices with electronics due to pressure from the law, as they would also have to provide consumers with access to repair parts, which would be a costly distribution effort.
|
|
|
|
= What can be done to help?
|
|
== Ongoing Lawsuits
|
|
@john-deere-accused @john-deere-sued
|
|
== Other Activism and Demonstrations
|