homepage | project | subprojects | wiki | page index | tracker | chat | microblog
Vision statement
Primary user story
I am an everyday user without my own infrastructure. I want a single point of trust (account and applications), so that communication from my existing devices is both safe and easy.
Operator user story
I am a well-intentioned sysadmin. I want to host a service on a hostile network (the Internet), so that I can help strangers communicate without compromising their digital civil rights.
Marginalized user story
I am a marginalized person with an opinion. I want to intercept online harassment, so that I can communicate safely with friends and strangers.
Solution
Regular services are implementations of networked software, typically lightweight clients or browser interfaces that deliver messages to remote applications operated by a third party.
An ethical service is one that explicitly protects users from exploitation in this scenario.
A Liberty Deckplan Host (LDH) is a single domain implementing our concrete configuration (defined below) to provide a well-defined suite of ethical services.
Librem One is the flagship LDH installation.
Audience
For contributors, this notebook contains standard definitions (ethical and technical), software engineering and design notes, and links to reference implementations.
For programmers interested in active development of software implementations, see source.puri.sm/liberty
For potential users wanting to sign-up for services and download applications, see https://librem.one
For existing users wanting documentation and troubleshooting steps, see https://docs.puri.sm/Librem_One.html
Purist service standards
We define standards that tackle relevant user stories and threat models:
- digital civil rights definition
- ethics-related service components (draft)
- basic package requirements (draft)
- trustworthy service (draft)
Further reading on the Purism blog:
Liberty Deckplan Host (LDH)
- The Liberty Deckplan Host definition is a concrete networked software configuration for providing ethical services
- The deckplan is a list of LDH endpoints and supported protocols for compatible implementations
- Whipstaff, command-line tool for deploying and operating one or more LDH installations
- Keel, middleware handling subscription-based user accounts for all LDH services
- Liberty CLI, user-facing CLI for accessing one or more LDH accounts
- Liberty client suite, clients recommended for LDH-based services
The following subcomponents are also being developed:
- Django LDAP registration
- Layout templates
- openvpn-confgen
Roadmap
Development and implementation is coordinated by Purism, the social purpose corporation (SPC) that builds Librem devices, maintains the PureOS distribution and operates Librem One services.
- Names shamelessly recycled from the Ubuntu release history 🤪
-
🔧 indicates boring but essential work,📯 indicates something more exciting - Milestone links don't render correctly gitlab-org/gitlab-ce#66269 see wiki:home
🔧 (September)
Feisty first launch User's registration and first-launch experience must be bug free. Plus XMPP. Zero-tolerance for UX bugs. They must be fixed in order to close these milestones.
%"Feisty first launch 1" The unregistered user must be able to register, launch an app and connect to another user.
%Feisty first launch 2 An unregistered user must be able to install an app and get clear hints on how to register.
%Feisty first launch 3
%Feisty first launch 4
🔧 (November)
Boring badger We are running the latest stable version of every service.
%"Boring badger 1" Upgrades, downgrades and crossgrades are complete.
%Boring badger 2 Latest stable version of all services.
%Boring badger 3
🔧
Eventual ermine This is a dumping ground for very high-level commitments that we have made, including stretch goals. No dreams allowed. No time commitments.
%"Eventual ermine 1" New Mail client that runs on iOS (and Android?) We can
%Eventual ermine 2
%Eventual ermine 3
%Eventual ermine 4
%Eventual ermine 5
%Unscheduled unicorn
Dreams include calendars, contacts, Wireguard and time-travel routing, but not in that order.
🐞
Eager entomologist Recurring milestones for priority bugs.
Documentation
These are the services and applications (clients) that we provide and support:
Hub (Account)
A website for managing your account.
service | web | desktop | mobile | android | windows | ios | macos
Chat
Private text, voice and video chat for individuals and groups.
service | web | desktop | mobile | android | windows | ios | macos
Private email (optionally signed).
service | web | desktop | mobile | android | windows | ios | macos
Social
An (optional) public presence for your account.
service | web | desktop | mobile | android | windows | ios | macos
Tunnel
A secure connection to the internet.
service | web | desktop | mobile | android | windows | ios | macos
Resources
Tools
Planning and development tools that we use include:
- EasyScreenCast (extensions.gnome.org)
- Gherkin (cucumber.io, see also behave documentation)
- GNOME Builder (wiki.gnome.org)
- Pencil (pencil.evolus.vn)
- ReText (retext-project/retext)
Upstream packages
We rely on, contribute to, fork or configure:
Sharing and contributions
Services notebook
https://source.puri.sm/liberty/services
Copyright 2017-2019 Purism SPC
SPDX-License-Identifier: CC-BY-SA-4.0
Shared under CC-BY-SA-4.0. We adhere to the Contributor Covenant 1.4 without modification, and certify origin per DCO 1.1 with a signed-off-by line. Contributions under the same terms are welcome.
For details see:
- COPYING.BYSA.md, full license text
- COPYING.md, additional license notices
- CODE_OF_CONDUCT.md, full conduct text
-
CONTRIBUTING.DCO.md, full contribution text (use
git commit -s
)
Services notebook by Purism SPC is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.