The Solid Team would like your feedback on possible changes at solidcommunity.net.
The Current Situation : Solidcommuity.net is provided as a free identity and pod-providing service meant for everyone to experience a WebID and a pod and for developers to create apps to run against standards-compliant, open-source servers. The pod service is experimental in nature which means it makes no claims of production-level security.
None of that is expected to change in the near future.
What May Change : We might change the software we use to serve solidcommunity.net. From its start up until now, solidcommunity has run using NSS, Node Solid Server but we are considering migrating to CSS, Community Solid Server. These are the two main contenders, if anyone has other possible solutions, please propose them below.
- already in place
- easy to modify
- handles UX better (see notes below)
- is not being developed
- older code base, not Typescript
- weaker testing/review
- under heavy development - lots of review, better test coverage
- more modern code base, Typescript
- supports alternate back ends
- under heavy development - frequent hard to integrate updates
- difficult to modify without extensive base knowledge
- lacks some features mentioned above
- On normal websites and on NSS but not CSS, if you type /foo and that is a folder, it will silently add the trailing slash; CSS will give a 404.
- CSS stores turtle that doesn’t use prefixes or clean list/collection syntax. NSS uses prefixes and clean list/collection syntax.
What do YOU think? Should we stay or should we go?
I have no strong opinion, but if it switches to CSS, it would be great if new accounts still get a
pim:storage predicate in their WebID, to avoid apps suddenly breaking.
@Vincent - Good point, do you know if there’s an issue raised on this? Is this something the CSS team has said they won’t change as they’ve said to requests to change the turtle formating and the slash semantics?
Yes, the CSS team has said they don’t want to implement this because they don’t believe that there is consensus that servers actually should add it, but in that same comment did point out how people running a server could set it themselves.
Agreed it is a server implementation.
This needs some more discussion about default parameters on migration.
Full backward compatibility would be ideal in any kind of outcome, but if that’s not possible I hope we can be informed well before so that we can make necessary steps to mitigate the various problems that might arise from upgrading.
Ultimately choosing which to use is up to the use case and the developers in charge, but I think more development should be invested into alternative implementations of SOLID servers. I find the CSS approach to be neat, but the fact CSS itself is built on top of a very specific dependency injection framework that has no alternatives is a major deterrent for both development and adoption.
Edit; By alternative implementations I don’t necessarily mean different languages. Each server uses a filesystem structure as the backend by default which has some pros and cons, but there are other possible avenues to explore.
I’ve been implementing email notifications service which uses webhook notifications channel. My issue is, NSS doesn’t support the newest notifications spec, so the service doesn’t work with solidcommunity.net.
I believe it isn’t required for Solid servers to implement every notification spec (i.e. i can’t expect that webhook notifications will be supported), so NSS is covered in that regard. However, this points to the larger issue that in order for NSS to be viable for solidcommunity.net in long term, it will need active developers who’ll keep it in sync with the evolving specifications. This point was already mentioned in OP, but hopefully this specific use case can be helpful for the discussion.
So, if solidcommunity.net stays with NSS, who’s going to develop NSS?
(Note: in comparison, CSS supports the latest notifications specs, including WebhookChannel2023 since version 6; server admins can turn it on and off in config)
I’ ll add my 2 cents:
I am pro upgrading.
we will then have a modern, modular codebase.
additional I can say we can still leave solidweb.org online, for the people needing NSS.
I am really busy with life responsibilities lately, so no more there and available on a regular base.
but I can provide
Community leaders @melvincarvalho and @michielbdejong voiced strong ideological concerns against CSS, including in this thread: Migrating from NSS to CSS - General Discussion - Solid Community Forum. We cannot proceed without their explicit blessing, and it’s a shame they were not tagged in this post. I believe @michielbdejong want to maintain his own fork with his company and this should be considered as a third option.
Also that thread was closed without there being a solution to migration, so it seems this is not even possible at this point at all.
Thank you everyone for your feedback. The Solid Team - which includes, among others, me, @michielbdejong, and Sir Tim, as well as the maintainers/admins of solidcommunity.net (see Solid Process ) - voted unanimously to create a fork/remix of CSS that addresses the problems brought up in this thread and is under open community control. This addresses the concerns brought up here and elsewhere. We will need to do a lot of testing and will announce changes here before any migration happens. If anyone wants to be part of the team doing the migration or helping to maintain the service, please get in touch.
@michielbdejong helped write this post. Everyone else was clearly invited to participate here, on the W3C mailing list, and in the chatrooms.
Thanks for letting us know your decision. Will NSS still be maintained or archived publicly? Even if it’s not continually maintained in the future, I think having the resource still publicly available will be good for newcomers to play with or experiment on to get a “solid” foundation in the ecosystem, until they need a server with more capabilities or security guarantees.
As actual maintainer of NSS, I support the move to a CSS version.
I also would like to see NSS publicly available and kept as much bug free in the future.
Anyone that would like to implement new secure notifications is welcomed. It could be a nice teacher project.
I don’t think there are any plans to archive NSS so anyone is free to keep working on it. I don’t know of anyone who has stepped forward to do that, but anyone is welcome to.
@bourgeoa your continual and hard work on solidcommunity.net over the past four years has been a phenomenal gift to the Solid Community and the world. Thank you so much for all your work maintaining this valuable resource.