A few of us thought it would be great to have a blockstack pledge to rally people together behind the cause and make some progress towards defining our philosophy and purpose.
@light and I put something together and we’d love your thoughts. Feel free to make edits and propose an updated or alternate version.
Here it is:
By signing below, I express my commitment to the Blockstack community with the following statements:
I believe in a unified community around a common blockchain stack and core software components, collectively referred to as “Blockstack.”
I believe in collaboration and standardization, reject “not invented here” syndrome, and am committed to opting for collaboration with others in the Blockstack community on protocols in both design and code whenever possible.
I assert that I have the authority and requisite blessings to speak on behalf of my organization and I consent to having my organization’s name displayed on the blockstack.org website and in related promotional materials to signal my commitment to the Blockstack community.
Some questions come to mind…perhaps they’re too early, but I’ll ask them anyways: Do you see blockstack becoming a separate organization at some point? How would decisions be made as to who can issue promotional materials on blockstack’s behalf?
These are important questions which get right to the heart of an important issue to address here: governance.
This community has the potential to evolve into a more structured consortium, the question then is how and if it should go in that direction or if it should remain a loose affiliation of interested parties. I think the group has the potential to accomplish more as a consortium, and with a proper governance structure all members can be represented and have their ideas heard and, if a quorum agrees, acted upon.
There’s also the possibility of embedding ourselves within an existing consortium e.g. PDEC that has already worked through many of the governance issues (or at least has a governance framework in place). This can be done by joining the consortium and starting a Blockstack committee which can then benefit from the resources of the larger consortium while also contributing back resources such as knowledge, code, and membership dues.
It’s one thing to ask people to rally around a well thought out standard/specification, and a very different thing to ask people to commit themselves to a specific implementation of that specification (that doesn’t seem to really exist yet, and could radically change in the future).
That seems more like something businesses would do with legal contracts and clearly defined financial relationships (i.e. “You use our platform and we give 40% revenue share. Sign here.”).
As far as specs go, IETF seems like the appropriate place to do that. That’s what they’re there for.
The idea behind the pledge is less to get people to commit to a specific thing than to commit to a specific idea: that we are working together to create a common blockchain application stack. Muneeb has put out his first proposal for what that could look like, and I have shared examples of apps that could be built with Blockstack. Others are welcome to comment on and modify these proposals.
We want to tell other people “hey we’re working on this over here, and we have people from Bitseed, okTurtles, OB1, Onename, etc working on it with us.” By signing the pledge you are telling the world, “Yes I am working on this together with these other specific people.” This way we can be both an open community forum anyone can participate in, and a cohesive group working towards a common purpose.
I’d first think of where to put this announcement, and a good place would be on a community website that’s editable by the community (a wiki would be ideal), plus maybe a blog post announcing the wiki.
That way if anyone else wants to join in, they can just add their org’s name to the page themselves (like a list of signatories).
As far as content, I’d do something like:
Blockstack Wiki Home
Blockstack is [clear but short description].
Some links to get you started:
Wiki page on topic 1
Wiki page on topic 2
Community Links
Forum
Slack chat
Community members
Blockstack is a community effort that anyone can join and participate in. Current organizations collaborating on Blockstack:
One downside to such a public wiki is the spam problem. Perhaps we could charge a nominal BTC fee before changes can be made to the wiki or something like that. Or, have people add their names to the list of supporters first and then be given edit access to the wiki.
Charging to edit a wiki is probably a no-go if you want meaningful community participation.
If spam turns out to be a real problem, deal with it then. There are probably anti-spam tools/plugins available.
This forum seems to be doing fine without any requirements. The forums I administrate are doing fine as well using just email verification and some type of captcha.
I don’t know for certain that having a Blockstack Pledge is 100% the way to go. But I definitely feel this debate is an important one to have.
Upon the first time hearing about the concept of a Blockchain Stack community being formed, I have felt as though this formation could potentially be much more important for the future of the internet, and possibly technology in general, than your average “open-source project”. I feel the ground work we are laying down early on will define the technology stack. I also feel that this stack could be the future internet stack, which in my eyes is a big deal. I’ve had a conversation with a couple of the current members about how the community may convey… “Blockstack. Not your typical open-source project”. A couple of the very early ideas were to onboard quality members over quantity. Those with a hard-core mission and vision to see this stack be highly effective and see it succeed. Payment of a very nominal fee and a pledge-like idea may assist with attracting those always important “quality” or “influential thought leader” type engineers. I definitely agree with everyone’s concerns about doing something like this as it is not typical. But I feel if communicated correctly to those influencers, that this model for the community could become the platform for the future. These of course are just ideas and ultimately the community will decide what happens but I feel we have a very well rounded community of various talents that overcoming the communication hurdles is something we can accomplish.
One idea is that we can introduce the free individual supporter now or a $0 membership fee for startups for the first year (this way we will not need to get into who is managing the $$) and within the next year have a better governance structure in place.
For the wiki idea, displaying contents of wiki as a webpage can be done. Example: https://passcard.info/docs/Passcards this doc is getting pulled from Github (great work @ryan!) and for the spam protection, people can submit pull requests and then the moderators can decide if the pull request will be accepted or not.
Also, one way to think about Blockstack that it is in the stage where some IETF working group is being formed (they’re usually formed by proposing a Birds-of-a-Feather session at an event). The only thing people are really agreeing on is that “hey let’s try to figure out how can we have common standards/code/infrastructure around this topic”. Things will definitely become more defined in the coming months/years.
WIki’s are very bland, yes, but serve their design purpose. They layout content very well for reading. So design wise they’re quite good. As for this forum. It needs some modern CSS love. We’ll get around to it though.
Also like to add that the blockchain isn’t the ideal solution to everything. Just because something can be implemented using blockchain doesn’t mean it should.
What’s the common purpose?
OpenStack’s common purpose is providing a common stack for hosting.
Blockstack’s common purpose is________________
(Fill in the blank)
From my current understanding, I’d fill in the blank as follows:
Blockstack’s common purpose is:
working together to solve the problems of building on and scaling blockchain technology (used in internet infrastructure projects?)
“common blockchain stack” <-- Don’t really know what this means. There are so many different consensus mechanisms and I’m not particularly sold on any of the ones that currently exist.
I do like things like design patterns that set good practice and create modular / resuable software design where that is appropriate.