Oh wow, we didn't expect p2panda to pop up here (I'm adz, one of the core contributors). Let us know if you have any questions :-)
This week we're wrapping up a long development phase for a new "aquadoggo" version (https://github.com/p2panda/aquadoggo/) - our p2panda node reference implementation. The release will come with a dynamic GraphQL query (filtering, cursor pagination, text search and ordering), blob support, a better configuration interface and a full p2p networking stack (QUIC) with NAT traversal techniques and relays based on libp2p.
Next steps in our current funding period is a showcase app for Android (built with Flutter and Rust FFI bindings from our core libraries), a bee sighting database for scientists in the Brazilian Amazon (in collaboration with https://www.meli-bees.org/).
Further down the lane we're continuing our integration of MLS - as some high-level APIs are still missing - and a capability system. We're definitely not out of ideas yet!
This subject is near and dear to me, but after clicking around for a few minutes I was left none-the-wiser about what it actually is. Is it a client? A server? A protocol? Your home page encourages the user to play what looks like a child's game, and your links to "specification" don't actually pull up a specification.
I say this, truly, as constructive criticism: I am probably in your core audience and I bounced off the site.
I'm going to study this project in great detail—it's something I'm very interested in contributing to, or at least building with. I've been hoping for something along these lines since around 2014 and have failed to make sufficient progress with my own attempts, so I'm really happy to see this kind of thing catching on.
A licensing question that pertains to adoption: your license is AGPL, which I'm a fan of except for the practical matter of deploying on Apple's iOS App Store, where Apple's distribution mechanism would make an otherwise well-meaning open source app run afoul of your license.
Do you plan to grant a special license to people building open-source iOS apps?
This looks super cool! I was thinking I couldn't finish my PWA without a database but its much cooler to use this instead I really don't want to store stuff for people who buy my service, I want to sell them support instead of storage.
Seeing that this was put together by one of the co-authors of the recently released MLS (Message Layer Security) spec and backed by an EU funding grant are both interesting tidbits that got me more interested in this.
This would indeed allow for a very different internet and would provide some viable options untethered to big tech as it exists today.
I case you refer to me as the MLS co-author, I'm not directly affiliated with the p2panda project. I think p2panda uses OpenMLS (OSS implementation of the MLS protocol, https://openmls.tech), hence the connection. I did however exchange with this friendly an motivated team!
Wow! This might just be what I've been hoping for, since 2020.
What I hoped for was more of a generic backend for multiplayer games.
But this is even better. It looks like a next-gen bittorrent which natively supports operations?
How did the EU support something like this without worrying about misuse?
It would be fun to build something like a Blender plugin that allows people to cooperate on free 3D models and animations. But it's also unclear whether anyone would be legally liable when something goes wrong.
(Edit: It sounds like we want to avoid legal issues by having everyone run their own local instances. I like that feeling of hosting our own servers. But something just feels odd. Since when are we allowed to be so open? What's the catch?)
Looks interesting, but there doesn’t seem to be any information about what CRDT it’s using, or how it handles concurrent editing at all. The only operation appears to be “set key”, so it looks pretty basic. Is this the target state or is this going to be expanded upon in the future?
We're using our own CRDT called "Operations" giving us multi-writer conflict-free editing. It's a simple key/value map with a last-write win rule while we keep some sort of vector clock for every write to understand what every peer has seen when they updated the Document.
This might be limiting for some cases, though so far we could model many applications already with such simple CRDT. It is also possible to add your own or already existing CRDT frameworks on top of p2panda.
Well, it says WEB applications, so presumably this is something that will run in a browser, which implies some flavour of Javascript.
Tangentially, I've been interested in this space for a while, and I have a few in-progress projects built on CouchDB. My aim was to offer the offline app for free and monetize through sync / sharing features. This would've mirrored my cost structure (hosting), so I thought it was a pretty fair way to monetize a product.
[+] [-] andreasdz|2 years ago|reply
This week we're wrapping up a long development phase for a new "aquadoggo" version (https://github.com/p2panda/aquadoggo/) - our p2panda node reference implementation. The release will come with a dynamic GraphQL query (filtering, cursor pagination, text search and ordering), blob support, a better configuration interface and a full p2p networking stack (QUIC) with NAT traversal techniques and relays based on libp2p.
Next steps in our current funding period is a showcase app for Android (built with Flutter and Rust FFI bindings from our core libraries), a bee sighting database for scientists in the Brazilian Amazon (in collaboration with https://www.meli-bees.org/).
Further down the lane we're continuing our integration of MLS - as some high-level APIs are still missing - and a capability system. We're definitely not out of ideas yet!
[+] [-] javajosh|2 years ago|reply
I say this, truly, as constructive criticism: I am probably in your core audience and I bounced off the site.
[+] [-] edbaskerville|2 years ago|reply
A licensing question that pertains to adoption: your license is AGPL, which I'm a fan of except for the practical matter of deploying on Apple's iOS App Store, where Apple's distribution mechanism would make an otherwise well-meaning open source app run afoul of your license.
Do you plan to grant a special license to people building open-source iOS apps?
[edit: typo/clarity]
[+] [-] shams93|2 years ago|reply
[+] [-] mdhb|2 years ago|reply
[+] [-] mdhb|2 years ago|reply
This would indeed allow for a very different internet and would provide some viable options untethered to big tech as it exists today.
[+] [-] raphaelrobert|2 years ago|reply
[+] [-] someguy7250|2 years ago|reply
What I hoped for was more of a generic backend for multiplayer games.
But this is even better. It looks like a next-gen bittorrent which natively supports operations?
How did the EU support something like this without worrying about misuse?
It would be fun to build something like a Blender plugin that allows people to cooperate on free 3D models and animations. But it's also unclear whether anyone would be legally liable when something goes wrong.
(Edit: It sounds like we want to avoid legal issues by having everyone run their own local instances. I like that feeling of hosting our own servers. But something just feels odd. Since when are we allowed to be so open? What's the catch?)
[+] [-] CGamesPlay|2 years ago|reply
[+] [-] capableweb|2 years ago|reply
> A document is made up of operations published by one or many authors
> Every operation has a previous field containing a document_view_id which refers to document state at the moment the operation was encoded
> DO3: An operation which refers to the current operation in its previous field MUST be sorted next.
As far as I understand, it would be up to the client to present potential conflicts and won't be a valid document until it has been resolved.
[+] [-] andreasdz|2 years ago|reply
This might be limiting for some cases, though so far we could model many applications already with such simple CRDT. It is also possible to add your own or already existing CRDT frameworks on top of p2panda.
[+] [-] jedahan|2 years ago|reply
[+] [-] actionfromafar|2 years ago|reply
[+] [-] emilecantin|2 years ago|reply
Tangentially, I've been interested in this space for a while, and I have a few in-progress projects built on CouchDB. My aim was to offer the offline app for free and monetize through sync / sharing features. This would've mirrored my cost structure (hosting), so I thought it was a pretty fair way to monetize a product.
[+] [-] wmf|2 years ago|reply
[deleted]
[+] [-] chaostheory|2 years ago|reply
There are still many places even in developed countries where a stable network connection isn’t guaranteed
[+] [-] orthecreedence|2 years ago|reply
[+] [-] Jhsto|2 years ago|reply
[+] [-] mble|2 years ago|reply
[+] [-] brunoqc|2 years ago|reply
[+] [-] orthecreedence|2 years ago|reply