Open VladimirAlexiev opened 1 week ago
Ok, on it
After some initial screening of Updated list of implementations I may conclude, it needs to decide upfront (and document in CONTRIBUTING.md maybe) on software inclusion/exclusion criteria:
1 What to do with "abandonware" (5-6 years old from the last update, or more)?
2 What to do with "unusable prototypes"? A "technology readiness level" aspect, like TRL from NASA. Especially in section "Shape Editors, Visualizations". Something like "is cool-looking but unusable -- awesome, or not"; “is novice, but not cool-looking and not usable -- awesome, or not”.
Because there are too much of it in SemWeb area and both cases exist even in "Updated list of implementations". And parallel copy-paste from several lists by several people, even with deduplication, could quickly lead to a mess.
Do we need a criterion “I propose it to the “awesome” because I use it” or not? Or maybe even "many people use it" or "it is suitable for mass usage"?
3 Are we including open-source only or closed-source too? If so, it seems, we need OSS/$$$ mark on every software entry.
4 Should we sort software in categories by its name or by popularity?
I also could commit settings for VS Code with "Markdown All in One" and spellchecker with recommend extensions, initial dictionary and so on, if we agree on common IDE.
1 What to do with "abandonware" (5-6 years old from the last update, or more)?
Fine if it is known to work. But we could add some marker for software which hasn't received updates in a long time. Like "☠️☠️☠️", or something less loaded
2 What to do with "unusable prototypes" [...]
That's a hard one. Some software may have a narrow use case but do it's job. Some are developed with little resources and an awesome-list can boost visibility. I would not try to be too restrictive because in the end you rely on arbitrary decisions.
3 Are we including open-source only or closed-source too?
+1 to closed/commercial too. +1 to a 💰💰💰 marker
4 Should we sort software in categories by its name or by popularity?
Name IMO. Else, how do you decide on popularity? GitHub stars, package repository download count? Would someone keep the ordering in sync with changes to popularity?
if we agree on common IDE
One should never do that IMO. VS Code may be popular but it's not the only tool. And expect contributions directly from GitHub. All formatting, linting, spellchecking should be IDE-agnostic and runnable from the command line.
One should never do that IMO. VS Code may be popular but it's not the only tool. And expect contributions directly from GitHub. All formatting, linting, spellchecking should be IDE-agnostic and runnable from the command line.
IDE-agnostic CLI tools just for one file -- It looks like overkill. It also requires some stack commitment: Java one (Maven/Gradle) or JS (ESLint, etc) or any other...
@amivanoff , thanks for your PR!! I made some comments.
In general I agree with @tpluscode :
Last but not least:
Can you add JS implementatons from https://github.com/w3c/shacl/issues/78#issuecomment-2354996813
- I would really like to have the last updated date and version. I understand these will get obsolete very soon, but still a sofware updated 5y ago is very different from one updated 1 month ago.
- number of contributors, stars and forks is also important info, would be nice to have
I like those ideas but I don't see this would be possible without actually generating the list and sourcing some of this information from GitHub directly. Else, as you said, it'd immediately become out of date
To indicate the last commit activity we could use bages from https://img.shields.io like here
There are similar color-coded bages there for the latest release date from GitHub Releases and for the latest release version
Examples:
Jena SHACL - - tags, but no releases on GitHub
RDF4J SHACL Sail - - there are releases and tags on GitHub
Maybe we should choose only latest release or tag + last commit?
Release or Tag -- always blue, Release date or Last commit -- color-coded by "recency".
License and programming language formatting example awesome-selfhosted/awesome-selfhosted
More for "last but not least " https://github.com/hypermedia-app/shape-to-query https://shape-to-query.hypermedia.app/docs/#extension-spo-rule
The only Ruby implementation I know: https://github.com/ruby-rdf/shacl/
@amivanoff could you please take a first stab at it? Make the structure as per
awesomelists
(https://github.com/w3c/shacl/issues/78#issuecomment-2309745899) and add sections as per my above comment and the "updated list".