solid / solid-wg-charter

Proposed charter for the W3C Solid Working Group
Other
10 stars 7 forks source link

Add solid-lite as lws-protocol input document #82

Closed csarven closed 2 months ago

csarven commented 3 months ago

Based on the experience and development on the Solid Lite Protocol, this PR proposes to add it as an input document to Linked Web Storage Protocol alongside Solid Protocol and the Fedora API specifications.

The origins of Solid Lite goes back to the W3C Solid CG mailing list based on substantial amount of reflections on the Solid ecosystem. While this work wasn't a Solid CG work item, it was nevertheless discussed in the Solid CG mailing list and elsewhere in W3C, as well as following an open process (AFAICT).

The Solid-Lite Protocol (GitHub) is:

Grounded in the tenets of Social Linked Data, this protocol offers a balance of elegance and potency. Conceived for expansive adaptability, Solid-Lite caters to a myriad of applications, from safeguarding personal records to powering intricate collaborative platforms. Its design aims to make the complexities of decentralized data accessible, providing tools that empower developers to craft solutions which prioritize user autonomy and innovation.

Solid Lite has server implementations:

As per a reddit discussion, here is some detail from the lead contributor ( @melvincarvalho ) regarding Solid Lite with a solid background on Solid Project and Solid Protocol:

It very much is designed to be a protocol. Whereas the latest solid protocol is much more of a monolith. I tried to take the most useful parts from solid while keeping an upgrade path to big solid. Two other people wrote a server for it. One was a fediverse person who wrote a whole working server in python in half a weekend, and it worked. He then made a bookmarking app. A one person side project can compete in marketing with a 100 million dollar project but those that have tried it have found it alot easier than the full spec. It's likely most solid apps would work on it, at least partially, out of the box. I personally use it all the time. When we first made solid it was just a 2 page spec, and it looked much closer to solid lite than big solid. In any case, solid lite can eventually have small building blocks to be 100% compat with the full spec, which has had a lot of design by committee. I more lean towards simple things that I can use right away, and do useful things for me. It's inspired by principles of design, solid lite passes most of these, where big solid does not

https://www.w3.org/DesignIssues/Principles.html

where "big solid" is in reference to Solid Protocol.

Solid Lite is extended via Solid Lite Implementations Proposals (SLIPs).

See also other ongoing developments in the Solid Lite organisation.

pchampin commented 3 months ago

This looks like mostly a one-person's project. It is interesting and should probably be in the WG's radar, but I would expect the charter to only explicitly cite work with a certain level of maturity and adoption...

elf-pavlik commented 3 months ago

I agree with @pchampin.

Also, if we include this work as a hint we are aware of its existence, we should probably also include a broader selection of relevant works that we are aware of as well.

TallTed commented 3 months ago

"Other related works" of which we are aware, need not be "input documents".

elf-pavlik commented 3 months ago

As one concrete example, in https://github.com/solid/solid-wg-charter/pull/65 we added Uhosted CG as coordination and mentioned remoteStorage draft. If we want to add solid-lite as an explicit input we should consider adding remoteStorage as well.

I'm quite unsure what are the criteria for listing something as an input document and not listing it.

TallTed commented 3 months ago

In my experience, "input documents" have been meant to turn into, and/or to be obviated by, "output documents".

melvincarvalho commented 3 months ago

A one person side project can [sic] compete

That should read "cant compete", I've corrected Reddit

I made the spec, server, and extensions all in a couple of days as a side project. The CG didnt show alot of interest in it, so I de-prioritized it, but we got about 4 people in total in the end. It's not terribly active now, but I do use it every day, and have written quite alot of apps for it.

Basically when i need new functionality I just fire up a solid lite app. Kind of scratching an itch.

A big effort was made to try and keep it standards compliant. And adhere to the principles semantic web.

Thanks for putting it on the radar. If there was more appetite I would develop it more, but we have a small group tinkering with it right now, and it's very useful for scratching an itch, or rapid application development, which is the kind of thing I personally enjoy.

melvincarvalho commented 3 months ago

This looks like mostly a one-person's project. It is interesting and should probably be in the WG's radar, but I would expect the charter to only explicitly cite work with a certain level of maturity and adoption...

Agree. Although there have been about 4 of us at one point, and 2-3 right now, I dont think it's of the level of maturity that you require. Perhaps one day ...

melvincarvalho commented 3 months ago

where "big solid" is in reference to Solid Protocol.

Not quite accurate. Solid has gone through many iterations. Some have been bigger and complex, and some have been smaller and less complex. I'd personally pick a big divide at version 0.7, which was made by the core team at MIT. And 0.8 and above which had a new, less experienced team, and different leanings, different process, and an expansionist mindset.

Big solid refers to all the different specifications that have been introduced over the years, each fitting into their own modular component, and becomes part of the test suite. Plus all the different sub specs that grew up around it. Some used, some not used, some competing with others etc. It's all good, just that they become modular.

IMHO, up to 0.7 was largely informed by design principles, in an attempt to upgrade the web with new features. And very importantly, backwards with the existing web.

https://www.w3.org/DesignIssues/Principles.html

0.8 and above, which is where I think the term "The Solid Protocol" came in, is much more of a framework ie Turtle API, and other stuff, that is very useful for R&D in the semantic web space. But with high complexity, and competing design decisions, and not necessarily backwards compatible.

Solid lite, at a core level is motivated to be a back compat upgrade of the web. Where I dont think post 0.8 can be said to be.

tl;dr Solid Lite is the same as Solid just broken into small modular chunks that align with the test-suite

melvincarvalho commented 2 months ago

This looks like mostly a one-person's project. It is interesting and should probably be in the WG's radar, but I would expect the charter to only explicitly cite work with a certain level of maturity and adoption...

I think this issue can be closed now.