status-im / swarms

Swarm Home. New, completed and in-progress features for Status
92 stars 31 forks source link

First draft of principles #290

Closed oskarth closed 5 years ago

oskarth commented 6 years ago

Principles commitment

What follows is the set of principles that all core contributors will be asked to (cryptographically) sign, assuming they agree with it. In addition to this document, there's a living annotated document. This annotated document elaborates on these principles and links to further resources and such. That document is open to interpretation, and since it is continuously updated it won't be cryptographically signed. This annotated version can be found here: https://hackmd.io/5jB9lWyIQpO8lG1cyLR8oA?both

Meta: shasum principles.md # => 47053923b88bc65a053441213544a7234ac93c2c (180726, 11am CEST)

Rough steps:

  1. Soft signaling step
  2. Cryptographic signature of a specific version to consensus (specifics TBD)
  3. Once consensus is reached, push out as comms and ensure we uphold these principles

How to review this PR

What happens next

Once some form of rough consensus has been reached (no strong disagree, at least a bunch of people reviewed it) we will use a specific version that everyone will be asked to cryptographically sign.

Assuming we hit critical mass of core contributors (70%+?), we can push this out as a form of communication.

These principles will then be used as something people can point to, i.e. it works as a form of decentralized decision making. Additionally, there's a live annotated principles document which people can update with elaborations/implications/further reading, as they see fit.

Major vs minor changes

In case of minor changes, the soft signaling (thumbs up/down/sideways) is taken to stay the same. In case of major changes, it's preferable that people who are known to feel strongly about something have another look.

The actual signature will only be cryptographic. This exercise is purely for signaling and getting a final form that it seems likely everyone will agree on.

Two examples of potentially major changes are:

  1. Addition of "resourcefulness", which came after Basel
  2. The removal of "Status is agnostic" from Liberty. (This was due to a perception of this not being clear enough, rather than any kind of principled disagreement).
Status Principles, Annotated Live Version - HackMD
Status Principles, Annotated Live Version - HackMD
oskarth commented 6 years ago

I'm not sure about future tense and words like "aim" in the principles. It sounds to me it opens a possibility of a principle to be "forever delayed".

Agree. How about replacing "aim" with "will" across the board?

mandrigin commented 6 years ago

@oskarth for principles or a manifest of a kind I'd rather use the present tense, something like we are frank about our shorcomings, our software is open-source, etc.

jbostick00 commented 6 years ago

I think the Transparency is important about the trade-offs that are required as a part of the development of the app. I agree the marketing message needs to be clear about the trade-offs being made. Could there be a "Transparency" or "Trade-Offs" page at the website? Where the team lays out the current trade offs being made on the app and for each trade off a plan for overcoming that trade-off. For example, if I understand correctly, the current system does store messages on some servers because there are no nodes yet. So a current trade off would be: Using servers for message storage: -Current security implemented on servers (a short explanation of how the current servers are secure) -Future solution is to develop nodes run by users (an explanation of how this will solve the trade-off of using servers and provide an estimated time frame for implementation of the solution. This will help users understand the issue and know what to expect in terms of reaching the goal.

Some trade-offs may not have current solutions and those should be laid out and explained. You see a lot of folks on #Status as the first question they post: "Is this secure" It would be good to be able to point new users to a link where they can review the trade offs being made and develop their own opinion about if the app is secure.

exiledsurfer commented 6 years ago

Could there be a "Transparency" or "Trade-Offs" page at the website? Where the team lays out the current trade offs being made on the app and for each trade off a plan for overcoming that trade-off

This is a perfect topic for ongoing blog posts

oskarth commented 6 years ago

Updated based on feedback so far

Medium changes

Minor changes

Major outstanding source of contention

Resourcefulness and its need to be in there at all

Current players to reach consensus:

Major con:

Major pro:

Suggested approach for resolving:

oskarth commented 6 years ago

Another thing that hasn't been brought up, at least not since the initial day in Basel (where they were part of the same cluster), is the topic of coercion-resistance. While they are similar in some ways, one could also make the argument that they point to different things.

Do people have any strong feelings on this one? One way of resolving it is to elaborate on coercion in the annotated version, as it is a sibling to: Liberty (absence of coercion), Security (guarantees against it), Censorship-resistance, and Privacy (with anonymity there's no one to coerce).

exiledsurfer commented 6 years ago

Add "incentivized" to

We aim to create software incentivised to continue to exist and improve, without the stewardship of a single entity or any of the current team members.

oskarth commented 6 years ago

Changelog

Medium changes:

Major outstanding

oskarth commented 6 years ago

Related to resourcefulness: http://www.paulgraham.com/relres.html

Relentlessly Resourceful
oskarth commented 6 years ago

Four concrete suggestions for changes. Please up/downvote/comment if you agree with these changes.

Change 1

Adjust free culture / free use header to Openness:

I suggest simplifying "Free use" to simply "Open" (or perhaps more properly as a thing, "Openness"). It is shorter and something we use more in our daily lives, and it doesn't confuse "free" as in "doesn't cost money". Open source/culture/content are all subsets of this that are elaborated on in the body, as well as permission-less.

Change 2

Adjust body section on resourcefulness:

X. Resourcefulness We are relentlessly resourceful. As we grow and have ready access to capital, it is our obligation to token holders to fight bureaucracy and inefficiencies. This means solving problems in the most effective way possible at lower economic costs (in terms of capital, time and resources).

Change 3

Add coercion-resistant sentence:

I. Liberty We believe in the sovereignty of individuals. As a platform that stands for the cause of personal liberty, we aim to maximize social, political, and economic freedoms. This includes being coercion-resistant.

Change 4

Add back agnostic sentence as it seems more related here than under Liberty, and has come up a few times in conversations as something these principles should capture.

II. Censorship resistance We enable free flow of information. No content is under surveillance. We abide by the cryptoeconomic design principle of censorship resistance. Even stronger, Status is an agnostic platform for information.

oskarth commented 6 years ago

Changelog:

Medium changes:

- Adjust free culture / free use header to Openness

- Adjust body section on resourcefulness:

X. Resourcefulness
We are relentlessly resourceful. As we grow and have ready access to capital, it is our obligation to token holders to fight bureaucracy and inefficiencies. This means solving problems in the most effective way possible at lower economic costs (in terms of capital, time and resources).

- Liberty: Add coercion-resistant sentence
...and economic freedoms. This includes being coercion-resistant.

- Add back agnostic sentence as it seems more related here than under Liberty, and has come up a few times in conversations as something these principles should capture.
II. Censorship resistance
We enable free flow of information. No content is under surveillance. We abide by the cryptoeconomic design principle of censorship resistance. Even stronger, Status is an agnostic platform for information.
corpetty commented 6 years ago

Status is an agnostic platform.

I feel as though this is the core of it. Status aims to provide a secure platform for people to behave and join the way they want to, built from generalized primitives. Are the primitives the things that come together to make this, or are we choosing a side (thus negating agnosticism)?

vkjr commented 6 years ago

Sorry, I probably missed some discussions. What is the purpose of signing these principles?

maxhora commented 6 years ago

@vkjr Apaches will able to win and Mary Poppinses can start to teach :) The Protocol on which decentralized organization is supposed to operate. https://www.amazon.com/Starfish-Spider-Unstoppable-Leaderless-Organizations/dp/1591841836

oskarth commented 6 years ago

@MaxRis good ref! @vkjr Also see https://discuss.status.im/t/principles-from-basel/175/21?u=oskarth

oskarth commented 6 years ago

@corpetty

Status is an agnostic platform. I feel as though this is the core of it. Status aims to provide a secure platform for people to behave and join the way they want to, built from generalized primitives. Are the primitives the things that come together to make this, or are we choosing a side (thus negating agnosticism)?

Could you elaborate on what you mean by this and what you think this implies for the principles as stated? Choosing a side in what way? We are obviously biased in the types of technology we are choosing, for example.

vkjr commented 6 years ago

@maxris, sorry, I didn't quite get your point. I've read the book and not sure what protocol you are mentioning. Could you elaborate please?

vkjr commented 6 years ago

@oskarth, thanks for the ref, it is very explanatory. I like this quote: "These are principles every core contributor stands behind when it comes to working at Status the project."

maxhora commented 6 years ago

@vkjr I meant that such principles (or, as for me, "protocol" sounds more suitable) is the heart of decentrilized organization. It's the only thing around which community is formed and contribute. Since Status is going to be not just decentrilized organisation, but platform to catalyse creation and forming of others decentrilized organizations, the protocol is different to others decentr. communities. For example, StackOverflow and Wikipedia are about the knowledge and their communities protocols are straighforward: create the best content of your knowledge and all will win (all expert aggregators in appropriate knowledge fields with paid supsriptions are taken down by these communities). But Status seems is about to create the tool to allow forming of new decentrilized communities, adobt to masses. Principles describes the protocol to achieve that.

oskarth commented 6 years ago

Minor clarifications on scope

Proposed freeze on principles

  1. Leaving the principles as they are until Thursday morning (72h)
  2. This is a chance for people to raise any major deal breaking issues ("I won't sign with this in")
  3. Assuming no deal breaker issues, begin signing these cryptographically (instructions TBA)
  4. Any subtleties or extensions can be elaborated on in the annotated version of these principles.

Thoughts? Please indicate with thumbs up or down if you agree with this method.

noman-land commented 6 years ago

Privacy is the power to selectively reveal oneself to the world. For us, it's essential to protect privacy in both communications and transactions, as well as being a pseudo-anonymous platform. Additionally, we strive to provide the right of total anonymity.

Does anyone have any thoughts on 'privacy as a default' vs 'privacy as a power'? It's a subtle difference. A power is something that is optional that you can use. A default is a recommendation that is given to you and your option is change it.

Does Status aim to be "most secure/private/anonymous" by default?

I think it should. It could be linked with the education initiative in the Inclusivity section. Use defaults to teach people good practices.

oskarth commented 6 years ago

More than 50% of contributors signed this cryptographically. Need to squash to one commit to merge.