The year in retrospective, and what's to come #1223
Replies: 5 comments 15 replies
-
I'd suggest using ❌✔️ instead of ✅❎ for the implemented feature list. Both the emojis using white on bright green makes them hard to distinguish. |
Beta Was this translation helpful? Give feedback.
-
For native SSH, did you consider implementing the required protocol bits in Rust or is this effort too big / out of scope? |
Beta Was this translation helpful? Give feedback.
-
I'm curious if you've tried Jujutsu/jj. If you haven't, I would recommend trying it, if for no other reason than as input for |
Beta Was this translation helpful? Give feedback.
-
Small typo: |
Beta Was this translation helpful? Give feedback.
-
Hey, is there any issue/ discussion / blog post that details the github action part of the checklist, i.e. what you intend it to do, your vision on it , the potential issues that you feel right now (apart from the support)? If that is available, someone might try to create an unofficial action, and find out issues, roadblocks in that ; so when you would eventually be ready to have an official action, there would be some idea of the work (or if the other action is good enough, that will become the "official" one by itself) |
Beta Was this translation helpful? Give feedback.
-
The year in numbers
And 365 days later as of 2023-12-31, we are counting 141,005 SLOC, up by 34,513, which is 75% of the year before (➡OTYB) in 13,002 commits up by 3,014 and 70%OTYB. There are 62 crates (up by 11) and 2 binaries, with
ein
andgix
as part ofgitoxide
. There are 105 unique authors (up by 48 and 133%OTYB). This means ~95 lines per day in ~8 commits each day. On GitHub there are 7,266 stars (up by 2,101 which is 88%OTYB) for ~5.8 stars per day.The tool invocation
ein tool estimate-hours
now rates the project cost at 8736 hours (up by 1914) or ~1092 x 8 hour working days, for an average working time of 5.24 hours in the past 365 days.My timetracker reveals that I spent 1576h on open source work which is dominated by
gitoxide
and which is supported via GitHub sponsors at 997h. 469h were for commercial work and consulting. The grant of the Rust Foundation grant motivated 241h to improvegitoxide
and drive grant-goals forward. The total of 2045 hours worked boils down to 5.6 hours of work per day (39.2h per week), 112%OTYB.My open-source work is financially sustainable at 2.5 times the German minimal wage net per hour, or 125%OTYB (note that there is also income through commercial work which isn't included in this value).
Thus far, I have spent the last 1354 days to getting
gitoxide
off the ground, and it's still quite far from even reaching parity withgit2
.What was planned for 2023 - a retrospective
There was a (probably unreasonably long) list of items to be done in 2023, let’s have a look to see what actually happened.
The previous list
gix
even more and deal with the additional support this would entail.git upload-pack
ssh
transportunsafe
, but it's a requirement forcargo
.It does look like only about 40% have been achieved, or less, but I also think that the list was meant to be more of a wish-list than anything that could be reasonably be achieved.
Last year I said right below the list:
Not too bad, the actual value is 5.6h per day which could generously be rounded. It's clear though that even with that additional time these lofty goals would not have been achieved.
What's planned for 2024
Having learned from last year, I will do my best to keep the list of this year (more) reasonable and achievable.
file://
protocolWith the above, all of
git2
incargo
could be replaced withgix
, while at the same time movinggix
up to near feature parity withgit2
. When that comes through it's probably time for a stable release, which in itself is a massive undertaking that's not possible with the waygix
is currently built.Nonetheless, looking at this list along with the major progress with the
cargo
integration that it enables makes me very happy and excited for what's to come :).Some words of Gratitude
By now I am able to sustain myself and my family while following my calling, and for that I am incredibly grateful - I simply couldn't imagine a better use of my (life)time. Doing so would not be possible without the generosity of my sponsors: thank you, thank you very much!
Judging by the 48 new contributors, this year brought even more contributions than the previous one, and I am thankful for every single one of them, be it PRs with fixes and improvements, or discussions to help
gitoxide
become more useful and usable.Additionally I'd like to call out the contributed OSS-fuzzing support which has found many bugs already and hopefully keeps finding more due to ever-increasing (and contributed) coverage. Thanks so much!
There is one person and entities I would like to thank individually just like last year :).
Thank you, Josh!
Josh Triplett, back in May 2021 became my first sponsor and patron, which did no less than change my life to be able to follow my calling.
gitoxide
, me and my family wouldn't be what they are today without him, and I am deeply grateful for that.As if this wasn't enough, we doubled-down on
buildit
, making incredible strides, and I remain hopeful that 2024 will be the year "to make it happen" :)!Thanks, Radworks!
Radworks is dedicated to cultivate internet freedom. They created a peer-to-peer network for code collaboration based on Git, which is the reason we touched base back in 2021.
Two years later they are back, this time with a peer-to-peer fund sharing and splitting solution that
gitoxide
is an early benefactor of, and so much so that its future is secured just by that alone.I am unlikely to be able to thank them enough, but will try by making
git2
a dependency they won't need anymore.Thank you, Cargo team, for bearing with me!
It's taking me years to finish the integration work and implement all features needed to fully replace
git2
incargo
, and yet thecargo
team stays onboard with this work!Thanks so much, but… I will need just a little more time 😅.
Thank you, Rust Foundation!
With every breath I am turning
gitoxide
into foundational software that is not only powering a growing number of applications but one day critical infrastructure as well. This year, the Rust Foundation kept providing a grant to finance the development ofgitoxide
and its integration into existing software, and has been a pillar of sustainable development. Thank you again for your trust!It is my hope that as the Rust Foundation evolves, it can help
gitoxide
to become more community driven without an over-reliance on a single person.Thanks Everyone
It’s very likely that I failed to call you out for no other reason than swiss-cheese like memory, so let me thank you for the net-positive interactions we undoubtedly had.
Let’s do that again in 2024 :)!
🎉🎉🎉 Thanks for reading, let's make 2024 a great year for everyone :)! 🎉🎉🎉
Q&A
Why did the development velocity decrease?
The pure line-of-code produced is down by 25% and the amount of commits is down by 30%. They might be correlated, even though I'd think that Stacked Git is the main reason for the reduction in commits.
As for the reduced amount of code, I think that overall it's not less, but more or less the same. It might be that most of the 'missing' code is in commercial projects or went into
git2->gix
conversions. Of course, having a 140k SLOC project should make development slower, but as most code is still written from scratch I think the effects of the amount of code are small. Having tests for everything also is a key-enabler for fearless changes, and so is Rust.Maybe it's just a feeling, but I do think that the problems to solve are getting more complex as well, and I feel I have to research more to grasp how to implement a certain Git capability. That probably contributes to taking quite a bit longer.
Will
gitoxide
ever be done?Yes, definitely! Even though done won't mean absolute feature parity with Git, as I only plan to implement what's immediately useful to me and most others.
Knowing my velocity in lines of code and the size of
libgit2
and Git respectively, a silly estimation would be that it takes another 2 to 3.5 years forgitoxide
to be complete. Stabilisinggitoxide
in 2 years would definitely be swell!Data
State
commit count
Linecount
Authors
Beta Was this translation helpful? Give feedback.
All reactions