mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-12-22 14:05:15 -05:00
425 lines
13 KiB
ReStructuredText
425 lines
13 KiB
ReStructuredText
============================
|
||
Google Season of Docs (GSoD)
|
||
============================
|
||
|
||
|
||
Thank you for your interest in participating in the `2024 Google Season of Docs <https://developers.google.com/season-of-docs/>`__ program with
|
||
the `Qubes OS team <https://www.qubes-os.org/team/>`__. This page details our 2024 project idea
|
||
as well as completed past projects. You can read more about the Google
|
||
Season of Docs in the official
|
||
`guides <https://developers.google.com/season-of-docs/docs/>`__ and
|
||
`FAQ <https://developers.google.com/season-of-docs/docs/faq>`__.
|
||
|
||
Update and Expand How-To Guides – Qubes OS
|
||
------------------------------------------
|
||
|
||
|
||
About the Qubes OS Project
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
Qubes OS is a security-focused operating system that allows you to
|
||
organize your digital life into compartments called “qubes.” If one qube
|
||
is compromised, the others remain safe, so a single cyberattack can no
|
||
longer take down your entire digital life in one fell swoop. You can
|
||
think of using Qubes OS as having many different computers on your desk
|
||
for different activities but with the convenience of a single physical
|
||
machine, a single unified desktop environment, and a set of tools for
|
||
using qubes together securely as parts of a unified system.
|
||
|
||
Qubes OS was launched in 2011 and has `received praise from security experts and organizations <https://www.qubes-os.org/endorsements/>`__ like Edward Snowden, the
|
||
Freedom of the Press Foundation, Micah Lee, and Let’s Encrypt. Qubes has
|
||
:doc:`over 40,000 active users </introduction/statistics>`. From network-level to
|
||
software-level protections, as well as protections against firmware and
|
||
hardware attacks, Qubes OS is trying to protect the user from the most
|
||
significant attacks they encounter so that they can get their work done
|
||
safely.
|
||
|
||
The project's problem
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
- Some of the existing content is stale. It refers to previous Qubes
|
||
releases and has not yet been updated to the cover the latest stable
|
||
release.
|
||
|
||
- There are important topic areas that the current guides do not
|
||
completely cover, such as “understanding Qubes OS,” “using Qubes OS
|
||
in practice,” “Qubes OS workflow for coding,” “printing,” and
|
||
“audio.”
|
||
|
||
- The guides do not consistently address users of all skill and
|
||
experience levels (beginner, intermediate, and expert).
|
||
|
||
- Some of the guides lack relevant illustrations and screenshots.
|
||
|
||
- When the developers update a software tool, they should update all
|
||
the guides that mentions this tool. However, there is currently no
|
||
way for the developers to know which guides mention which tools.
|
||
|
||
|
||
|
||
The project's scope
|
||
^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
The project is estimated to need around six months to complete (see the
|
||
timeline below). Qubes team members, including Michael Carbone, Andrew
|
||
Wong, Marta Marczykowska-Górecka, and Marek Marczykowski-Górecki, will
|
||
supervise and support the writer.
|
||
|
||
Measuring the project's success
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
We will consider the project successful if:
|
||
|
||
- Existing guides are updated to describe currently supported Qubes OS
|
||
version
|
||
|
||
- Missing common guides are identified
|
||
|
||
- 2-3 new guides are written
|
||
|
||
|
||
|
||
Timeline
|
||
^^^^^^^^
|
||
|
||
|
||
.. list-table::
|
||
:widths: 15 15
|
||
:align: center
|
||
:header-rows: 1
|
||
|
||
* - Dates
|
||
- Action items
|
||
* - May
|
||
- Orientation
|
||
* - June - November
|
||
- Update & extend how-to guides
|
||
* - December
|
||
- Final project evaluation and case study
|
||
|
||
|
||
|
||
Project budget
|
||
^^^^^^^^^^^^^^
|
||
|
||
|
||
.. list-table::
|
||
:widths: 32 32
|
||
:align: center
|
||
:header-rows: 1
|
||
|
||
* - Expense
|
||
- Amount
|
||
* - writer (10 hours/week, 6 months)
|
||
- $12,000
|
||
* - TOTAL
|
||
- $12,000
|
||
|
||
|
||
|
||
Additional information
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
Qubes OS regularly participates in Google Summer of Code and Google
|
||
Season of Docs. This is our third time participating in Google Season of
|
||
Docs. Our mentorships for GSoD 2019, 2020, and 2023 were successes, and
|
||
the projects were completed within the times allotted. The past Google
|
||
Season of Docs projects have given us experience in working with
|
||
technical writers and have helped us to understand the benefits that
|
||
technical writers can bring to our project.
|
||
|
||
Past Projects
|
||
-------------
|
||
|
||
|
||
You can view the project we had in 2019 in the `2019 GSoD archive <https://developers.google.com/season-of-docs/docs/2019/participants/project-qubes>`__
|
||
and the `2019 writer’s report <https://refre.ch/report-qubesos/>`__.
|
||
|
||
You can view the project we had in 2020 in the `2020 GSoD archive <https://developers.google.com/season-of-docs/docs/2020/participants/project-qubesos-c1e0>`__
|
||
and the `2020 writer’s report <https://gist.github.com/PROTechThor/bfe9b8b28295d88c438b6f6c754ae733>`__.
|
||
|
||
You can view the results of the project we had in 2023
|
||
`here <https://www.youtube.com/playlist?list=PLjwSYc73nX6aHcpqub-6lzJbL0vhLleTB>`__.
|
||
|
||
Here are some successful projects which have been implemented in the
|
||
past by Google Season of Docs participants.
|
||
|
||
Instructional video series
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
.. _the-projects-problem-1:
|
||
|
||
|
||
The project's problem
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
|
||
|
||
There is user demand for high-quality, up-to-date video guides that take
|
||
users from zero Linux knowledge to using Qubes as a daily driver and
|
||
performing specific tasks inside of Qubes, but almost no such videos
|
||
exist. Although most of the required knowledge is documented, many users
|
||
report that they would prefer to watch videos rather than read text or
|
||
that they would find videos easier to understand and follow along with.
|
||
|
||
.. _the-projects-scope-1:
|
||
|
||
|
||
The project's scope
|
||
^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
|
||
|
||
This project consists of creating a series of instructional videos that
|
||
satisfy the following criteria:
|
||
|
||
- Prospective users who are not yet familiar with Linux or Qubes OS can
|
||
easily understand and follow the videos.
|
||
|
||
- The videos make a good effort to catch and keep the attention of
|
||
their target audience.
|
||
|
||
- Users can follow the videos step-by-step to install Qubes OS and
|
||
accomplish various tasks.
|
||
|
||
- The videos show the actual software being used (i.e., Qubes OS and
|
||
any relevant software running inside of it).
|
||
|
||
- The videos are technically accurate, include security warnings where
|
||
appropriate, and use terminology in a way that is consistent with the
|
||
rest of the documentation (also see the
|
||
:doc:`glossary </user/reference/glossary>`).
|
||
|
||
- The video series is comprehensive enough that users do not need to
|
||
consult the documentation or ask questions (e.g., on the forum) in
|
||
order to accomplish the most popular tasks and activities.
|
||
|
||
- The videos include voice narration. (Showing the speaker is
|
||
optional.)
|
||
|
||
- The quality of the videos is consistent with current standards
|
||
regarding things like editing, transitions, animations, lighting, and
|
||
audio quality.
|
||
|
||
- The videos are in high definition (minimum 1080p, preferably 4k).
|
||
|
||
- The videos are separated into a series, where each video is an
|
||
appropriate length and is appropriately connected to the other videos
|
||
in the series.
|
||
|
||
- The videos are suitable for upload and sharing on popular
|
||
video-sharing and social-media platforms, such as YouTube and
|
||
Twitter. (The account or channel under which the videos are uploaded
|
||
is open to discussion on platforms where the Qubes OS Project does
|
||
not already have a significant established presence, such as
|
||
YouTube.)
|
||
|
||
- The videos are suitable for embedding in appropriate places in the
|
||
Qubes documentation. (E.g., a video on how to update Qubes OS should
|
||
be appropriate for appearing on the :doc:`:doc:`how to update </user/how-to-guides/how-to-update>`` page.)
|
||
|
||
- Where possible, the videos should strive to be version-independent.
|
||
(For example, a video explaining the template system should still be
|
||
relevant many releases from now if the template system has not
|
||
changed.)
|
||
|
||
|
||
|
||
Below is an example of the content (which is already
|
||
:doc:`documented </index>`) that the video series is likely to cover. The
|
||
precise scope of content is to be determined in consultation with the
|
||
video creator.
|
||
|
||
- Introduction to Qubes
|
||
|
||
- Selecting appropriate hardware
|
||
|
||
- How to install Qubes OS
|
||
|
||
- First steps after installing
|
||
|
||
- How to organize your qubes
|
||
|
||
- How to update
|
||
|
||
- How to back up, restore, and migrate
|
||
|
||
- How to copy and paste text (including dom0)
|
||
|
||
- How to copy and move files (including dom0)
|
||
|
||
- How to install software
|
||
|
||
- How to use and customize disposables
|
||
|
||
- How to enter fullscreen mode
|
||
|
||
- How to use devices (including block storage, USB, PCI, and optical)
|
||
|
||
- Templates: understanding, installing, uninstalling, reinstalling,
|
||
etc.
|
||
|
||
- Common troubleshooting (preferably included in previous videos at
|
||
appropriate points)
|
||
|
||
- The Qubes firewall
|
||
|
||
- Passwordless root
|
||
|
||
- Anti Evil Maid
|
||
|
||
- Split GPG
|
||
|
||
- CTAP proxy
|
||
|
||
- YubiKey
|
||
|
||
- Whonix
|
||
|
||
- How to install and use a VPN in Qubes
|
||
|
||
- How to install and use Windows in Qubes
|
||
|
||
- Other popular topics, as time permits
|
||
|
||
|
||
|
||
The project is estimated to need around six months to complete (see the
|
||
timeline below). Qubes team members, including Michael Carbone, Andrew
|
||
Wong, and Marek Marczykowski-Górecki, will supervise and support the
|
||
creator.
|
||
|
||
.. _measuring-the-projects-success-1:
|
||
|
||
|
||
Measuring the project's success
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
|
||
|
||
We will consider the project successful if, after publication of the
|
||
video series:
|
||
|
||
- Actual prospective users with no prior familiarity with Linux or
|
||
Qubes OS are able to successfully install and use Qubes OS as
|
||
intended by following along with the videos.
|
||
|
||
- The reception to the videos is generally positive and complaints
|
||
about quality and accuracy are minimal.
|
||
|
||
- Appropriate analytics (e.g., YouTube metrics) are average or better
|
||
for videos of this type (to be determined in consultation with the
|
||
creator).
|
||
|
||
|
||
|
||
Consolidate troubleshooting guides
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
**Project**: Consolidate troubleshooting guides
|
||
|
||
**Brief explanation**: Troubleshooting guides are scattered across many
|
||
pages and sometimes incomplete, leading to repeatedly posting the same
|
||
instruction over and over when helping users to diagnose problems. This
|
||
could be helped by writing a consolidated guide with a clear list of
|
||
symptom-action layout.
|
||
|
||
**Expected results**:
|
||
|
||
- Review existing :ref:`troubleshooting guides <index:troubleshooting>`
|
||
|
||
- Review
|
||
`issues <https://github.com/QubesOS/qubes-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22C%3A+doc%22>`__
|
||
containing common troubleshooting steps (checking specific logs etc)
|
||
|
||
- Propose updated, consolidated troubleshooting documentation,
|
||
including its layout
|
||
|
||
|
||
|
||
**Knowledge prerequisite**:
|
||
|
||
- `Markdown <https://daringfireball.net/projects/markdown/>`__
|
||
|
||
|
||
|
||
**Mentor**: `Marek Marczykowski-Górecki <https://www.qubes-os.org/team/>`__
|
||
|
||
Improve Getting Started page
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
**Project**: Improve Getting Started page
|
||
|
||
**Brief explanation**: The :doc:`Getting Started page </introduction/getting-started>` is the place a new user would go to
|
||
understand better how to use Qubes. It is currently has old screenshots
|
||
not using the default desktop environment and could have much better
|
||
flow. In addition, this improved page content may end up being served
|
||
more directly to the user via the `offline documentation <https://github.com/QubesOS/qubes-issues/issues/1019>`__
|
||
or the firstboot guide.
|
||
|
||
**Expected results**:
|
||
|
||
- Review the existing page and website, similar pages for other OSes
|
||
|
||
- Provide visual mock-ups and proposed text
|
||
|
||
|
||
|
||
**Knowledge prerequisite**:
|
||
|
||
- basic Qubes OS knowledge
|
||
|
||
- `Markdown <https://daringfireball.net/projects/markdown/>`__
|
||
|
||
|
||
|
||
**Mentor**: `Michael Carbone <https://www.qubes-os.org/team/>`__
|
||
|
||
Rewrite qrexec documentation
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
**Project**: Rewrite qrexec documentation
|
||
|
||
**Brief explanation**: Current qrexec (qubes remote exec) documentation
|
||
is hard to follow, important information is hidden within a wall of
|
||
text. Some parts are split into multiple sections, for example version
|
||
specific to avoid duplication, but it doesn’t help reading it.
|
||
Additionally, protocol documentation describes only few specific use
|
||
cases, instead of being clear and precise protocol specification. Fixing
|
||
this last point may require very close cooperation with developers, as
|
||
the current documentation doesn’t multiple corner cases (that’s one of
|
||
the issue with its current shape).
|
||
|
||
**Expected results**:
|
||
|
||
- Review existing :doc:`qrexec documentation </developer/services/qrexec>` and an
|
||
`issue about it <https://github.com/QubesOS/qubes-issues/issues/1392>`__
|
||
|
||
- Propose updated, consolidated admin documentation (policy writing,
|
||
adding services)
|
||
|
||
- Propose consolidated protocol specification, based on the current
|
||
documentation, and cooperation with developers
|
||
|
||
|
||
|
||
**Knowledge prerequisite**:
|
||
|
||
- `Markdown <https://daringfireball.net/projects/markdown/>`__
|
||
|
||
|
||
|
||
**Mentor**: `Marek Marczykowski-Górecki <https://www.qubes-os.org/team/>`__
|