I'm a huge fan of OpenBSD and all of their efforts but the single point that makes me most in awe of them is the effort and willingness to dogfood. That is the heart and soul and the essence of what makes FOSS powerful. Make what you want to use.
While some may argue about re-inventing the wheel, the OpenBSD team has time after time shown that their implementation of $thing is better then the original it intends to replace.
Please continue fighting the good fight, I appreciate it.
I love the OpenBSD philosophy of simplicity and correctness. Plus the devs are one of the few people who actually treat incomplete or incorrect documentation as a bug. The OS is one of the easiest to set up, use, and modify. I ran OpenBSD for a long-time on my desktop and it always was a joy to use. I eventually switched back to Arch Linux due to lack of software support and subpar performance.
Going back was really painful, Linux, to put it bluntly, is a hot mess. Documentation is terrible, systemd is annoying, and the gnu userland is bloated. It’s often unclear what the kernel supports and does not support. With OpenBSD it is very clear, every driver has a man page and you don’t have to guess what hardware the OS supports.
The article states that Got will use unveil and pledge [1] to harden to codebase. This is not supported in linux, so it's unlikely that ports with similar guarantees will be straightforward. It will not replace git in general.
[1] https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pd...
This is great. I've contributed a bit to the OpenBSD kernel and core user space, but CVS is so much trouble (especially for those of us who are not core developers with access) that's it kept me away from fixing more things because of all the extra CVS-created work.
If they switch to something from this millennium (which they now seem to be doing!) then I could help do more. This may tip me over to running OpenBSD full time on my upcoming laptop.
The name though. Game of Trees? Sigh. Pop culture reference, really? This will not age well. I guess they can just drop the expansion, but then we'll have great sentences like "I got got running for my project this weekend".
Naming things: It's hard, but that's no excuse to skip the hard work and cause decades of annoyance.
The man page(1) provides a good overview. Imagine a git backend with a cvs/svn front-end (which ought to make Linus Torvalds kill himself(2) just so he can roll over in his grave).
got checkout, for example, can limit itself to a subdirectory of the repository.
2. "I credit CVS in a very very negative way. Because I, in many ways, when I designed git, it's "what would Jesus do" except that it's "what would CVS never ever do"-kind of approach to source control management. I've never actually used CVS for the kernel. For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is, but I did end up using CVS for 7 years at a commercial company, and I hate it with a passion.
"When I say I hate CVS with a passion, I have to also say that if there any SVN users (Subversion users) in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started, because the whole slogan for the Subversion for a while was 'CVS done right' or something like that. And if you start with that kind of slogan, there is nowhere you can go. It's like, there is no way to do CVS right."
Is this essentially a new CLI front-end to git? I'm excited to see the result.
As a big fan and user of git i'm fairly unhindered by it's CLI design, however i'm quite aware of it's issues through helping many people learning from the outside-in - who's problems are often rooted in misconceptions caused by an exposure to git's porcelain without any understanding of the underlying graph they are manipulating... Perhaps OpenBSD can make a more honest CLI that might eliminate this confusion.
Although others have already answered that got is a BSD implementation, you might want to have a look at Gitless. "A simple version control system built on top of Git".
Basically it just runs git commands, but with a command line interface that is meant to be consistent and more user-friendly.
Yes it's a new CLI front-end. In fact it's a BSD/ISC licensed reimplementation/reimagination using the git repo structure for file storage. Commands differ a bit and knowing the OpenBSD developers, it will be more consistent and user friendly then git's CLI. Also it's taylored around OpenBSD's development style.
In addition to the simplified CLI and the license, there is also the mention of using Unveil/Pledge throughout the code. That seems consistent with OpenBSD and probably is a big part of this. AFAIK, that is also something that would make the code fairly tied to OpenBSD at the moment at least.
I've worked with stsp for a number of years on SVN. He is a thoughtful developer. I am not sure what got him started on this but I hope this comes together for him.
(1) GIT is GPL licensed. OpenBSD does not use GPL code.[1]
(2) The developers saw something about git that they thought they could improve. (usually based on security/code-correctness, see: OpenSSL, OpenSSH, unwind, openrsync, etc..)
See the other comment with a link to lobste.rs, but I'm afraid this entire project exists to reimplement git as a BSD-licensed tool.
My eyes were rolling pretty hard until I remembered that git was basically born out of a license disagreement with BitKeeper. Kudos to the OpenBSD folks (and/or this developer) for sticking to their principles.
[+] [-] UI_at_80x24|6 years ago|reply
I'm a huge fan of OpenBSD and all of their efforts but the single point that makes me most in awe of them is the effort and willingness to dogfood. That is the heart and soul and the essence of what makes FOSS powerful. Make what you want to use.
While some may argue about re-inventing the wheel, the OpenBSD team has time after time shown that their implementation of $thing is better then the original it intends to replace.
Please continue fighting the good fight, I appreciate it.
[+] [-] mruts|6 years ago|reply
Going back was really painful, Linux, to put it bluntly, is a hot mess. Documentation is terrible, systemd is annoying, and the gnu userland is bloated. It’s often unclear what the kernel supports and does not support. With OpenBSD it is very clear, every driver has a man page and you don’t have to guess what hardware the OS supports.
[+] [-] enneff|6 years ago|reply
[+] [-] hsaliak|6 years ago|reply
[+] [-] knorker|6 years ago|reply
If they switch to something from this millennium (which they now seem to be doing!) then I could help do more. This may tip me over to running OpenBSD full time on my upcoming laptop.
The name though. Game of Trees? Sigh. Pop culture reference, really? This will not age well. I guess they can just drop the expansion, but then we'll have great sentences like "I got got running for my project this weekend".
Naming things: It's hard, but that's no excuse to skip the hard work and cause decades of annoyance.
[+] [-] ksherlock|6 years ago|reply
got checkout, for example, can limit itself to a subdirectory of the repository.
1. https://gameoftrees.org/got.1.html
2. "I credit CVS in a very very negative way. Because I, in many ways, when I designed git, it's "what would Jesus do" except that it's "what would CVS never ever do"-kind of approach to source control management. I've never actually used CVS for the kernel. For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is, but I did end up using CVS for 7 years at a commercial company, and I hate it with a passion.
"When I say I hate CVS with a passion, I have to also say that if there any SVN users (Subversion users) in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started, because the whole slogan for the Subversion for a while was 'CVS done right' or something like that. And if you start with that kind of slogan, there is nowhere you can go. It's like, there is no way to do CVS right."
[+] [-] mulander|6 years ago|reply
https://undeadly.org/cgi?action=article;sid=20190810123007
Including a link to the lobste.rs with comments from stsp@ (main developer on got):
https://lobste.rs/s/sxpmar/game_trees_version_control_system...
[+] [-] tomxor|6 years ago|reply
As a big fan and user of git i'm fairly unhindered by it's CLI design, however i'm quite aware of it's issues through helping many people learning from the outside-in - who's problems are often rooted in misconceptions caused by an exposure to git's porcelain without any understanding of the underlying graph they are manipulating... Perhaps OpenBSD can make a more honest CLI that might eliminate this confusion.
[+] [-] raimue|6 years ago|reply
Basically it just runs git commands, but with a command line interface that is meant to be consistent and more user-friendly.
https://gitless.com/
[+] [-] Someone|6 years ago|reply
[+] [-] Bluerise|6 years ago|reply
[+] [-] ben_bai|6 years ago|reply
[+] [-] misterdoubt|6 years ago|reply
[+] [-] markphip|6 years ago|reply
I've worked with stsp for a number of years on SVN. He is a thoughtful developer. I am not sure what got him started on this but I hope this comes together for him.
[+] [-] UI_at_80x24|6 years ago|reply
(1) GIT is GPL licensed. OpenBSD does not use GPL code.[1]
(2) The developers saw something about git that they thought they could improve. (usually based on security/code-correctness, see: OpenSSL, OpenSSH, unwind, openrsync, etc..)
[1] https://www.openbsd.org/policy.html
[+] [-] saxonww|6 years ago|reply
My eyes were rolling pretty hard until I remembered that git was basically born out of a license disagreement with BitKeeper. Kudos to the OpenBSD folks (and/or this developer) for sticking to their principles.
[+] [-] secretvrdev|6 years ago|reply