This project is not covered by Drupal’s security advisory policy.
ioc is a collection of modules and configurations to enable decentralized collaboration.
It is dubbed "a Web3 Management System for open organizations", since it provides community governance templates and integrations with various blockchain protocols.
"IOC" stands for Internet/Input - Of/Output - Content/Capital/Code/Consent/Collabs/Commons/Community... and of course Contributors!
Imagine Open Collective built on Drupal, but with open source, permisionless, verifiable (instead of fiat) money transfers, APIs, standardized & shareable processes and configurations.
Learn more about the initial concept in this short pitch presentation.
Project structure & Features
In Drupal terms, "ioc" (this project) refers to the complete installation profile that includes a composable set of sub-modules (and recipes, when available on drupal.org), each providing standard Entity types (taxonomy vocabularies, content types, fields, view modes, etc.), ECA processes, Feeds, Views, User roles & permissions, etc.. when installed:
- ioc_base: common data types, editorial UX, sharing tools..
- ioc_modules: curated list of contrib modules recommendations
- ioc_dev: common development tools & configurations
- ioc_civi: proposals, roles, etc. for community governance
- ioc_crypto: web3 protocols APIs, funds’ mgmt, analyses
- ioc_eco: metrics & processes for measuring & sharing value
- ioc_esg: sustainable practices, processes, parameters
- ioc_club: civi+eco addon for private/paid groups
- ioc_event: physical & virtual event management w/ ticketing
- ioc_social: social networks integrations for login & API i/o
- ioc_net: discovery and data sharing among ioc-enabled sites
- ioc_live: security and performance settings for going live
These & more features will be probably delivered as separate modules when validated and considered stable, and combined into recipes (when supported by drupal.org), to allow more efficient feature composition for specific use cases.
You can find and contribute recipe ideas at ioc.xyz/byo_ (TODO), but here are some Build Your Own ___ examples:
- Bank: Virtual Asset Service Provider standard requirements
- DAO: multi-chain web3 native org intranet for content mgmt
- Market: multi-party b2b or b2c listings, catalogs, e-commerce
- Media: news org or scientific journal with peer review & syndication
- Party: cultural/local/political associations w/ governance & event mgmt
- ...idea?
ioc.xyz (WIP) hosts a canonical example of what can be achieved and provides exportable content (through core's JSON:API and CSV files) that can be used to bootstrap other ioc-enabled/compatible Drupal sites.
Contributing
This project wants to be as open as possible, so if you'd like to contribute or request support (in addition to posting to the issue queue here) you are invited to discuss & coordinate in the #ioc Drupal's Slack channel or on the IOContributors Telegram's group chat.
All contributions (not only code) can be tracked and receive funding or retroactive compensation in a trasparent way through "cc" tokens (TODO). If you simply like the project but don't have time or skills to contribute work, you can also donate (USD, EUR, and cryptocurrencies) or sponsor hosting resources from there.
Once you have deployed your own ioc site, you could also contribute content to other ioc sites directly (exactly like ioc.xyz does), in order to build a robust & open knowledge network.
Web3 integration
As of v1, ioc can only read from public ledgers, but more integration is planned for v2, like:
- user account creation/validation from a web3 wallet "connect" button
- transaction prompt constructed by Drupal, to be signed (& posted) by the (web3 wallet) user on the connected (supported) network
- .. suggest yourself!
Web3 Developers WANTED: please check this META issue (TODO).
APIs for 20+ blockchains with 100+ endpoints. are currently being integrated.
You will find the complete live list of protocols, schemas and the process for reviewing & selecting them (by security, adoption, feature needs..) at ioc.xyz (TODO).
If you are a provider or validator on one or more decentralized networks please get in touch (TODO).
For rookies: blockchains can be used in many ways
- The first, pervasive and critical application that comes to mind (and infact was covered by Bitcoin, the first successful blockchain since Jan 2009 - timing is not a coincidence) is money (who owns what?): this can cause controversy because of speculators/scammers/hackers from all over the world, but also from the very institutions that currently have control of the money supply, so please always DYOR (Do Your Own Research) & TBT (Trust, But Verify).
- That simple (positive number + address, representing ownership) concept of distributed data storage was then extended to cover any metadata or instruction (still uncensorable & verifiable by anyone, without having to trust an intermediary authority), thus enabling more interesting & complex use cases, like governance (text proposals + positive or negative numbers for votes, + opening/closing dates, quorums, etc.) or any application state (as in decentralized virtual machines or "appchains").
- Simpler example usages are:
- document signing (like Docusign but cheaper & verifiable by anyone)
- permissionsless certified or private mail/messaging
- tracking products or code in supply chains with a public and shared registry
Additional Requirements
As you can see in the INSTALL.md and root composer.json in the GitLab or GitHub repos, and since this is the full suite of modules (aka distribution), the currently suggested installation process is starting from scratch, using DDEV as a (docker-based) local development server and requiring the "drupal/core-recommended": "^10" package through Composer.
A 1-click-clonable hosted demo could be very useful to onboard new Drupal users, so help would be really appreciated here, especially from partner hosting providers (do you hear me?).
Community Documentation
The ideal way of providing documentation would be having a clear admin UI with help texts, togglable blocks and tooltips, and making use of the core's Tour module. Deep dives, support articles and FAQs could be provided on ioc.xyz, while a complete list of also be provided at ioc.readthedocs.org, but let's talk first!
Project information
Seeking co-maintainer(s)
Maintainers are looking for help reviewing issues.- Project categories: Import and export, Integrations, Developer tools
- Ecosystem: ECA: Event - Condition - Action, Entity Share, Feeds
- Created by kopeboy on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
