What is Social Coding?
Giveth has 4 main circles. The Communication, Governance, and DApp circle are all relatively self explanatory. The fourth circle is social_coding.
The philosophy of social_coding is this: the best way to develop tools for building a DAC is to build a community of altruistic developers. The best way to build a community of altruistic developers is to give them a space where they can play, and try and get they to build whatever they want. Over time the tools should sort themselves out. As a developer, the quickest tools to build are the ones I understand the use case for. As lead of social_coding, I spend my time absorbing as much as I can from the community and trying to translate that into altruistic action.
At the most basic level, social_coding has a responsibility to oversee anything beyond basic DApp development. You can think of social_coding as a zesty combination of R&D and a coding bootcamp, with a hint of community outreach. In my mind, the best way to get people involved and making developments right now is by getting people to build what they’re passionate about, seeing what works, and connecting the loose ends. The general cycle goes like this:
Every month we have a brainstorming session (join the social_coding chat to get informed about the next one). During this session everybody talks about what they want to work on. Projects that get a lot of interest will start building. Some projects will hang around social_coding, others will not. Ideally projects will only push forward if they have a minimum of two people interested. Obviously this will not always be the case — who am I to control the will of an individual? Most people derive satisfaction from building something useful. Hearing that _nobody_ thinks their project is a good idea would deter most. But some people are stubborn. Sometimes that’s a good thing.
More experienced developers will hopefully take the lead on projects they feel passionate about, less experienced developers will be guided towards contributing to other people’s passion projects in a way that should feel fun. As much as possible I commit time to try to smooth this process.
After watching what questions people ask and how people are actually learning this content, I’ll gradually create tutorials and videos to assist people learning to code DApps. In addition, I throw projects into the running that I believe are important to advancing Giveth. Projects that start to take form and have a clear positive impact on the future of DApp development will be given milestones, but social_coding should be thought of more as a place where hypotheses are tested and rapid solutions are achieved. Long-term projects live somewhere else. We’re about launching projects and connecting projects through community.
- Points Bot — This project will enable communities to dish our “points” or any token through twitter, riot, or any other public digital space in a way that’s secure.
- Lead: Alon-giv
- BrightID — This project is an attempt to solve proof of uniqueness using sybil-resistant identity graphing. Very ambitious, very needed.
- Lead: Adam Stallard
- Smart Marriage — This project aims to create a user interface for the Smart Marriage contracts used to officiate marriage through use of a multisig.
- Lead: Bowen Sanders
- KanEth — This project aims to allow people to attach value in ether/erc20/erc777 to WeKan boards.
- Lead: kingflurkel
- ERC777 support for parity-bridge with the aim of trying to play with Parity’s bridge solution more. Checkout the ScalingNow! series.
- Lead: ???
- ERC777 EthWrapper deployed as a service using EIP820 — Send ETH in, get wrapped eth; send wrapped eth, get ETH — easy!
- Lead: ???
- OpenReward repository with support for Dividend payouts, time-based payouts, and the ‘guts’ to move RewardDAO on chain (given a scaling solution).
- Lead: ???
- Multi-send-cli/UI, build out the tool being used to handle Giveth payments while a scaling solution is built. Long-term this will be useful for people executing batch payments as it saves time and gas.
- LeadProject Owner: ???
- Build out tutorial materials for getting people up to speed with DApp development. Setup some basic repos as starting points for common patterns. Research what’s been done to these ends previously.
- Lead: Quazia
Long term we’ll be playing with other projects, including things around identity, scalability, incentivization, and governance. Anything without a project owner is up for grabs. Otherwise I’ll keep making incremental progress when I can.
Interested in learning DApp development or contributing to cool projects? Drop into the social_coding Riot channel, talk about what you’re up to, and help build awesome stuff.
Join our community: by tackling interesting issues you can help us positively impact charitable giving forever!
- Join us on Riot or Slack
- Discover our Site and Wiki
- Fork our code on Github
- Follow us on Medium,Facebook, Twitter and Reddit