What is minimum possible SOLID?

Regarding discussions lately about what SOLID is, can be, could be, should be, etc …

What is the most minimal SOLID ?

1 Like

Yes, this is a very good question. Also a very good answer would allow much easier onboarding of newbies to the Solid initiative.

Regarding starting from the minimum and building up from there I particularly like how Secure Data Store specification effort (see also original paper Encrypted Data Vaults) approach to architecture is:

This architecture is layered in nature, where the foundational layer consists of an operational system with minimal features, and where more advanced features are layered on top. Implementations can choose to implement only the foundational layer, or optionally, additional layers consisting of a richer set of features for more advanced use cases.

[…]

  • Layer 1 consists of a client-server system that is capable of encrypting data in transit and at rest.
  • Layer 2 consists of a system that is capable of sharing data among multiple entities, of versioning and replication, and of performing privacy-preserving searches in an efficient manner.
  • Layer 3 [… deals with notifications of changes and vault-wide integrity protections.]

For each layer a list of responsibilities is listed and explained.

1 Like

My understanding is that Solid is (no minimum/maximum):

  • LDP storage (so RDF containers of RDF and non RDF resources accessed using a RESTful protocol)
  • web authorisation using WebID
  • permissions based access control of containers and resources based on WebID

I’d call that the ‘core’ (maybe that’s the ‘minimum’?) but there’s a vision on top of that to separate apps from data, use RDF to support interoperability and enhanced kinds of app, and a wish to ensure users retain control of their data, avoid centralisation etc.

The latter don’t necessarily follow from the ‘core’ though.

3 Likes

Stating things like this, these three bullet points are already way more comprehensive to the mix-of-everything that I so often encounter. It provides a good start to begin to evaluate Solid for applicability (as a researcher one would then have to decide whether or not to bet on the WebID and WAC horses in relation to other upcoming standards). It would give concrete handholds.

2 Likes

Perhaps you can concrete suggestions to improve the user experience of https://solidproject.org/use-solid/

The way to go about that would be to submit a pull request to https://github.com/solid/solidproject.org/blob/staging/pages/use-solid.md

Do you mean that @happybeing is spot on, and that would be a great PR? People only do PR’s if they know they are useful… without the feedback it would be just guesswork what you expect on the site and high-risk to end up with just lotsa wasted time.

There is a whole team mentioned on solidproject.org… they’d be the best to do the PR’ing. What’s their relation to the site, and to the community? Regarding suggestions… this whole forum is full of them, but the feedback on whether they are concrete suggestions is mostly missing.

The way the current process works is asking a lot from community members. Giving good feedback is not enough, when there is a consistent “Thanks for the feedback! Please format it as a great marketing text to have on our product site and PR for our quality review”.

1 Like

True this. Jeff suggested I add a use case for SAFE to one of the panel docs. I don’t understand how it would fit there, so have asked for guidance.

Until I’m sure it makes sense I won’t go to the trouble of spending time writing it up let alone cloning the repo and making a PR. It is a big barrier to participation to push everything through github, even for those of us who use it daily.

2 Likes

It’s difficult to give detailed feedback on generalised suggestions so perhaps a way to go about it would be to do a very simplified version of what you have in mind. For example, a description of the intended problem being solved by the pull request and an example of how one sentence would change specifically.

The Editors are largely the ones responsible for the review of pull requests and therefore would be best placed to give feedback.

Open to other ideas around how to lower the barrier to participation, thinking out loud here.

Just an idea, but Discourse has polls

1 Like

My suggestion in this instance is to reduce the barriers to participation, which in light of the feedback I’ve just given would be to not require people to go through github in order to contribute. That’s fine for a few, but is excluding the many.

For me, because I’m not part of that panel I’ve no context, don’t understand what makes sense or not. I could find out, but this requires more effort, and that adds to the barrier. The need for this discussion on this topic adds to the barrier.

I think we’re all aware of how friction affects social networks, interactions, efficiency etc. I get that there are reasons for and benefits from the chosen approach, but I think they don’t justify the cost unless these problems can be addressed.

I feel that I’m wasting my time even discussing this because there’s so little engagement across these boundaries from key figures in the project and from the different Islands. There’s no sense any of this will change. This tells me I’m wasting my time and I need to just live with it.

This is only one aspect of the balkanisation of the project which some of us are suggesting is undermining it.

I’ll continue to contribute because I like what Solid has to offer but I do find both the situation and the response to this feedback discouraging.

So GitHub is where the specific latest and agreed process copy and website copy is. If the suggestions here were making it clear how the latest version of the process or website copy would change that could work I suppose.

What I would need to assist bridging conversations in a way that everyone is using their prefered tool is specificity in the suggestion. For example, which sentence should change and what to.

This is a poll to have the following added to https://github.com/solid/process/blob/master/stakeholders.md#users :

  • solid forum members
  • solid forum regulars
  • solid forum aficionados
  • solid forum enthusiast
  • add the term ‘as polled’
  • none of the above

0 voters

I should have added a choice for the polls to be conducted by Mitzi Laszlo

I don’t see being a forum ‘person’ as a stakeholder, seems orthogonal to me. We are either in or potentially in one of the other categories as stakeholders (app Dev, user etc).

1 Like

I meant that forum regulars (or those in other forum categories) would be listed as Solid users under Solid stakeholders, either individually (in which case it would have to be under their name and not a pseudonym) or ‘as polled’ by which I meant they would provide their opinion collectively through a poll on the forum. If the poll option is chosen probably it needs more feedback about how the poll is conducted and when.

btw I tried to change my choice from forum regulars to forum members but couldnt

afaik ‘user’ is the category with the highest priority in the Solid priority of constituencies.

1 Like

I don’t think that helps. No one person can create a bridge, and asking someone here to be so specific when the issue is we don’t know enough to do so, isn’t removing one of the main barriers.

Let me give an example that works really well IMO. Maidsafe use RFCs (quite formal ‘Request for Comment’ documents) to propose, get feedback on and decide on whether to adopt or reject ideas for features and designs in SAFE Network. I expect developers are familiar with this model as several projects use this or something similar.

For those who are not familiar, you can take a look at the Maidsafe RFC repository, which you will see is on github.

I won’t go into details about RFCs, but much like the Solid panels which also run on github, this is a relatively formalised and cumbersome process that works very well with a handful of core people over on github, but is outside the reach of most of the community for the reasons highlighted. Yet Maidsafe have managed to involve the community in this process through the main hub which is the forum.

This wasn’t always the case, but has evolved over time and I think works well because we have a supporting and diverse community with many people of different backgrounds and kinds of knowledge who are keen to understand and contribute through the forum.

However, that community has come about because Maidsafe have consciously tried to involve as many of the people interested in and supportive of the project as they can in all aspects of the project. This goes to the heart of decentralisation and universal access, which I believe are common to both Solid and SAFE, and which is why I’m still here trying to help the Solid project.

I think this is where the two projects show a crucial difference in approach, that all Solid stakeholders could take note of and learn from. But most of all those who set the culture, and who are conspicuously absent from most of these discussions.

Coming back to how the SAFE community are able to contribute to the dry, formalised, technical world of RFCs that mostly happens on github…

Others in the community support anyone wanting to understand and learn etc. So the process is open to anyone, regardless of technical ability. Anyone wanting to understand will be helped.

It’s creative and growthful in lots of ways for the community, individuals and the project. Maidsafe maintain that while it does involve them in work to help facilitate this, they get a lot of benefit, including in the technical process. I think developers may be skeptical or even afraid of this kind of openness, but it is managed with their needs in mind, so I think they come to enjoy the engagement and feel support and appreciation from the community for what they do. Take a look at any weekly dev update (this from yesterday for example) and imagine being a Dev reading this kind of feedback every week.

Most RFCs are written by Maidsafe developers, but anyone can have a go and some great work has been contributed by community members directly via github. But only a small fraction of community input is directly via github, either in creating or commenting.

The rest comes because Maidsafe publish RFCs in full in the forum when they feel ready for community input. Not just links, but the full text. Not every RFC, but ones where they value community input.

This creates a community discussion, mostly lead by the community members who help each other understand, share and debate criticism, ideas for improvements or alternatives etc. Maidsafe devs generally are just involved clarifying and answering questions.

Everyone wins, and big changes as well as small ones have come about through this process, such as the adoption of capability based access which is replacing the original approach using Solid style access controls.

It’s not just about involving those with less technical knowledge, but also some very bright minds who would otherwise not have read or got involved via github because they don’t have time to be everywhere. But the education that happens among everyone through this process, at every level of understanding, is also valuable.

And since the SAFE forum accumulates all this it provides a readily accessible reference for others, including anyone from the Solid project who is interested in the process (see the forum RFCs category)

This does involve input from developers, but my impression is: not that much, and that they see the benefits directly as it helps improve their own understanding as well as gives them a source of new ideas, or a heads up about things they’ve not thought of. Most of the debate is handled by the community after all.

I hope this gives some understanding not just that there’s a problem here which is real and IMO damaging the Solid project, but solutions already working for a sister project which Solid could adopt, adapt or learn from.

2 Likes

I say we should get regular RFC’s like Maidsafe, then vote on them here. We are not the only users, but our numbers will speak. Its just a little more bureaucratic here. Apparently the Process Stakeholders document needs to change first.

I fully agree with that entire post: Solid has a problem!

Yes, here once again @happybeing is mentioning the need for involvement. This is the fundamental question asked in Proposal: Build a stronger Solid community presence (see TL;DR). Reaching out to custodian @timbl again to take note.

There are many variations of community processes to adopt best-practices from, and SAFE is one good example in this regard. A RFC process may work, though still formal. Added advantage is that you can send the RFC’s to the attention of a broad public (e.g. via channels such as Hacker News, and on other forums such as SocialHub, SAFE, etc.).

There are more options, but I would start with a…

➜ ➜ ➜ ➜   Proposal: Simplify the Solid organization structure



PS. Note that @justin has discussed the prior forum threads with @csarven:

Community Engagement

  • Justin - Based on feedback, it seems that solidproject.org should provide a better perspective on what solid actually is, what is happening in solid, and how to engage in the work that’s proceeding. Coming across too much like a marketing site, not tactical enough.
  • Sarven - Forum shouldn’t be a replacement for anything, should be in addition to. Need to figure out the proper licensing.
  • Justin - Also a lot of feedback about it being hard to navigate all of the github repositories to know which to follow, which issues to chime in on, etc.
  • Sarven - Can we get people in the community to help provide and/or summarize updates for sharing (i.e. in the forum). Can we get volunteers? Can we get people to also help raise issues back to us from an editorial standpoint?
  • Justin - We need to raise an issue about any shortcomings on solidproject.org that keep people from understanding what’s happening and how to participate.
1 Like

@markjspivey as the original poster, could you explain whether you were asking what is the minimum set of features/capabilities needed to be considered a solid compliant interface?

2 Likes

Yes, my question is regarding what you describe … regarding a spec, this may also be interpreted as what are the current “MUST”s …

1 Like