I would like to introduce you lovely OpenSource Lovers to a GIT-Alternative called FOSSIL that I also stumbled upon because of this Blog.<br> It’s basically opensource Github-in-a-box which means it’s an SCM with:
- Bug-tracker
- Ticketting-system
- Forum
- Wiki-system
- even a Chat-functionality
- Has built-in GUI
- Also has a Web-Server
- Self-Hostable like Gitea/Forgejo
& the best part it’s all in ONE STANDALONE FILE!!! which is extremely lightweight which you can copy to your $PATH & works even in crappy internet. how cool is that!!
However this tool supports a completely different style of development in FOSS called the “Cathedral-Style” whereas GIT suports a “Bazaar-Style”<br> The person behind Fossil is the creator of SQLite, <u>Dr.Richard Hipp</u> & they even made other projects to support Fossil like a PIC-Like language called PikChr<br> Well just in case; here’s a list of difference between Git vs Fossil<br> & guess what!! they even have a hosting service called CHISEL
Listen; Just check it out & use it for fun in your spare time even with the flaws it has (& Try out Darcs & Pijul as well)
What about git needs replacement?
Git is far from user friendly but that’s a design consideration from a decentralized architecture. Fossil will have the same considerations. People need to learn how to use Git.
The problem is there’s only one person who really knows how to use it: Linus.
I’m so fuckin tired of hearing x is user unfriendly, it’s not intuitive enough.
Like fuckin yeah. Sometimes you have to actually learn something new to use something new when I first started driving it wasn’t user friendly. I had to learn how to do it
git is exactly as unfriendly as a distributed source control system that doesn’t shy away from power user commands needs to be
… sure it’s difficult to comprehend, but yknow what’s worse? getting into a bullshit situation and having broken garbage repos in every other “user friendly” system on the planet
I remember Linus saying in an interview that he’d only really been involved in git for the first 6 months or so and that the other devs had managed it without him since then. This makes sense - Linus’s creations aren’t successful because he’s the only person who understands them, they’re successful because there are so many other collaborators on them.
Something new is new, and apparently that’s all tha-- SQUIRREL!
- open-source
- Ticketing
- Cathedral-style coding isn’t very Open-Source, if you believe the man who wrote the book and coined the term.
- it’s okay to post your own words instead of drunkenly jamming HTML into Markdown.
Cathedral-style coding isn’t very Open-Source
Cathedral vs bazaar is about development process, nothing to do with source code availability.
This - cathedral style development absolutely is a valid way to create free software and I don’t believe Eric S. Raymond (the guy who, I believe, coined the term) claimed otherwise, only that the bazaar model was “better.” Maintaining a bazaar style project is work, and it’s work that easily leads to burnout. We should normalize the idea that you don’t need to commit to being an “open source maintainer” to release a free software project; it should be enough to just release the source code (with or without binaries).
Make that Source Code With Binaries
dont forget about jujutsu
Since jujutsu is Git-compatible it has very much replaced Git for me and is what I’m using for everything now. Its workflow is so good and miles ahead of Git.
I was trying out Pijul for a while before that and while it has a lot of great ideas and has a lot of potential due to the way its foundations work its interface is way too janky right now and missing features and nothing I’ve reported or the many changes I’ve submitted have been fixed/pulled since March. I’d really like it to be good but alas…
Darcs does not require a central server, and works perfectly in offline mode.
Git can be used that way too. Am I missing something?
Darcs came out in 2003—Git in 2005. It was novel at the time compared to the alternatives. Darcs started as alternative to CSV & Subversion, not Git. Unlike Git it works on patches, not snapshots which has advantanges in merge conflicts.
Git uses
mergetools, which do whatever you make them to. Patches can be created from snapshots, but snapshots are not guaranteed to be creatable from patches - you might not have original state.EDIT: it uses merge drivers.
Patch Theory operates under the premise that patches commute & order should not matter until there is a conflict. Git will throw fits if you pull in a patch at the wrong order giving you a different snapshot.
No, you are not. People regularly equate Git and GitHub, though.
I love Fossil and use it for all my personal projects! I use syncthing to keep my all my repositories updated across devices and it works great!
I do wish I better understood either self-hosting or that there were more web hosts though, it would make collaboration easier when I feel like sharing. A git(hub) bridge could do it too I guess…
It’s interesting that OP is here talking about this being better than git because it has its own server, but the only person besides op claiming to use it is syncing with syncthing 🤔
The binary executable for Fossil is a single file (repos are also single files, sqlite databases). That one executable does all the VCS functions but it also has a built-in web server that will host repos as a little customizable website. That’s how you access the wiki, chat, forums, and ticketing system. You can also configure the repo, view timelines, view code, and all that stuff.
One can set up a proxy and publicly self-host the repo over the internet. That’s what the official fossil site is, a hosted repo of it’s own source code. I didn’t feel like setting up a local web host, an ngnx reverse proxy, figuring out vpn for remote access, etc etc. So i just use synching and only run locally, because it’s easier for me.
That’s another nice thing about fossil, it’s quite flexible and can grow with the needs of the project.
Opinions vary – you’re saying the single-file thing is good, but to me that’s quite a downside honestly. For backup purposes, if nothing else, I would rather my software not need to copy the entire file every time a tiny change to it happens. And all those other server based features, imo, are bloat that I wouldn’t use.
But you use Github
Look, no one is going to use this crap. Coming back a week later to try and have some weird gotcha moment will never change that
Looks like a lot of people are using it go to Chisel & see it for yourself & the whole point behind it is to use a different style of FOSS development.<br> Same applies to Darcs & Pijul
You should know better by now that this how Libre-Software works, you walk off the beaten path
I don’t know what you’re basing this “you should know better” on but I can safely say that anyone who is intimately familiar with any craft knows that when you choose an alternative ecosystem to live in from everyone else, there are tradeoffs and that you’re swimming upstream.
You may not care that others coming onto a project are frustrated or confused and have to learn something new that may not even provide any discernible value to them, but those individuals care. That’s clearly a concern for almost all project leaders. I mean, that is the only reason people used SVN for like 5-10 years after everyone knew it sucked compared to other things–
They really dreaded teaching dozens of devs a new thing, in addition to the work required to move things over. Hell, we switched from bit bucket to GitHub in my shop, the closest you can get to a drop in replacement job and that was painful because we had hundreds of repos to move.
Ps. If you had a listing of Git repos on a single page, it would need pagination to avoid crashing you browser/system. It would likely be millions of repos so I am not sure how that list you linked to is supposed to prove anything.
Fossil is more like a Jira replacement, and its built by one person with a severe case of NIH. Not necessarily a bad thing but I lived through it with Ubuntu, not really a fan of this philosophy.
“NIH”?
I think “Not Invented Here”. Meaning he wants to build everything himself from scratch despite there being alternatives he can use instead.
E.g.: Building your own httprequest library rather than using the existing one which is good enough.
With that attitude maybe we shouldn’t invent at all Why not go all the way
I think you’re reacting to the wrong person as I didn’t make the NIH claim, but merely explained its meaning. :)
No worries man; Also according to the creator of Fossil he WANTS Git to have the features that Fossil has. He WANTS people to fork his creation, if they like to. & Fossil uses SQLite to store data
This seems really cool!! And I love to see alternatives to git. But @MITM0@lemmy.world, you need to cool it on the replies. You’re making the Fossil community look hostile by association.
I’m not a part of the fossil community, also when none of the people here bother to properly check out the website & call it Ancient or see the why behind the tool & it’s development philosphy Yeah that pisses me off (So yeah I’ll “cool it” but it makes the GIT-community look like hostile hive)
Spent 5 minutes on the website and couldn’t get a peek at their code… The most fundamental thing, IMO.
it’s not the most intuitive interface but there you go: https://fossil-scm.org/home/tree?name=src
There are tabs above like a browser
fossil is made by the sqlite devs, for development of sqlite. this is not some amateur operation.
also, it’s by the sqlite people, so expect the code to be… odd.
& The code behind Linux isn’t ? People back then did some REAL sorcery with coding
back then? both codebases are fully modern. its more that sqlite uses a style that differs from the accepted norm quite a bit. that, and they don’t accept contributions.
Yeah it’s the cathedral-style, Opensource but closed contributions as in no PRs
Which is not really open now is it.
PRs didn’t exist when open source was conceived.
I would say its still open source. There is no requirement to be able to contribute modifications back. It is more about the availability of the code and what you can do with it.