Client Libs: Help Wanted!


#1

Hi everyone,

As you know, MaidSafe has always been a proponent and adopter of the open source ethos. Of course, this means that our code is publicly viewable. But it goes beyond that – it also means that the project is a collaborative exchange between us and the community, and user-submitted patches already make up a portion of the SAFE Network codebase.

Unfortunately, it isn’t always easy to contribute to a project as large and complex as the SAFE Network. This post is to announce some of the things that we at the SAFE Client Libs team have been working on to remove this friction.

Call for Help

Over the past month or so, I’ve been adding the help wanted tag to GitHub issues whose fixes and implementations we are entrusting to the community. Why are we doing this? We want to get new people involved, enriching the SAFE Network with their ideas and perspectives. But we also want to assist in our users’ growth as developers by offering easy opportunities for contribution, as well as guidance and mentoring.

New Documentation

Client Libs is one of the best starting points for someone new to the SAFE Network codebase. It does not require as much specialized knowledge as some of our other repositories. But until now it was not really clear how to contribute for someone not already familiar with the project. So, in addition to adding the help wanted tag, we have written a Guide to contributing page on our wiki, as well as some other helpful pages in the sidebar, including a high-level introduction to Client Libs.

Getting Started

Again, here is a list of issues that we’ve marked help wanted. Some are also tagged easy or good first issue; we recommend tackling one of these first. The easy issues should take no more than a day, even for someone completely new to open source – some of these issues don’t even require programming knowledge!

To get started, just comment on the issue and one of us will assign it to you, as well as give you some pointers on how to get started. I will also be available for mentoring and answering any questions :slight_smile:

Thanks for reading :blush:


#2

I was experimenting again a bit with getting python running with the libs and was reading the wiki because I thought this should be helpful

https://github.com/maidsafe/safe_client_libs/wiki/GET-and-PUT-reference «« a little bit a bummer is that those funcions (as mdata_put) are not linked to rust docs where one can see what data types are expected to get handed over/returned ( https://docs.rs/safe_app/0.6.0/safe_app/ffi/mutable_data/fn.mdata_put.html )

I then wanted to just fork it, change it and open a pull request since I consider it a very valuable resource (but it seems rather hidden to me)… But either I’m a bit clumsy here or the github wiki does not support others to help out and collaborate in an easy fashion and is not the smartest way imho to make those docs (at least not if you want anybody outside of maidsafe to get involved…)

Ps: if the wiki had a main repo of its own too as a mirror one could open pull requests there

Pps: the high level overview for the functions and how it’s supposed to work helped a lot btw! My testing code still is super messy but I finally managed to get my first mutable data from the real network with python :slight_smile: (I will verify fetching it on a different PC as soon as I manage to find some time and have a second computer with me) I did reset everything and just defined the app +read the mutable data information

And then fetched the content

Sorry for dragging this slightly off-topic - but I wanted to highlight that good docs (not too long either… I don’t like being bored… But explaining the important stuff for someone like me ; ) are important and help a lot with getting additional boosts here

Thank you for improving the docs and I hope this will help others too =)


#3

Yeah, the lack of collaboration tools is the main drawback of the wiki. We disabled direct editing of the wiki because it got spammed almost as quickly as it was created, but a potential option is that we could add you as a collaborator. Another is that we could implement this method which is like the mirror method you suggest. This is something we have to discuss amongst ourselves first.

Thanks a lot for the feedback, this is exactly what we’re looking for :slight_smile: