A list of Free Software network services and web applications which can be hosted on your own servers - GitHub - awesome-selfhosted/awesome-selfhosted: A list of Free Software network services and ...
Lemmy search isn’t great, or I’m too new, and can’t tell if this has been posted here before.
awesome-selhosted maintainer here. This critique comes up often (and I sometimes agree…) but it’s hard to properly “fix”:
Any rule that enforces some kind of “quality” guideline has to be explicitly written to the contribution guidelines to not waste submitters’ (and maintainers) time.
As you can see there are already minimal rules in place (software has to be actively maintained, properly documented, first release must be older than 4 months, must of course be fully Free and Open-source…). Anything more is very hard to word objectively or is plain unfair - in the last 7 years (!) maintaining the list I’ve spent countless hours thinking about it.
For example, rejecting new projects because an existing/already listed one effectively does the same thing would give an unfair advantage to older projects, effectively “locking out” newer ones. Moreover, you will rarely find two projects that have the exact same feature set, workflow, release frequency, technical requirements… and every user has different needs and requirements, so yeah, users of the list are expected to do some research to find the best solution to their particular needs.
This is of course, less true for some categories (why are there so many pastebins??). But again, it’s hard to find clear and objective criteria to determine what deserves to be listed and what does not.
If we started rejecting projects because “I don’t have a need for it” or “I already use a somewhat equivalent solution and am not going to switch”, that would discard 90% of entries in the list (and not necessarily the worst ones). I do check that projects being added are in a “production-ready” state and ask more questions during reviews if needed. But it’s hard to be more selective than we already are, without falling in subjective “I like/I don’t like” reasoning (let’s ban all Nodejs-based projects, npm is horrible and a security liability. Let’s also ban all projects that are so convoluted and impossible to build and install properly that Docker is the only installation option. Follow my thoughts?)
Also, Free Software has always been very fragmented, which is both a strength and a weakness. The list simply reflects that.
Another idea I contemplated is linking each project to a “review” thread for the software in question. But I will not host or moderate such a forum/review board, and it will be heavily brigaded by PR departments looking to promote their companies software.
A HTML version is coming out soon (based on the same data) that will hopefully make the list easier to browse.
I am open to other suggestions, keeping in mind the points above…
250+ self hostable apps
1268 exactly.
You can help cleaning up the list of unmaintained projects by working on this issue
I just wanted to give you my two cents and say that I appreciate the way you have it. And also thank you for all the thought you’ve put into it because I don’t want someone making subjective decisions for me and I’m glad you understand that position.
I would imagine the source for most projects is hosted on GitHub, or similar platforms? Perhaps you could consider forks, stars, and followers as “votes” and sort each sub category based on the votes. I would imagine that would be scriptable - the script could be included in the awesome list repo, and run periodically. It would be kind of interesting to tag “releases” and see how the sort order changes over time. If you wanted to get fancy, the sorting could probably happen as part of a CI task.
If workable, the obvious benefit is you don’t have to exclude anything for subjective reasons, but it’s easier for readers of the list to quickly find the “most used” options.
Just an idea off the top of my head. You may have already thought about it, and/or it may be full of holes.
Perhaps you could consider forks, stars, and followers as “votes” and sort each sub category based on the votes.
it’s easier for readers of the list to quickly find the “most used” options.
This would exclude (or move to the bottom of the list) all projects that are not hosted on these (mostly proprietary) platforms. Right now only metadata from Github is being parsed, in the future it will expand to Gitlab, maybe Gitea instances or similar, but it will take time and not all platforms have these stars/followers/forks features. This would also induce a huge bias as Github projects will have a lot more forks/followers/… than projects hosted on independent forges. Star counts can also (and absolutely are) manipulated by some projects that want to get “trending”.
Also popularity != quality. A project whose code is hosted on cgit can be as good or even better than a project on Github (even more in the context of self-hosting…).
Just an idea off the top of my head. You may have already thought about it, and/or it may be full of holes.
It was a good idea :) But as you can see, it has its flaws.
Yep yep. I was aware of some of what you pointed out - I think this might be a “perfect is the enemy of good” scenario, though. GitHub alone accounts for over 84% (based on the awesome-selfhosted-data repo):
True, but a thriving community generally means more resources, guides, etc, which can be important, especially for self-hosted solutions.
In any case, the project is great, and much appreciated. Additionally, the enriched html version looks fantastic, and exposes most of the metadata* I’d want to see, regardless of how it’s sorted.
*One other item to track, that I thought about after making my previous comment - number of contributors. It gives an additional data point on the size of the community, as well as an idea of how many people can be hit by busses before the continued development of the project gets called into question.
These are usually kept for some time (or at least, not actively hunted and removed). You can also check pull requests labeled curation, or search the git log for remove.
In this analogy, GitHub would be the library and the awesome list would be the recommended by the librarian section. If my librarian stopped curating that section and just filled it with a specific type of book no matter the quality I would stop browsing their curated section.
Are you disagreeing with them and saying OP list contains only curated awesome projects?
Do you really need 13 blog platforms? By that point, don’t I have to do another analysis and curation to decide what to use? With the generic descriptions that seem to be copy-paste from the projects descriptions, where’s the descriptive and usefulness-assessment of curation? If one of the 13 is “Extra-awesome, extra-lightweight blog engine.” - why are there even others if it’s “extra awesome”? What does that even mean?
I really just don’t understand why we feel the need to be pedantic on the linguistics of a list of resources someone found to be (subjectively, and inherently) “awesome”
All 13 blog platform could be awesome and you’d want all 13 on the list because while all awesome, they’re awesome in different ways. They each have different workflows even which is something that’s really important to someone writing blogs. Do you want a WYSIWYG editor? Do you prefer Markdown? Do you want a static site generator? All these things are awesome and each fit a distinct use case.
Lol I’m so surprised some self hosters are so lazy they can’t even make a selection out of a few already curated items. Like would you rather have no options at all (use this ONE project, nothing else matters) or not even have the list and have to find the projects on your own?
Do you think it’s fair to say that one size does not fit all, so a giant list of self hosted options for people to choose from, is itself awesome?
The benefit of self hosting boils down to being able to make your own choices. Having a full list of options to choose from and make your own decision fits this community better (for better or worse) than someone else curating that thing for you.
I read it as the lists are awesome, not necessary everything in the lists.
I will tell you right now that I also think your idea is bad because I wouldn’t follow a list with subjective criteria and selections. I don’t want someone making those subjective decisions for me. Who is to say what awesome is? You don’t know what I’m looking for in a service, you don’t know what I value. If I prioritize privacy and security over form and function, I guarantee it is not going to be the popular or “awesome” option.
Example:
The tide is changing in this regard but 3 years ago, jellyfin was much less mature and Plex was really the most popular option for streaming media. Honestly, very few people talked about jellyfin and if they did, it was usually about it’s deficiencies. So 3 years ago, according to most peoples’ criteria, Plex might be the top option on a list, maybe even the only option with a couple of honorable mentions. But according to me, I wouldn’t even put Plex on a list because I don’t consider it selfhosting being that it relies on 3rd party servers. So who is right? There is not right or wrong, it’s subjective, everyone has to make their own decisions. So you see the problem. That is merely one example of countless because everyone prioritizes things differently.
I miss the days when awesome lists were curated to actually have awesome stuff instead of being a list of 250+ self hostable apps.
There is no way these are all awesome. Call it the giant list of self hosted apps or something that actually makes sense.
awesome-selhosted maintainer here. This critique comes up often (and I sometimes agree…) but it’s hard to properly “fix”:
Any rule that enforces some kind of “quality” guideline has to be explicitly written to the contribution guidelines to not waste submitters’ (and maintainers) time.
As you can see there are already minimal rules in place (software has to be actively maintained, properly documented, first release must be older than 4 months, must of course be fully Free and Open-source…). Anything more is very hard to word objectively or is plain unfair - in the last 7 years (!) maintaining the list I’ve spent countless hours thinking about it.
For example, rejecting new projects because an existing/already listed one effectively does the same thing would give an unfair advantage to older projects, effectively “locking out” newer ones. Moreover, you will rarely find two projects that have the exact same feature set, workflow, release frequency, technical requirements… and every user has different needs and requirements, so yeah, users of the list are expected to do some research to find the best solution to their particular needs.
This is of course, less true for some categories (why are there so many pastebins??). But again, it’s hard to find clear and objective criteria to determine what deserves to be listed and what does not.
If we started rejecting projects because “I don’t have a need for it” or “I already use a somewhat equivalent solution and am not going to switch”, that would discard 90% of entries in the list (and not necessarily the worst ones). I do check that projects being added are in a “production-ready” state and ask more questions during reviews if needed. But it’s hard to be more selective than we already are, without falling in subjective “I like/I don’t like” reasoning (let’s ban all Nodejs-based projects, npm is horrible and a security liability. Let’s also ban all projects that are so convoluted and impossible to build and install properly that Docker is the only installation option. Follow my thoughts?)
Also, Free Software has always been very fragmented, which is both a strength and a weakness. The list simply reflects that.
Another idea I contemplated is linking each project to a “review” thread for the software in question. But I will not host or moderate such a forum/review board, and it will be heavily brigaded by PR departments looking to promote their companies software.
A HTML version is coming out soon (based on the same data) that will hopefully make the list easier to browse.
I am open to other suggestions, keeping in mind the points above…
1268 exactly.
You can help cleaning up the list of unmaintained projects by working on this issue
I just wanted to give you my two cents and say that I appreciate the way you have it. And also thank you for all the thought you’ve put into it because I don’t want someone making subjective decisions for me and I’m glad you understand that position.
I would imagine the source for most projects is hosted on GitHub, or similar platforms? Perhaps you could consider forks, stars, and followers as “votes” and sort each sub category based on the votes. I would imagine that would be scriptable - the script could be included in the awesome list repo, and run periodically. It would be kind of interesting to tag “releases” and see how the sort order changes over time. If you wanted to get fancy, the sorting could probably happen as part of a CI task.
If workable, the obvious benefit is you don’t have to exclude anything for subjective reasons, but it’s easier for readers of the list to quickly find the “most used” options.
Just an idea off the top of my head. You may have already thought about it, and/or it may be full of holes.
The next version of the list will be based on https://github.com/awesome-selfhosted/awesome-selfhosted-data (raw YAML data), so much easier to integrate with scripts. There is already a CI system running at https://github.com/awesome-selfhosted/awesome-selfhosted-data/actions, and a preview of an enriched export at https://nodiscc.github.io/awesome-selfhosted-html-preview/ that take stars/last update dates and other metadata into account. This will all go live “soon”.
This would exclude (or move to the bottom of the list) all projects that are not hosted on these (mostly proprietary) platforms. Right now only metadata from Github is being parsed, in the future it will expand to Gitlab, maybe Gitea instances or similar, but it will take time and not all platforms have these stars/followers/forks features. This would also induce a huge bias as Github projects will have a lot more forks/followers/… than projects hosted on independent forges. Star counts can also (and absolutely are) manipulated by some projects that want to get “trending”.
Also popularity != quality. A project whose code is hosted on cgit can be as good or even better than a project on Github (even more in the context of self-hosting…).
It was a good idea :) But as you can see, it has its flaws.
Yep yep. I was aware of some of what you pointed out - I think this might be a “perfect is the enemy of good” scenario, though. GitHub alone accounts for over 84% (based on the awesome-selfhosted-data repo):
$ grep -r 'source_code_url' | cut -d ' ' -f 2 | cut -d '/' -f 3 | sort | uniq -c | sort -rn | head -n 15 1068 github.com 36 gitlab.com 7 git.mills.io 6 sourceforge.net 6 framagit.org 4 www.atlassian.com 4 codeberg.org 3 git.drupalcode.org 3 git.cloudron.io 2 repos.goffi.org 2 git.tt-rss.org 2 git.sr.ht 2 cvsweb.openbsd.org 1 yetishare.com 1 www.wiz.cn $ python -c "print($(grep -r 'source_code_url' . | grep github.com | wc -l) / $(ls -1 | wc -l))" 0.8422712933753943
Adding in gitlab gets you to 87%:
$ python -c "print($(grep -r 'source_code_url' . | grep -i -e github.com -e gitlab.com | wc -l) / $(ls -1 | wc -l))" 0.8706624605678234
True, but a thriving community generally means more resources, guides, etc, which can be important, especially for self-hosted solutions.
In any case, the project is great, and much appreciated. Additionally, the enriched html version looks fantastic, and exposes most of the metadata* I’d want to see, regardless of how it’s sorted.
*One other item to track, that I thought about after making my previous comment - number of contributors. It gives an additional data point on the size of the community, as well as an idea of how many people can be hit by busses before the continued development of the project gets called into question.
Thanks, you make an interesting point, I will have another look at it.
That would be an interesting stat, noted https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues/35. Github API rate limits will make it a bit tricky to update regularly though (https://github.com/nodiscc/hecat/issues/112), but it can definitely be done - even if it’s not updated every day.
Are the unmaintained apps stored anywhere? Sometimes unmaintained apps work fine for many years afterwards or consider themselves complete
Risky name
These are usually kept for some time (or at least, not actively hunted and removed). You can also check pull requests labeled
curation
, or search the git log forremove
.It’s covers a pretty wide range of topics hence the bigger number…
Either way, would you refuse a library because it had too many books or would you use a searching/organizational system to locate what you want
In this analogy, GitHub would be the library and the awesome list would be the recommended by the librarian section. If my librarian stopped curating that section and just filled it with a specific type of book no matter the quality I would stop browsing their curated section.
Again, large size doesn’t necessarily equate to being washed out…
Are you disagreeing with them and saying OP list contains only curated awesome projects?
Do you really need 13 blog platforms? By that point, don’t I have to do another analysis and curation to decide what to use? With the generic descriptions that seem to be copy-paste from the projects descriptions, where’s the descriptive and usefulness-assessment of curation? If one of the 13 is “Extra-awesome, extra-lightweight blog engine.” - why are there even others if it’s “extra awesome”? What does that even mean?
I really just don’t understand why we feel the need to be pedantic on the linguistics of a list of resources someone found to be (subjectively, and inherently) “awesome”
Grumpy cat energy begone
All 13 blog platform could be awesome and you’d want all 13 on the list because while all awesome, they’re awesome in different ways. They each have different workflows even which is something that’s really important to someone writing blogs. Do you want a WYSIWYG editor? Do you prefer Markdown? Do you want a static site generator? All these things are awesome and each fit a distinct use case.
See my reply above (https://lemmy.world/comment/1592102), that’s exactly what is hard to determine objectively.
Yep, you do.
Lol I’m so surprised some self hosters are so lazy they can’t even make a selection out of a few already curated items. Like would you rather have no options at all (use this ONE project, nothing else matters) or not even have the list and have to find the projects on your own?
I agree with your point, interesting to see people downvoting without commenting.
If
I would expect an „awesome-books“ list to not include every book ever written.
Do you think it’s fair to say that one size does not fit all, so a giant list of self hosted options for people to choose from, is itself awesome?
The benefit of self hosting boils down to being able to make your own choices. Having a full list of options to choose from and make your own decision fits this community better (for better or worse) than someone else curating that thing for you.
And a lot of the best options per category are at the bottom of the list.
As I replied above, “best” is subjective.
But yes, alphabetical ordering is not always the most adapted.
I’d rather a bulk list of everything that can be set up on a home lab, personally. I’ll decide what is and isn’t useful to me.
I read it as the lists are awesome, not necessary everything in the lists.
I will tell you right now that I also think your idea is bad because I wouldn’t follow a list with subjective criteria and selections. I don’t want someone making those subjective decisions for me. Who is to say what awesome is? You don’t know what I’m looking for in a service, you don’t know what I value. If I prioritize privacy and security over form and function, I guarantee it is not going to be the popular or “awesome” option.
Example:
The tide is changing in this regard but 3 years ago, jellyfin was much less mature and Plex was really the most popular option for streaming media. Honestly, very few people talked about jellyfin and if they did, it was usually about it’s deficiencies. So 3 years ago, according to most peoples’ criteria, Plex might be the top option on a list, maybe even the only option with a couple of honorable mentions. But according to me, I wouldn’t even put Plex on a list because I don’t consider it selfhosting being that it relies on 3rd party servers. So who is right? There is not right or wrong, it’s subjective, everyone has to make their own decisions. So you see the problem. That is merely one example of countless because everyone prioritizes things differently.
deleted by creator