avatarQuazia

Summary

Giveth's social_coding circle fosters a community-driven approach to DApp development by encouraging developers to build what they're passionate about, providing a space for experimentation, and supporting projects that emerge from collaborative brainstorming sessions.

Abstract

Giveth's social_coding represents a novel approach to decentralized application (DApp) development, emphasizing community engagement and altruistic contribution. The social_coding circle is one of four main circles within Giveth, alongside Communication, Governance, and DApp circles. It operates on the belief that the best tools for DApp development are created by a community of developers who are given the freedom to explore and build projects they are passionate about. This approach leads to a natural selection of useful tools over time. Social process involves monthly brainstorming sessions where ideas are shared, and projects with significant interest are prioritized for development. While a minimum of two interested individuals is ideal for project momentum, the initiative acknowledges and respects individual drive and persistence. The social_coding circle also serves as a hybrid of research and development (R&D), coding bootcamp, and community outreach, aiming to involve people in DApp development by building on their passions and connecting the dots between various projects. The circle's leader focuses on understanding community needs, translating them into actionable projects, and creating educational content based on observed learning patterns.

Opinions

  • The philosophy of social_coding values giving developers a space to play and build freely, believing that the most needed tools will naturally surface.
  • It is suggested that developers are most motivated when working on projects they understand and are passionate about.
  • The social_coding circle is seen as a testing ground for hypotheses and a place for rapid solution development, rather than a home for long-term projects.
  • Experienced developers are encouraged to lead projects they are passionate about, while less experienced developers are guided to contribute in a fun and engaging way.
  • The importance of community feedback and engagement is highlighted as a means to refine projects and educational materials.
  • Projects that demonstrate a clear positive impact on DApp development are given milestones to track progress, indicating a results-oriented approach.
  • The initiative promotes the idea that individual persistence, even in the face of a lack of group interest, can be beneficial and lead to valuable outcomes.

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.

Current Projects:

  • 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!

Help us Build the Future of Giving: 🚀 Donate directly 🚀 or buy a Ledger with our affiliate link

Ethereum
Social Coding
Blockchain
Blockchain4good
Dapps
Recommended from ReadMedium