What About Governance?

This is something I have been considering a lot of late as I’ve been ideating around the concept of DACs. I believe the safe network will be considered a Decentralized Org/Co-op for a while and perhaps a Decentralized Autonomous Org/Co-op in the future.

I’m trying to climb up onto the shoulders of the deep thinkers of the forum in order to follow-up on what has already been asked about controversial changes and too much consensus. As the subject states, my questions revolve around Governance. I’ll start with the simple and work my way up to the crazier ones.

  • How are clients updated?
  • After the system is up and running who decides what pull-requests get accepted into the codebase?
  • It’s been discussed on how vaults get updated. I still don’t understand this. Could someone explain it to me in detail or send me to a link that does this?
  • Do the members who are not developers (all safecoin holders) get a say in the direction?
  • Say there is a proposal to implement Homomorphic Encryption or Building Basic Income Into the Safe Network. How do we as the community discuss (probably in our forum on the network) issues and give our “vote” of ‘yah’ to Homomorphic or ‘nah’ to BI or to any other proposals that come along?
  • As I’ve been thinking through a Builder DAC the concept of supporting and funding individual features by concensus popped up.
  • Could we direct funds by votes through maidsafe.org to fund the work by different PODs on individual features?
  • Could we direct our support for proposals through votes?

I’m not ashamed to show my ignorance on the subject. I know Bitcoin has governance issues. How do they handle these things today? I hear Ethereum has governance issues. How do they handle these things? Am I mistaken in saying that these systems are really driven by the development community? Is this the best way of doing things?


Am I mistaken in saying that these systems are really driven by the development community? Is this the best way of doing things?

Yes it is. Anyone that disagrees is free to fork the code and make the changes they want. Then they can publicize those changes and attract a community that agrees with them. Users are free to mix and match any currencies/ structures/systems they want. And the people in charge will be closest to the code, with the most skills to update/make decisions. Don’t like Bitcoin? Use Litecoin instead. Use dogecoin. Use dash. Use SAFECOIN.


It seems you’re promoting a “Take my ball and go find better friends that want to play like I do.” attitude about changes. I’m talking about the direction of our MAIDSAFE network. As an investor (anyone who owns coins) I want to have a real say in where we are heading.

Governance? Once safecoin is implemented, the covenant is complete, Maidsafe becomes a competitive entity and subject to competition.

There are questions around management of the code base, but personally I think these will be worked out within the space of the new environment …ie the codebase will move from Github to a new system within SAFE.

We are about to experience a new paradigm, brought to us by the vision of one man and our investment in his handpicked team.

Like any paradigm change, it’s impossible to address concerns that arise before the change occurs.


I want to be married to a supermodel but that’s not going to happen either. Why should I trust you to make important technical decisions about the product just because you have money? I want to trust the devs who work with it. If you have a better solution create it and then persuade me to invest in it. If you are not sure the product is right don’t invest the money until you are. Less risk, less reward.

Who said anything about voting with money? I think we have enough bright people on this forum to come up with some pretty awesome solutions that don’t include a 51% stake holder buying the direction of the network.

I do trust the devs today. I trust their current motives. That is not to say I always will trust those working on the code. As is the case with the current BitCoin fiasco and if @chrisfostertv is correct and Maidsafe becomes a competitive entity, what motivating factors will the “then devs” have?

Couldn’t disagree more. There will be changes needed and direction planned. @dirvine said himself he is interested in things such as Homomorphic Encryption. There will be other proposals for changes. Right now the safe network is focused on data. Someday I hope it includes processing. Core changes will be a real thing in the future as we learn new technologies and paradigms will be changed.

Are you suggesting that Maidsafe is a throw-away network once these new things are known? I am pretty sure you are not.


If you are not voting with money then how do you want to vote? What’s your proposal? What governance structure do you want to see?

If you disagree with something that happens in the future with maidsafe, find people who agree with you, copy the open source code, make the changes you want, and show why your solution is better.

Or do you have a better idea?

1 Like

If you don’t trust the future direction of the product, sell your coins and follow something you do trust whenever a decision is made that you don’t like.

Or do you have a better solution?

I’ve been thinking through some ideas as they relate to the dream of business type DACs. I think some of these ideas could translate into here. Really would like the community to vet and change them to match how they see it working best. I linked to some of the ideas in the OP but I can put together a more focused proposal for what the maidsafe community DAC and PODs might look like running under something that is led by the entire community.


Forking is governance.

This is why I am looking forward to safenet. It offers freedom, and has almost no democratic protocol system. If a new protocol that needs to be placed, fork it! Have the people decide for themselves – blockchainless bitcoin without a burden of the miners who rule the protocol. Without the burden of the majority who rules the chain. Without the burden of minority who speaks out against the majority.

Protocols should never be ruled by the appeals of emotions. Rather, protocols should be ruled by survival. Forks is part of the evolutionary process. It is like linux kernel. You don’t have to use the latest version. You could keep the older version that works for you, fork it, and go a different direction. Nobody is stopping you! That is exactly what protocol should be all about, forking! It is like animals that has evolved throughout history. Thousands of years of forking. From fish, to lizard. From lizard to bird. From monkey to Human. The natural process of forking.

Fork it, baby.
Fork it or die.
Fork the establishment.
Fork all the things.


I recall listening to a video last year of David Irvine explaining some of the topics @chadrickm has brought up, they were on you tube and I am sure they are still there. We are witnessing the creation of an Autonomous Network Technology. If I recall correctly David Irvines intention is to create a network that automatically rejects code that has a negative effect on the efficiency of the network and accepts new code that either does not change the efficiency or increases efficiency. As for social networks/programs that might be developed, that would basically be an app that one could choose. If a community decided that there would be no one hungry or without shelter and wanted to create an app that allowed for a basic income to that end, it would not need concern anyone but those running that app.


As far as I understood the OP @chadrickm is looking for ideas and clarification around a few points. That’s stated pretty clearly.

I think it’s a good question. To have some form of governance, or to at least be aware of the intentions at the moment to avoid the problems of core code maintenance / decision making that have been plaguing bitcoin. A coop board or something for general network decision making.

Now is the time to clarify such things, before conflicts of interest arise which may be damaging to the network (such as a fork).

I know there’s been discussion of how client code works. But it’s not clear (as far as I’ve read) who will own the keys to the codebase (and accept PRs) once Maidsafe release the network.

And with this, I know there’s the intention to spread the 5% development stash far and wide. But is there already a system set up for this? (@dirvine, @nicklambert, or maybe @happybeing you know where we can find this info if it exists? ).

I’ve seen here talk about requiring SAFE Pods to form a consensus (Although then there’s the question of who/what qualifies as a safepod. Can I start one and get a vote?)

I think that might be one of threads you’re looking for @chadrickm. Although it concerns software upgrades, but not the dev bounties etc (which will dictate what upgrades become available / are considered worthwhile to work upon).

I wonder as well if SAFE will need such consensus. As it doesnt require a blockchain, there might not be any ‘hardfork’ issues with new code. Perhaps a variety of clients will exist and so long as they maintain minimum network requirements, it wont matter which ‘fork’ of the code you use? Though still there will be decisions about what core functionality gets added etc… Perhaps there is more flexibility with SAFE than bitcoin?

It’s noted here That network voting would be difficult (setting up new clients etc).

And while the idea of ‘money’ having a say, it might make sense for any ‘board’ of governance to have a minimum entry requirement to discourage voter fraud. I’m not sure how else this could be achieved… (anyone have other ideas?)

With this, though, there could be the basis for electing a ‘board’ which would define governance of the network. And might be in charge of alotting the 5% dev fund to any and all developers out there. (who would carry out maintenance etc).

Some variance on this might make sense. Or maybe this is all a bit complicated and there’s a simpler mechanism.

Ooooooof. Okay I’m going to stop now as I’m deep in the 234 post thread re: upgrades. It covers a lot of what I was wondering about, so I might bob back in here when I’ve read more.


I missed @dirvine’s story of the self updating autonomous collective. I love it. I don’t yet comprehend how it would work when totally new features (i.e. processing) are trying to be added, but I’m coming along for the ride.

I hate the idea of a board. I want to see every invested party (those with a real desire to see things succeed) having a say in things. I want that “say” to be efficient.

To go along with the story we need to think in terms of the network itself being sovereign. We “ask” it to accept our changes. Now I’m feeling the “madness”. We can still crowdsource/fund new features into the system, but we need the features to be accepted by the entity (collective).

A lot of talk has been had around the 5% that the network will dole out to developers. What if that doling had everything to do with the way the sanitized nodes accepted the updates. I’m probably not being clear in this and I have to get back to by desk…


Yep, that’s it, stated politely!

Why should you ask someone who wants to decide about directions and doesn’t have money?
All other factors being equal, it’s more reasonable to trust someone who’s got a stake.

Mildly put, yes. IMO some of it is bordering on criminal.

I’ve said it before, so very briefly:
a) Up to v1.0, things should be governed according to the “IPO” docs.
b) After that, it’s a new phase.

In reality, MAID is like Ethereum’s fuel. You don’t get a say in how the Saudis pump their oil because you have 3 gallons of gasoline in your tank. But at this stage (before launch) the deciders ought to work by the “prospectus”.

It’s funny how some have repeatedly highlighted problems with Bitcoin governance, while consistently failing to ask questions you asked. Of course the devs/Foundation will decide everything, it’s one and the same. It’s not a bad way, but some (the likes of Al Kafir who thinks he has the right to be listened because he registered) may be disappointed.

When I say covenant is complete, I mean that once safecoin is delivered…I’d consider that Maidsafe has delivered on any inferred promises from the crowdsale (compute was not a deliverable). It’s then over to the best minds in the world to figure out the way forward via the POD network and in saying that, I guess any ‘governance’ trends towards technocracy at least in the short term.

I’ve put some deep questions out there myself and the best answer I got, was from @dirvine who said “nice problem, but we will solve it”.

The question of control over the keys to source is mind bending and the same one facing us with the makeup of our captured governments.

I like Martin Armstrongs solution for government, short terms by elected professionals drawn from a cross section of society (lawyers forbidden from office) How do we get the equivalent in a vital software project such as SAFE…can determination be somehow distributed to avoid a narrow technocratic mindset.

Is there a partnership seat for AI in determination for the network…I cant think of a better project to utilize an AI to ensure the dev network dont stuff things up. “I’m sorry Dave, I’m afraid I can’t do that” :smiling_imp:

Great questions that I hope the deep thinkers have a crack at…lacking the tech skills, my answers come entirely from imagination :slightly_smiling:


Excellent! and worth pasting into this thread:


If introducing external upgrades automatically to the network as per the good developers develop new feature, then bad upgrades can be also done this way, unless there is some authorizing method??


A network or any autonomous device (like a human, yes arguable if a single human is autonomous, but …) should be able to discover things that improve it and discard that which harms it._

This is a thought experiment coming up (so beware).

Every thing has a purpose and evolves to meet that purpose, hunting, learning etc. If the network has a purpose of protecting data and looking after more data in meaningful ways (eventually compute) then it’s a good start. So a basic ability of not allowing corrupt data is a start (We do that). Then adding in ways to mitigate human action like switching off and on (we do that to). Then a mechanism to reward endpoints (we do that) that provide resources to help the core purpose helps. Then messaging to allow greater use of utility comes along.

So it begins, a quest to program in a reason to survive, not to count numbers or churn through data analysis on command, but instead the actual network itself gets into distress when data is lost (like our sacrificial data) and calls out to human operators to farm more (symbiosis). This is not us doing this, but the network itself without us being involved. No administrators or tweakers of knobs and such, no nuclear shelter bunkers with AC units, but the network that;s sneaked onto our computers using resources we were not using.

So people then say, oh that is every system, but it’s really not, this network will act on its own to fulfil its purpose, gather and protect data and it does that not for us, but because it’s core desire is to gather and protect data. It’s code is that purpose.

So with that purpose, not calculated via timers or magic numbers, the system has a very tightly coupled connection of neurons (the groups) connected via millions of synapses (the connections to other groups). This is why it’s amazing to us in house to get so close to the fundamental objects and traits in the code, no waste and little or none runtime.

When this links together and creates something like SAFE then it’s not like a normal computer program or server, it’s spread far and wide and can act out it’s purpose with great clarity. It can do this with people looking at code and seeing there is no 10 minute do this, every 4 years do that, but instead everything is calculated using these fundamental types that have unique and sole purpose in the code. These on their own are useless and even several lumped into a single computer are barely able to function. However, when they start connecting together into a group, they start to be able to make decisions, as the group grows and splits into more groups (like cells dividing) then more functionality appears. As this continues then stability becomes apparent and continues to strengthen as the network starts to span thousands of nodes. When it gets to millions of nodes then it appears very powerful indeed.

So the beginning of a network / thing with a purpose is born and it can satisfy a base purpose, protecting data and communications. In the end what we have is remarkably simple when looked at as source code on a single computer, it’s the connecting together that gives the capability.

When we move into computation then this picture may change slightly, but this is how I perceive what we are doing. Yes very hard and of course has to be correct secure and scalable. It is something a bit different though and the difference will start to become more apparent as researchers get more involved and more people write papers (several PHD students we know of have their thesis on this already).

So this core purpose is measurable and if that is measurable then we teach the network how to upgrade by running nodes in a sanitised way to participate and confirm they do equal or improve the current network. This means all messages are for this purpose and no more, all actions are confirmed and checked by a close group (they are anyway) and the sacrificial nodes come on line a bit at a time. It may require computation and more code in upper layers only being able to change or similar, but it can be possible I believe. As I say though the thinking in this new environment is new and radical to the extent folk call it mad, I also note that I have been in front of a whiteboard with an awful lot of experts, professors and Engineers and have always been able to describe the process of SAFE when folk sit and listen (and almost always they have except for a single a bitcoin “expert”). That is compelling and encouraging I feel. For this reason I believe the challenge of self diagnosis of upgrades should be possible.


Ha. I hadn’t even thought of that parallel with David’s name before. That’s a pretty funny coincidence. Perhaps in the SAFE logo thread, someone should suggest an illuminated red circle for the main Network logo. It should scale well to multiple resolutions too.

Then again, if it’s not a coincidence, but rather somehow a cleverly planned joke by future AI, I guess it’s not entirely bad. After all, being superseded by autonomous AI of our own creation is a relatively respectable way for humanity to go out.

1 Like

Having a board doesn’t necessarily stop this.

The board could be elected and would be there to facilitate decision making on lower level things, instead of requiring continual voting.

It’s just one idea. Liquid democracy in some form would be amazing. But in the end, some people are voted for as best able to answer the questions. And that would be your board.

I thought about this some too. But it gets shaky. Who’s to say the value (okay network performance…) But if the update is something more surface level… like an updated UI that increases adoption and makes it easier for everyone. This secures the network but not in a measurable way at release time.

Another reason why I think some sort of elected body should be in place for this.

Some changes (say processing) might in fact slow things down. The “live” system would see this as something to be rejected but the “test” system could be programmed to handle it as an experiment. That experimentation data could be available to the live system.

Someone(s) need to say, “yeah this is what we want”. So the system can accept it.

Have you ever played the electronic version of 20 questions? Try it a time or two-hundred (it’s addictive). The players train the AI.

Whoever the “players” are needs to be folks who are training it “correctly”. If malicious folks are able to train it, the system can be corrupted.

One more clue that The Safe Network is in fact Skynet and it has perfected time travel and has been giving us subtle hints all the while.