planet-nine-app / sessionless

A repo for the sessionless protocol
https://sessionless.org
MIT License
30 stars 9 forks source link

Contributing guidelines #54

Open FssAy opened 1 month ago

FssAy commented 1 month ago

Intro

The project has already a lot of contributors and more implementations on the way, but no "Contributing Guidelines". How about creating a related doc that contains all the rules and conventions?

I think we could treat this issue as a place to share ideas about the "Contributing Guidelines" doc.

Initial Ideas

1. I've noticed each published package of the Sessionless implementation has a different description. I don't think it's anything critical, but making one decisive description that can be re-used across packages can help to better "pass the message".

2. Each implementation has a different structure. This might come from a language specifications and needs, but a README document in each directory (for example: src/js/README.md, src/rust/README.md, src/cpp/README.md) could make it easier to understand and navigate through.

3. This document could also include all the naming conventions decided in #20

zach-planet-nine commented 1 month ago

Totally agree on these three points. I also think, once we’re ready with testing, we should align on versions for all the implementations. I started down the path of cleaning up the docs a bit, and will do some more with the rainbow test I started working on. If I’m still working on that branch I’ll add what’s decided here. If not we can do so in a follow up PR.

zach-planet-nine commented 3 weeks ago

Wanted to just update here that this hasn't been forgotten. @Daniel-J-Mason is updating Java soon, and I'll update Kotlin, and get the cli tests working with both. That'll let us do the rainbow test. The rainbow test will serve to seal all the naming for the combined release, which I, or someone else, can put into the language README's.

And I had a thought on the consistent description. When I think of what Sessionless is trying to accomplish, the metaphor I keep coming to is it's what a drill is to a home, Sessionless is to connected devices. Sure there are plenty of other tools (i.e. the rest of cryptography), but most people just need a drill, and because of that, companies can make things that just need a drill, and there's a whole ecosystem that exists because people have drills.

So maybe we say something like, "Sessionless, the drill of cyberspace." I'll ask RainbowBrite what they think.