Builder (devs, designers, marketers) Hub

So a few years back, before I ever heard of MaidSafe (which was just the other day and I’m really excited about it), I was wracking my brain to come up with a way for a semi open remote team to work together and build new startups (open and closed source software and any type of startup) and be rewarded based on their individual effort.

This is the first "white paper” I sent out to a bunch of buddies who are also devs to see what they thought. I’m sharing it with our community to see if any of it could apply to the builders community we hope to develop within MaidSafe.

Here is a link to a proof of concept site I put together just to help people see the vision.

http://startupmarket.apphb.com/#/


BuildItHub

A set of tools to help startups share and build their next big thing along with others who are willing to help (with sweat or funding) for a share of the potential profits.

Introduction

The original creator opens up a share of potential profits to people who will help advance the project through hard work (and/or investment capital - need to consider legal ramifications of this part, see JOBS act). The percentage of profits (not equity at this point) could be anything the owner decides. For the purposes of the project toolset the percent will probably be between 60-80% of the profits. This pot will be divided up by the number of points that it took to make it to the current iteration at the time the profit is realized or upon the agreed upon recurrence or specified date or anniversary date. Each contributor will be paid based on the number of points they finished over the life of the project.

For the purposes of the toolset this will probably be all profits realized monthly or yearly. Not sure yet how this will happen but we will try to make it easy for accounting as well as taxes.

Points & Estimation

Only developers who have worked on previous points can estimate items in the icebox (think pivotal tracker). Point estimation is done by a consensus process (see workflow below for a full description). Point estimation is done based on a relative point value system (estimation poker). Everything should be relative to development work already done.

Workflow

Outside users, investors, and other interested parties along with developers will record bugs, feature requests and ideas (feature requests might be the same as ideas). These can be entered at anytime by anyone. This information is also viewable by anyone, though outsiders will see a limited amount.

Outside users will vote for their top desired features and bug fixes. They can also pledge or invest toward a bug or feature, though this will not guarantee it will be completed faster. For more information see Investment Pledges below…

Developers will go through items on the wishlist and give a developer vote on them along with their best relative estimation and maybe notes on why they are estimating it at that point value. This phase will be limited to a specific number of days. Anyone can change their estimation at anytime during this phase but other developer’s estimations are not seen at this point.

At the end of this phase outliers will be required to enter reasons for their estimation. If they fail to give reason by a specific cut-off their estimation will be excluded from consideration. Developers will put in a second estimation and repeat this step until all come to a consensus or a time when the dictator steps in, if things are at a standstill.

Once the wish list items are estimated developers will enter their vote on a theme for the iteration. Themes will be ordered and items matching those themes will be moved into it. The top voted theme will be worked on. Each iteration these themes can be moved around and redefined as things become clearer.

Developers can then pick items they would be willing to work on and should put together a list of reasons why they want to work on a specific item. If someone requests to work on an item and someone else wants to work on the same item they should pair up and work on the feature or bug together. Collaboration is a good thing! If you’re worried about points then take another feature as well.

The iteration starts and each developer is required to follow the Dev guidelines and integration processes laid out by the project owner.

Once the iteration is over people can anonymously enter retrospective items. What went good, bad, what do we want to see more of, less of.
Rinse and repeat…

Investment Pledges (not sure this is legal yet - see JOBS act)

Pledges are a way for non-content creators to get a stake in the company. Outsiders can pledge money for features and bug fixes or just in general. Monies received in this way will go toward the project costs (hosting, tools, etc) and then points would be awarded to the backer. Pledge amounts that exceed costs to run the site for the following 6 months would probably go back to the developers in the profit pool.

Why wouldn’t everyone receive these extra funds?
Because pledgers are investors and they are helping to pay for the development of the project. Backers will receive profits only from realized sales. (Not sure about this part yet.)

How are pledge points priced?

Not sure yet… But the cost of each point needs to be equivalent to or slightly less (because they won’t realize profit until sales) than the amount of effort a content creator puts in so that it is fair to everyone.

Tools Needed

  • Website
  • Widgets or APIs for sites to include integrations into their own sites.
  • Notification System
  • Source Control Repository for code (use a private github or bitbucket account). This would work for otherassets as well (ie images, written work, etc) for non-software projects. Issue Tracker (will be a custom solution)
  • Wishlist/Icebox
  • Outside Voting (will be a custom solution)
  • Inside Voting and Estimation Poker (will be a custom solution)
  • Iteration Builder (will be a custom solution)
    –Themes
    –Backlog

Optional Tools

  • Retrospective Management
  • Some kind of IP manager
  • Partnerships with startup servicing complies (legalzoom, etc)

FAQs

How do you think the acceptance process for new content creators on a project might proceed? Right now for open source software it’s generally - make your fork, fix an issue, ask for a pull. In this case, it looks like you have to have permission before you can work on something.

User of project would follow a link that says “get involved - become a stakeholder”? then it would explain the process and what is available to help out with. >> user would agree to a contract and get access to the codebase or some of the codebase >> user would do their work and do a “pull request” which would then be checked out by a trusted member >> user might be asked to do some things then eventually added in if it works and matches guidelines >> user would do this a couple times before becoming a trusted member him/herself.

is the source and currently bugs/timeline always open to all, so a new dev could take shot at something before ‘signing on’?

sourcecode: people would have to agree to some kind of “I will not steal your IP” contract before accessing content. So it would not be a simple OSS fork process. Agreeing to the contract would give you access to the private repo or a portion of the private repository and then they could go from there…

Access to bugs, features, and timeline: These will always be available but there will be insider details not available to the public. Details such as Dev only comments, current estimation points, etc.

3 Likes

I’m seriously thinking of building this as a tool that anyone who wishes could use to build projects with others and receive safecoin compensation based on their effort. If anyone is interested in talking about the strengths and weaknesses of a tool like this, let’s do it.

Features This Tool Would Need

  1. Project List
  2. Add Projects
  3. Add Features
  4. Iteration Builder
  5. Point Estimation System for voting on the new features of the iteration
  6. Wallet Address/Point Percentage Manager for embedding addresses based on percentages of work done into the app/site/tool etc
3 Likes

Here is another doc I wrote quite a while back for buildithub. It is full of other people’s ideas as well and this is not complete. I have not tailored it to the possibilities that MaidSafe gives us now. I’m posting it here so you can understand a bit of my motivating mindset for what I was setting out to do.

Everything that is really great and inspiring is created by the individual who can labor in freedom. ~ Albert Einstein


I love true, free market capitalism! I also love giving back to society without be compelled to do so. I can’t stand the entitlement attitudes of socialism or the pseudo “Capitalism” that seems to be the norm in my day. It drives me nuts when people don’t take responsibility for their own actions or lack thereof; myself included. In essence, I hate my own laziness because I know that I will (or should) reap what I sow.

My work on BuildItHub is highly influenced by the writings of Ricardo Semler, the New Employee Handbook “leaked” by Valve in 2012, and the governance model that GitHub’s founder, Tom Werner (who was also influenced by Semler’s writings) put into place. Someday I hope to be part of this new utopian ideal, where creative problem solvers will do what they love without being forced to put in time in a 40+ hour work week, where lack of resources no longer limit the cultivation of ideas into great village lifting projects, and ultimately a place where we individually choose to limit our consumer greed in favor of being content with our lot in life.

Money (and capital for starting a business) is necessary. Without it a person becomes reliant on the charity of others who have it, or as is the case in our time, reliant on a government system that takes from those who have, and redistributes it to those that don’t. Because money is necessary, it motivates people to action. It is not however the only, or the most effective tool for motivation in creative circumstances.

Dan Pink is the author of a book called Drive: The Surprising Truth About What Motivates Us. In this book he records information found in studies done around the world. Once someone is making enough money that they don’t have to worry about money any longer they are motivated by three main factors. Those three factors are autonomy, mastery and purpose.

BuildItHub has to take care of all four of the main motivating factors for it to be successful.

Enough Money - For starters we have to assume that those that will work on the projects already have full-time day jobs that satisfy their money needs. If they don’t have enough money they probably shouldn’t be spending their discretionary time working on a project that might not pay-off in the future.

Even if a person does have a good paying full time day job we don’t want to force them to stay there unless they want to stay. We need a way to allow for a value creator to be compensated well for the work they put into the project(s), to the level that they will be able to make creatively building projects their full time gig. This is what rewards points is all about.

#1 Autonomy: Work on what you want to work on, when you want to work on it, with whom you want to work on it with. In order for us to work on something, do we need to be forced into it by another’s will? Do we need to be prodded and cajoled to do things? Do we need constant direction handed down to us from someone who “knows better”, or are we curious enough on our own to find out what we love and want to see created, and pursue it?

The totalitarian regimes of old forced a person to work as they needed them to work. “If a man does not work (the way his country needs him to work - implied), he does not eat.” Stalin, like many today, mis-quoted the Bible when it was to his advantage to do so. It was common for Soviets to put children on paths that they thought suited them. Our outdated educational system that was created during the ages of “The Enlightenment” and the “Industrial Revolution” does much the same thing. Recently, due to leaders like Bill Gates, Steve Jobs, Larry Page and Sergey Brin who never finished school, this view is becoming less prominent, but still very much alive. If someone is an academic, they are considered intelligent. They are more likely to end up in professional careers and some would say, “best suited to manage today’s companies”.

For BuildItHub to succeed we need to resist the urge box people into processes that might hinder autonomy. Rather, we need to promote freedom. We need something other than command and control methods around a community. We need to allow members true freedom to sow what it is they desire to sow and reap the produce of their labors. We also need to limit our projects to those with projects owners who realize this.

#2 Mastery: Mastery is, as Pink puts it, the desire to get better and better at something that matters. Management requires compliance so a set outcome can happen, and happens the same way each time. Compliance does not require engagement. In fact too much engagement makes compliance harder. You start to see the problems and become vocal about them. You make waves and are seen as a maverick. Believe me, managers don’t care much for mavericks.

In his books on the subject of Optimal Experience, Mihaly Csikszentmihalyi characterizes Flow as a state when you are doing something so enjoyable that you lose track of the passage of time. To find this state of being some things need to be present. Goals must be clear, feedback is immediate, and the perfection of the goal needs to be just beyond your current abilities so as to be surprising when you arrive. Painters find it when they are engrossed in their masterpieces. Programmers find it when they are solving problems in ways that are clean and well thought out. Writers find it when they are swept up in their own stories.

Mastery is only possible for those who believe they can become masters.

Intelligence
Entity Theorists believe intelligence is limited to what we are programmed with. Intelligence = Height. Incremental Theorists believe intelligence can be cultivated or grown. Intelligence = Muscle Mass.

Goals
Performance Goals: Getting an A on an exam. Effective for straightforward problems, but the application of the concepts beyond what was studied is difficult. Learning Goals: Knowing what cause and effect might do. Principals can be applied to multiple domains by substituting different causes.

To incremental theorists, exertion is positive. Entity theorists require a diet of easy successes. When they get something wrong they feel like they have reached their limit of their intelligence. If a person has an entity view mastery is impossible. Begin with incremental theory and mastery is inevitable.

Mastery is hard to achieve, and we must be willing to persist in order to become a master. If people are conscious of what puts them in flow they will have a better idea of what they should devote their time and effort into.

Children naturally tend toward mastery…

BuildItHub will encourage mastery by a system of positive peer pressure. Developers can pair up with other developers on stories, and code reviews are expected when stories are pushed.

#3 Purpose: The why of things is more important than the how. It is the why that keeps you going when things get monotonous. We have to be focused on something larger than ourselves.

The purpose of the early capitalists seems to have been to make a lot of money no matter the cost. This has caused much of the us vs. them mentality that exists today. When you have Washington bailing out the culprits in the name of “too big to fail” its no wonder “Capitalism” gets a bad rap. The love of money is the root of all sorts of evils. We do not reject the idea of profits, but we place even more emphasis on something else.

The purpose of those capitalists who are members of BuildItHub is to change the world of capitalism. How will we do this?

1 Like

One of the main features of this type of a system is fairness based on effort/effectiveness figured using a voting system by those who are doing the work. I know we can tie one wallet to an app, but what about multiple wallets and diff percentages per wallet. Because a wallet being tied to an app is immutable and cannot be changed this would probably require another wallet manager/escrow type service on top of the project’s main wallet. Is this true? I’ve tried to understand the escrow aspects of safecoin and I’m not sure I’m getting it all. Any thoughts, help is appreciated.

Glad to have you here Chadrick, It’s really nice seeing somebody else go through the enthusiasm of figuring out project SAFE and it’s implications

Your vision for BuilderHub is very well thought out and it certainly looks like something that is absolutely necessary for the Safe project going forward. Being able to control the experience that devs working on Safenet related projects have will be a huge boon for us. Also after the recent few cases of people abruptly leaving their repos (popcorn time alone had a few repos abandoned and now this TrueCrypt stuff) there certainly have to be options available…

I’m very glad that you decided to tackle incentives for the devs head-on because that will be hugely important. Your point system is very interesting but I’m sure that it will be a tricky problem.

This part is a little bit confusing. Does this mean that you are going to use github as a repo or that you are only using their accounts from github or bitbucket?

Because a custom made repo for Safenet would have some interesting decentralized features. I’ve already seen some ideas fleshed out on the dev mailing list that sound pretty interesting.

Just to reiterate these docs were all before I was aware of maidsafe and I was trying to allow both closed and open sourced projects to start with a tool like this. In essence it was a startup network. Now I don’t see any reason to not use public github or bitbucket repos (or some distributed SAFE repo) for everything if that is the desire of the project’s developers. If they want to do more of a closed sourced app then I’m guessing they would not use the builder hub as I’m proposing.

This is the super simplified picture…

With the advent of safecoin as a payment method it allows things to be entirely open and transparent. I log onto the system and see all the projects that people are involved with who are looking for extra hands on deck. I find something that intrigues me, look through the feature requests/tasks and sign on to do some work. I either pair up with an existing contributor or do some work and submit a pull request of my fork. It is reviewed by current contributors and if included I receive the estimation points for that task/feature. That user is now an official contributor.

Estimating complexity points can only be done by existing contributors (those with a real stake in the success of the project) and will probably have to follow some type of Meritocratic weighting system. The votes by those that have contributed the most will be more heavily weighted than those of new contributors.

Voting on what features we will work on (the iteration theme builder aspect) will also be done only by contributors, though we will see what the entire community wants with some other voting tool. One of the beautiful things about using safecoin is that project members can really focus on what brings true value to the project. Meaning, as a project member I will have a vested interest in not diluting down my % of rewards for features that don’t really add a ton of value to the vast majority of users.

I’m rambling a little because I’m really excited to help make this happen…

This could also be adapted to include Project SAFE core maintenance and feature requests. I’m organizing a builder hub in SF where we’ll not only be supporting app devs but will be focusing on learning the core protocol so the team in Scotland isn’t the only one updating.

What you propose kind of reminds me of the recent call to replace the Bitcoin foundation with software. :slight_smile: http://www.cryptocoinsnews.com/news/oliver-janssens-creates-100000-bounty-software-will-replace-bitcoin-foundation/2014/05/17

1 Like

I checked out the meetup earlier and wish I was closer so we could all meet. I’m trying to drum up interest here in Michigan too. The more builders we have, and the more transparent we are, the better the future outlook for MaidSafe IMHO.

I’m not sure how the core team is planning on rewarding Devs on the core codebase but I’m pretty sure I’ve read that anyone who has code included will get rewarded in some way. I agree that our vision seems aligned and this could be an awesome way to go. I think so anyway, but I’m quite biased having spent a lot of time thinking and prototyping and thinking some more on it. To be honest I was almost ready to drop it a couple times thinking I was just too much a dreamer and more than a bit naive but now with the new OSS model which includes the safecoin wallet embedding I have to see what we can do with it.

The bitcoin foundation worries me more than a little bit. When you have a huge part of the community ready to talk regulations to help it’s image you are asking for trouble in my opinion.

I do think an open system of builders (I would include designers and marketers in this category) would/could make MaidSafe very unique and friendly. With putting points on [chores] such as marketing you open up opportunity to more than just Devs and realize community ownership.

2 Likes

In a previous post I mentioned being influenced by the writings of Ricardo Semler, the New Employee Handbook “leaked” by Valve in 2012, and the governance model that GitHub’s founder, Tom Werner (who when I asked him said of Semler’s book Maverick ”it’s one of the most important books I’ve read, and played a huge
role in making GitHub what it is today").

Here are a few links for anyone interested in flat business models and how they can/have changed things:

Regarding the physical builder hubs, I’m thinking about ways to implement real-time communication with others around the world through a live stream of sorts and maybe a mumble server (as ironic as it is) for conversations.

I think think we’re getting a lot of attention from builders interested in creating apps using the SAFE net so that’s an obvious starting point. I guess it’s more of a suggestion to be aware of the core dev teams. As far as I know, the MaidSafe Foundation will be handling issuance of safecoin to core devs but it might be an interesting idea for you to modify your application so the foundation can use it for paying core devs but if others want to chip in, they can do that as well.

Enabling community ownership +1

:wink:

2 Likes

Just so I’m being clear, if this is going to work at all it can’t be my application :wink: If people think this is a good idea then let’s build a minimum viable product and eat our own dogfood.

Just had a thought that if at all possible we could ask the foundation to hold the embedded wallet so we could build the point distribution service so there would be no way it could be mine… thoughts, suggestions?

2 Likes

There is nothing new under the sun. I’m sure I’ve read that before. This is very similar to what I’m envisioning but not exactly… But this is a LOT farther along than my little proof of concept.

BetterMeans was being worked on until July 2012 it looks like. Then Robert Fletcher @mockdeep from San Francisco started his own fork and has been working on it ever since. Not sure his plans as I’ve not talked to him. Looks to be ruby code. I’ve forked better and started looking it over though I’m not a Ruby dev.

Fletcher’s code is based largely on the project Bettermeans, which was itself based on Redmine. Both Bettermeans and Redmine are open source and released under the terms of the GNU General Public License v2 (GPL). Better is also GPLv2.

All Redmine code is Copyright (C) 2006-2011 Jean-Philippe Lang All Bettermeans code is Copyright (C) Shereef Bishay All Better code is Copyright (C) Robert Fletcher

2 Likes

Enough Money - For starters we have to assume that those that will work on the projects already have full-time day jobs that satisfy their money needs. If they don’t have enough money they probably shouldn’t be spending their discretionary time working on a project that might not pay-off in the future.

I would say this is incorrect. If people don’t have enough money they’ll be the ones who have enough time. In general most people who have enough money don’t have time due to their full time job and if they don’t have a full time job now they have all the time they need to work on these sorts of projects.

Attract both demographics. Attract people who have more time than money and attract people who have more money than time. Make different pitches to each. Some people want a full time project because they don’t have a full time job and some want a part time project to in additional to a full time job.

Of course you’ll have people who have part time jobs and who have time for a part time or full time project. In the end people who don’t have any money are most willing to take risks if there is the chance that they could have a lot of money. People who have a lot of money are less likely to take risks because unlike the person without money they have a job they could lose or social status to lose.

If you can port Bettermeans that would be excellent.

So it’s just a placeholder for now, but I’ll be working on the code here with whoever wants to join me. Let’s decide where we want to take it. I’m planning on using Angular as the main js framework and mocking everything up with static json to start with. I’m going to switch the category to [projects] as I think this fits what we will be starting…

1 Like

For those of you who showed an interest in BuildItHub:

There was a startup called Assembly that started a couple years ago that was trying to do something very similar. I received the news today that the startup is going out of business. Along with their announcement is a link to their source code that is out on github. If someone is interested in pulling something like this together, that might be a good place to start.

I still think a smart contract approach with this would be plausible.

3 Likes