Reverse bounties: how do we fund development through Steemit of different apps and features?

in steempress •  8 years ago  (edited)

I've been doing a bit of work on @jesta's #steempress stand along blog tool that grabs posts from the steem blockchain and lets you power a separate website with it (see the Github repo for more info).

Recently, @jesta just completed his first #steempress-bounty for themes (read his wrap up post).

I've been involved in #opensource and how to fund developers -- as well as let users pay for / request features -- for many years. The concept of a bounty system -- a user of a system saying "I will pay $50 to have this bug fixed" or "I will pay $100 for a new feature" -- is well understood. But there are several problems with this, most revolving around non technical users not knowing if something is hard or easy, or even if it fits into the design of a system overall. As a user, you might not also know if throwing money into a pot would make something get built.

I came up with the term "reverse bounty" to indicate the case when someone technical and familiar with a system, and often an author of the system itself, could propose a scoped feature that they know is doable, and know approximately how much time they need to dedicate to get an initial version done. You can read about me proposing the first $500 reverse bounty on Drupal.org back in 2005.

I've written up a couple of steemit-feature items, but really, there isn't anything I can do unless more people pay attention to these tags AND if there is at least some limited coordination with the core steemit team. I can make the changes, but I can't get them into the core system without their approval. Ideally, they would also take votes into consideration for code changes, but maybe my code is crappy, or maybe it doesn't fit with the vision of the site as they see it.

It would be great if every steem app developer and code contributor could get paid a little bit directly by everyone that uses their code. How does @jesta get invented up front to write more code? More interestingly, how do I as a "third party" developer -- whose code may or not be merged into @jesta's "main" #steempress code -- get incented to write code and features?

We need to be able to surface bounties on different topics within the steemit website so this stuff even has a chance to be seen. Then we can post specific features and see what people care about. But we're probably going to have to invest a whole bunch of time up front before we get something that people really want. Do we really have to go to the length of having Kickstarter-sized campaigns in order to raise a few hundred dollars?

I feel like I've got nothing but question marks at this point. In the spirit of open source, I'm happy to tinker on some code and release it to the community, building on top of @jesta's stuff. But I only have time here and there from day job paid work to really dig into it.

Luckily, @jesta is open to it so far :), so experimenting with this on steempress makes sense.

For anyone that is a developer, how would you want to get compensated for building code?

Do you want to see dollars raised BEFORE you build something?

What is a reasonable amount of money to ask for as a developer "reverse bounty"?

How big would a user bounty need to be to be interesting?

As I said in the comments on jesta's theme bounty, I think my "price" for porting existing themes would be about $100. It's probably something I don't want to do long term, but it would be enough incentive for me to get them done. I'd much rather teach some real designers how to do the pretty basic porting and original theme making. How do I get paid for documentation?!?

For potential Steempress users, what features or themes do you want to see? How much would you pay?

What would you personally "throw into the pot" to see something get built? Would this mean sending ETH or BTC separately?

What would make you feel confident that a developer would deliver on building an app or feature that you want?

And/or what mechanisms do we have on Steemit.com so you can take proceeds from a post to contribute to a bounty? Or is it something that you just want developers to write up suggested features, and you'll vote them up to contribute money that way?

Thanks for reading

This ended up kind of long and rambling. It's an area I've worked a lot on during my involvement in open source, so I'm fascinated how the addition of the steem crypto + rewards system changes the interactions with code and features.

If anyone needs help getting their steempress system up and running -- or wants me to set it up for them on Heroku -- leave a comment. We need more users :)


If you want to read a bit more about money + open source, specific to when I was involved in the Drupal community, you can read this longer piece by me on the concept of a Drupal app store. I think this quote from the article is also relevant to the Steem / Steemit ecosystem:

Everyone that uses Drupal to do paid work should have a costing model and internal policy that includes donating to the maintainers of every contributed module that they use on every site.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

this is great stuff. i'd love to see reverse bounties from steemit devs.

the whole dev hub could be revamped: the docs need to be be improved and they could be more transparent about who makes code changes and what they are.

Thanks @ntomaino. The code changes for steemit are all in GitHub and out in the open AFAICT. It's unclear what the deployment process is, and yes, would be good to have an end user readable change log.

I'll look into the steemit repo a bit more and see.

(Or did you mean something else by Dev hub?)

i know they're in Github, but not easy for a non-dev to follow.

I've been pushing for them to implement something like this: http://readme.io/

I've tried building my own curation bot with the current docs and I haven't been able to figure it out. I'm a very novice coder, but they should strive to make it easy for a novice to build.

I'm a novice coder too, but a good code groomer and doc writer :) The people who are good coders often aren't great at HOWTOs and technical writing. With code moving this quickly, I don't know that it does make sense for them to pause and onboard coders. Does it make sense for long term code building? Yes, but often other, external projects, like @jesta's stuff, is what actually makes it easier for others to build.

Happy to collab on something, I think there was some open source bots already that we can likely extend.

Have you tried steempress? We really need people to just try it. Maybe you and I can actually run a steemit-hunt instance, what do you think?

lets do it!

I have a question concerning steem and Homebrew that, no matter what and how often I google, cannot resolve. I saw that you have som expertise in this field. Is there a way you could help me out?

Sure! I got steemd working on my Mac with Homebrew. What's the problem?

@bmann I have installed Homebrew and steem acc to this post. https://steemit.com/steemit/@teego/homebrew-package-updated-to-version-0-12-0
Is this what I need to develop eg an upvote Bot? How do I start steem? Or do I need something else? Jesta recommended piston, but I saw that you have something up on github, too.

You don't need to run a local instance of steemd at all unless you a) want to mining or b) are doing something else that is useful

I have forks of @jesta's steempress and a fork of steemit.com on my public Github so I can submit fixes and run my own experiments.

For steemit, I edited the README (and updated the example config) to make it clear you don't need to run steemd at all. The relevant section is:

You now have your development front end running at localhost:3002, connected to the main public steem blockchain. You don't need to run steemd locally, by default you will connect to ws://node.steem.ws. Use your regular account name and credentials to login -- there is no separate dev login.

Piston is a command line tool, it also ships with an "experimental" steemd node you can connect to.

None of those will help in building an up vote bot. I have this Python based autovote-bot bookmarked on Github but haven't attempted to run it myself. You do need steemd installed, which comes with cli_wallet. I don't fully understand that wallet part yet and haven't tried the automate-bot.

Probably best to attempt to follow instructions and get that running. Post issues on that Github repo if you run into trouble. I'll try and get that running at some point too, but won't get a chance likely until next week at the earliest.

Hope that loooong reply helps.

@bmann So basically, I have just installed steem on my PC through home-brew which is fine for mining, but for my purpose, I don't need that, I just access through ws://node.steem.ws? An ok, I will try to follow the instructions on your bot and see if it works. Maybe even modify the code sooner or later.

Yes, you're correct, various public nodes can be used. Not my bot, just the one I have bookmarked to try myself! Report back on where you get to.

Congratulations @bmann! You have received a personal award!

Happy Birthday - 1 Year on Steemit Happy Birthday - 1 Year on Steemit
Click on the badge to view your own Board of Honor on SteemitBoard.

For more information about this award, click here

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @bmann! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @bmann! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!