-
Notifications
You must be signed in to change notification settings - Fork 31
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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".
I'd make them a bit more strict, but of course we will just aim to execute them all.
principles.md
Outdated
@@ -0,0 +1,34 @@ | |||
# Status Principles | |||
|
|||
The goal of Status is widespread adoption of the decentralized web, also known as web3. Our challenge is achieving mass adoption while staying true to our principles outlined below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
web3
sounds like a product/technology name, that might change or go away. If we want this document to be as timeless as possible, I'd rather remove it from here. Decentralized web or decentralized communications is enough, IMO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! Agree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
principles.md
Outdated
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. | ||
|
||
**Censorship resistance** | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary line break :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
principles.md
Outdated
We strive for complete openness and symmetry of information, and have no border between our core contributors and our community. We will be frank about our shortcomings, especially when making short-term tradeoffs in service of our long-term goals. | ||
|
||
**Free culture** | ||
The software we create is a public good. It will be made available via a free and open source license, for anyone to share, modify and benefit from. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe just: ...it _is_ made via a free and open source...
because it is open-source already
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, agree
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GPL license is also free and open source, but can't be used for commercial purposes. If we're going to mention licensing, seems, makes sense to mention ability of any commercial usage and others important things ( modification without authors mentioning?? , what else ). In this document, probably, we can describe more precisely licensing principals and create separately Status own license based on described principals and explicitly compatible with range of available licenses (MIT, BSD and so on)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Maxris how would you suggest we do this? To me it seems to be included in the "free culture" (i.e. to me MIT/BSD are more free than GPL, e.g.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oskarth I've tried to investigate if already exists some license, as a sample, which allows re-licensing, but was not able to find such so far.
Recently, someone created following issue status-im/react-native-desktop-qt#304 . It seems in some cases MIT license is preferable than BSD+PATENTS license.
Wondering how good might be idea to create Status own license which explicitly will allow source code re-licensing to the any license from the allowed licenses list (the list can be extended in the future, but currently can contain MIT, BSD, etc.).
At the other hand https://opensource.org/licenses suggests to not create new licenses duplicating already available licenses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oskarth as discussed, to highlight friendship with commercial use (more value for the community), how about to add "commercially usable without obligations" as following:
It will be made available via a free and open source license, for anyone to share, modify and benefit from, **commercially usable without obligations**.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing the Rust community does for licensing versatility is they dual license MIT + Apache2.0. Apache2.0 provides a lot of friendlier patent grants than the BSD+Patents combo, and MIT is provided because Apache2 is incompatible with GPLv2. Here's an issue on this matter on a Rust project:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @empyrical , this case helps a lot! Sounds like we can define and use any range of desired licenses at the same time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we're using MIT + Apachev2 for Nimbus for these precise same reasons, (also looked to rust for inspiration) - it seemed like the way forwards to offer the broadest reach from a license-mixing point of view
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ie we allow the user to choose between apachev2 and MIT as they like - best of both worlds and no need to invent a new license
Agree. How about replacing "aim" with "will" across the board? |
@oskarth for principles or a manifest of a kind I'd rather use the present tense, something like |
principles.md
Outdated
**Continuance** | ||
We aim to create software that will continue to exist and improve, without the stewardship of a single entity or any of the current team members. | ||
|
||
**Resourcefulness** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a big fan of the way it is formulated, sounds too much like being cheap
The original post was also mentionning:
As an organization grows, and has ready access to capital, fighting bureaucracy/inefficiency should be an explicit goal as the scrappiness of a small startup tends to dissipate. Moreover, it’s an obligation we have to token holders.
https://discuss.status.im/t/principles-from-basel/175/14
I like this idea of fighting bureaucracy and inefficiency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would you phrase it differently @yenda? The whole principle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know I suppose I would just not have it for this first iteration until we put more thought into it.
principles.md
Outdated
|
||
**Censorship resistance** | ||
|
||
We aim for a free flow of information. No content is under surveillance. One of the design goals of Ethereum is to be censorship resistant, and we should provide the same guarantees across Status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mentioning Ethereum
might has similar issue as mentioning web3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"we abide by the cryptoeconomic design principle of censorship resistance"
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: 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. |
This is a perfect topic for ongoing blog posts |
principles.md
Outdated
We will minimize centralization across both the software and the organization itself. In other words, we will maximize the number of physical computers composing the network, and maximize the number of individuals who have control over the system(s) we are building. | ||
|
||
**Inclusivity** | ||
We believe in fair and widespread access to our software, with an emphasis on ease-of-use. This also extends to social inclusivity, permissionless participation, and investing in educational efforts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"investing in educational efforts" - for whom? Not sure who we are targeting here with this investment and why it's important for inclusivity
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me: anyone! Inclusivity implies it is easy to the software correctly, regardless of background. This requires education.
principles.md
Outdated
We aim to create software that will continue to exist and improve, without the stewardship of a single entity or any of the current team members. | ||
|
||
**Resourcefulness** | ||
Doing more with less. By optimizing what we have to work with, we aim to solve problems in the most effective way possible at lower economic costs (in terms of capital, time and resources). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add that this resourcefulness is important for the sustainability
of Status (to avoid perceptions as mentioned above by @yenda that this is about being cheap)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this can be folded into continuance?
Updated based on feedback so far Medium changes
Minor changes
Major outstanding source of contentionResourcefulness and its need to be in there at all Current players to reach consensus: Major con:
Major pro:
Suggested approach for resolving:
|
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). |
principles.md
Outdated
**Transparency** | ||
We strive for complete openness and symmetry of information, and have no border between our core contributors and our community. We are frank about our shortcomings, especially when making short-term tradeoffs in service of our long-term goals. | ||
|
||
**Free culture** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My only tiny complaint: Free culture
is evocative of something much different to me than this. I would find it easier to understand Free use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't Libre
commonly used for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Free culture is referring specifically to https://en.wikipedia.org/wiki/Free-culture_movement, but changing it to Free use for now based on demand. If someone strongly disagrees with this, we can have a debate.
principles.md
Outdated
|
||
The goal of Status is widespread adoption of the decentralized web. Our challenge is achieving mass adoption while staying true to our principles outlined below. | ||
|
||
**Liberty** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Roman numbers to aid translation and refer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why Roman numbers?
Does not hurt, not clear how it would help.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eric brought it up yesterday as a way to ease future translations. I.e. you can be sure you refer to the same principle in multiple languages by using it. IIRC this is a convention used in some international statues.
principles.md
Outdated
We don't compromise on security when building features. We use state-of-the-art technologies, and research new security methods and technologies to make strong security guarantees. | ||
|
||
**Privacy** | ||
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 to preserve the right to total anonymity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Total Anonymity is an ideal we strive towards, however it's not feasible, Ethereum (and Status) is Pseudo-Anonymous. So we should rephrase this like we strive to it or pursuit of the right of total anonymity
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pushed change
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. |
principles.md
Outdated
The goal of Status is widespread adoption of the decentralized web, also known as web3. Our challenge is achieving mass adoption while staying true to our principles outlined below. | ||
|
||
**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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we include a complementary statement or section that explains how Status conceives of the platform promoting the common good, i.e. in relation to or in addition to personal liberty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michaelsbradleyjr That's a great idea, I think something like this would fit nicely in the annotated version live here: https://hackmd.io/5jB9lWyIQpO8lG1cyLR8oA?both
Changelog Medium changes:
Major outstanding
|
Related to resourcefulness: http://www.paulgraham.com/relres.html |
Four concrete suggestions for changes. Please up/downvote/comment if you agree with these changes. Change 1Adjust 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 2Adjust body section on resourcefulness: X. Resourcefulness Change 3Add coercion-resistant sentence: I. Liberty Change 4Add 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 |
principles.md
Outdated
We don't compromise on security when building features. We use state-of-the-art technologies, and research new security methods and technologies to make strong security guarantees. | ||
|
||
**IV. Privacy** | ||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this include a section about privacy "by default"? Was it decided if this was a core principle? (I think it should be).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@noman-land Do you think the current text doesn't reflect that? How would you suggest re-writing this text to reflect it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the current text reflects the "right" to privacy but not the goal of making it a default. Like how WhatsApp includes e2e encryption but it's off by default and you have to opt into it.
What about something like:
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 that has maximum security enabled by default. Additionally, we strive to provide the right of total anonymity.
Changelog: Medium changes:
|
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)? |
principles.md
Outdated
We create software incentivized to continue to exist and improve, without the stewardship of a single entity or any of the current team members. | ||
|
||
**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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to fight bureaucracy and inefficiencies
I hope we are talking about fighting bureaucracy and inefficiencies within Status itself, not in the world? Wasn't clear for me at first read :)
Sentence can be simplified:
As we grow and have ready access to capital, it is our obligation to token holders to solve problems in the most effective way possible at lower economic costs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, decentralized organization is about to avoid monopoly. If you are big, centralized and very profitable - you are the next target to be taken down by community interested in decreasing costs, more rights or capabilities. "fighting bureaucracy and inefficiencies" is a driver to build dedicated community.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are big, centralized and very profitable - you are the next target to be taken down
Sounds like de-kulakisation :)
@Maxris, I agree that refactoring of inefficiencies is a good thing to do on all levels. But this is a text of Status principles and I don't think that we as a company are going to work on solving all the bureaucracy and inefficiencies of the world. For me that would sound like a false political slogan.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds like de-kulakisation :)
@vkjr , Skype community decreased the cost of phone calls and communication dramatically, but big monopolies lost a lot money. Not me and not you, nowadays, desire to pay such high rates, as they were before, for phone services to any company.
"de-kulakisation" seems doesn't suite well here, because decentralized community is driven by free will, but not with coercion. We can say "de-kulakisation", but it's exactly what monopolies do with their "users".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed this to "As we grow and have ready access to capital, it is our obligation to token holders to fight bureaucracy and inefficiencies within the organization." as this seemed to be the minimal change that reflected above
Sorry, I probably missed some discussions. What is the purpose of signing these principles? |
@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 |
We minimize centralization across both the software and the organization itself. In other words, we maximize the number of physical computers composing the network, and maximize the number of individuals who have control over the system(s) we are building. | ||
|
||
**VIII. Inclusivity** | ||
We believe in fair and widespread access to our software, with an emphasis on ease-of-use. This also extends to social inclusivity, permissionless participation, interoperability, and investing in educational efforts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@3esmit "interoperability" seems is related to "standardization", but standardized thing is not about survival or quick mutation as response to external influences. Such "interoperability" is good attribute, but after the win is taken.
I'm concerning, especially, about chat communications protocols mentioned in Slack.
@Maxris good ref! |
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. |
@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? |
@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." |
@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. |
Minor clarifications on scope
Proposed freeze on principles
Thoughts? Please indicate with thumbs up or down if you agree with this method. |
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 |
More than 50% of contributors signed this cryptographically. Need to squash to one commit to merge. |
Previous commits: First draft of principles Updated based on feedback so far Medium: - Use more active words instead if "aim" and "will" - Remove "also known as web3." - Replace "Ethereum is to be censorship resistant, and we should provide the same guarantees across Status." with ""we abide by the cryptoeconomic design principle of censorship resistance"" Minor: - Remove linebreak Bring back "aim to maximize ...freedoms", otherwise it reads weird Medium changes: - Use Roman numerals to ease future translations (referencing principles) - Free culture => Free use - Privacy: change section to emphasize pseudo anonymity: "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." - Continuance: Add incentivized to "We create software incentivized to continue to exist and improve, without the stewardship of a single entity or any of the current team members." Add interoperability to Principles/Inclusivity enabling its users to communicate freely with each other no matter the software they using. For Status this would mean that we would try to make accessible the "import" and "export" of user's content from other "Transactor softwares", such as Status to other such as Mist, that would also implement this interoperability capabilities. As we are open source this is easy as agree in use the same methods, but we need to achieve some coordination with other wallet providers to provide at end the best user experience, and user are freely to choice which software they prefer, and easily move on to other if they want. Interoperability should be achievable in Status through use of ERC725 (Identity) and other future account interfaces. 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. Minor capital Minor clarifications on scope - V: We strive for complete openness and symmetry of information _within the organization_. - X: As we grow and have ready access to capital, it is our obligation to token holders to fight bureaucracy and inefficiencies _within the organization_.
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:
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: