
Game of Trees: A Version Control System for OpenBSD - LaSombra
https://gameoftrees.org/index.html
======
UI_at_80x24
>its target audience are OpenBSD developers

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
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.

~~~
znpy
> 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.

You basically answered yourself. This is the trade-off: quality vs quantity.

This is not a flame-starter, its an observation of mere facts.

------
knorker
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.

------
ksherlock
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.

1\. [https://gameoftrees.org/got.1.html](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
Undeadly provides more context:

[https://undeadly.org/cgi?action=article;sid=20190810123007](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...](https://lobste.rs/s/sxpmar/game_trees_version_control_system_under)

------
tomxor
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.

~~~
Bluerise
No, it‘s a completely new implementation. The whole backend and frontend is
written from the ground up.

~~~
tomxor
Fair enough, but since it actually uses git repositories as the storage format
it uses the most interesting part of git, so my point stands about everything
in between the repo and the user.

------
misterdoubt
I don't quite understand the aim, or why it overlaps with OpenBSD. This is to
provide a different, simplified CLI to git?

~~~
UI_at_80x24
I'm not a developer,

(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](https://www.openbsd.org/policy.html)

~~~
microcolonel
> _OpenBSD does not use GPL code_

OpenBSD has used a lot of GPLv2 code, until recently their platform compiler
was a heavily-patched version of the last GPLv2 version of GCC.

There are git implementations under permissive licenses as well. And it seems
like GOT is yet another such implementation.

~~~
brynet
> a lot of GPLv2 code

"A lot" is quite the exaggeration for "at most 5".

GPLv2 licenced software:

• cvs

• texinfo (for software lacking proper mdoc(7) manuals)

• mkhybrid

• readline

• gcc/gdb/bintuils, supporting libraries libstdc++/libiberty*

The amount of GPL licensed software the resides in OpenBSD base is trivial
compared to the entirety of software comprising a complete Unix operating
system. Including its own implementation of a wide variety of network
protocols, and being the home of OpenSSH, and tmux and many more.

[https://www.openbsd.org/innovations.html](https://www.openbsd.org/innovations.html)

* On architectures that have transitioned to a LLVM toolchain, we already have a reference platform (arm64) which doesn't build or install gcc/binutils or supporting libraries, this will happen on other platforms as well, where they're currently installed alongside clang. OpenBSD has already transitioned to clang, lld, libc++/libc++abi on i386/amd64/armv7/octeon.

~~~
microcolonel
> _cvs_

You know, I had forgotten that they failed to bring OpenCVS to bear. Isn't it
kinda silly to be concerned about replacing a GPLv2-licensed SCM with another
one?

~~~
Fnoord
What are you on about?

CVS is GPL. OpenCVS is BSDL.

Git is GPL. Got is BSDL.

I got nothing against GPL, but I am pro diversification (competition = good,
monoculture = bad). Furthermore, these projects add more than just different
license. Mainly, better security.

PS: Got, trendy name. Got got?

~~~
microcolonel
Sure, but the idea seems to be that using git, as is, would mean relying on
more GPLv2 software; my point is that it doesn't.

By all means, if OpenCVS or Got were actually brought to a useful state,
that'd be great, but there's no great crisis of new GPLv2 reliance in using
Git.

I, for one, would welcome a git clone (hah!) built to the core OpenBSD quality
standard, but it seems unlikely that anyone cares enough to do that.

In the mean time, justifying not using Git for OpenBSD on the basis of license
falls flat, when you realize you're using GNU CVS anyway.

~~~
Fnoord
Hi, I clearly misunderstood your post. I implied you didn't know the licenses
while I did not understand the "to bear" part of your post, at all.
Furthermore, I am sorry if I came across as offensive. You make a good point
in this post, clarifying your viewpoint. A viewpoint I can relate to.

~~~
microcolonel
It's alright, I am used to being misunderstood, so I choose not to be offended
and misunderstand the misunderstander's misunderstandings. :- )

------
secretvrdev
The logo is the best!

