Update on Tildes codebase: Less community fork, more official maintainers
Last month we started a community-maintained fork of the Tildes codebase. A lot has happened since then.
The biggest change: @Bauke and I have been added as maintainers to the official Tildes repo! As a result, we're moving the community fork to the backburner for now, as we focus on nearer-term changes that will directly improve the main website. Later on it's possible we'll pick up the fork again, where it will likely serve the purpose of self-hosting your own Tildes spinoff sites.
Deimos still has the final say on what makes it to the website. Bauke and I can't deploy changes directly. However, this arrangement is still much more streamlined than before, because we now have a lot more code review bandwidth for accepting outside contributions. Deimos has less work to do now: mostly testing out the live code on a staging server, and scanning over the code for security/privacy issues—but not full code reviews which often involve a lot of back-and-forth communication and reading and testing code.
What work have we done this past month?
It's mostly been setting up foundational stuff like configuring the GitLab repository, fixing the development environment, and writing docs.
More recently we have started fixing actual website bugs too: a bug when escaping a user mention (making sure \@talklittle
doesn't turn into a link), and hiding <details>
content in collapsed comments. Starting small but we've found a good rhythm and will work on more and bigger issues soon.
Big props to @Bauke for setting up a staging server! Currently at https://testing.tildes.community/ — This server will be instrumental in getting new code in a testable state in a live environment, which makes it easier to approve new features before deploying on the real Tildes site.
So we shouldn't submit code to the community fork?
No, please don't. We'll use the official Tildes repo from now on. I'll update last month's post to reflect this.
Is Docker support coming to the official repo?
Yes, very likely. Deimos has warmed up to the idea. Bauke and I have been using the Docker development environment and ironed out a lot of bugs this past month.
The official repo looks the same as before?
Our next steps are to port the community fork changes back upstream to the official repo. In addition to the master branch, we plan to add staging and develop branches. develop will be where development happens, while master will reflect what is currently deployed on Tildes.net.
How do I contribute to Tildes development?
Check this document: https://gitlab.com/tildes/tildes/-/blob/master/CONTRIBUTING.md
These are all great developments.
I'm excited that docker support is coming. It's been a while since I looked at any of the Tildes code, but I'm more likely to give it a go again with that as an option.
I'm half ignorant and half playing devil's advocate here, but "Docker, Vagrant, what's the difference? A container is a container after all."
So the comparison is between Docker and VirtualBox. We're still using Vagrant but with the Docker provider instead of the default VirtualBox provider. Containers are a lot lighter weight than virtual machines, and easier to configure.
Really, Docker does double duty as the control interface and also the container technology. So we don't really need Vagrant anymore, since it too is being used as a control interface. We're just bringing it along for now, because we wanted an incremental change instead of overhauling all of that right away. There might turn up situations where a virtual machine provides a more reliable dev environment, and we'll wish we'd kept VirtualBox.
The main difference from my point of view is that I use docker. There are a bunch of technical differences, but generally Docker, Vagrant, other options are both valid and useful. It just happens that I use docker day to day.
Edit: maybe an important thing to note is that Tildes is actually probably more suited to vagrant than docker in a lot of ways. If you are actually looking for a breakdown of why one might choose one over the other, somebody can probably give a high level idea, but if you were just wondering specifically about my rather flippant comment, then this relatively brief answer is likely sufficient.
Absolutely fantastic news! Y’all are heroes.
Talklittle defined a large part of the Reddit experience with his app. So this is great news that he's able to help steer Tildes more directly.
That is good news. I was honestly a little puzzled with the previous arrangement. It didn't make a lot of sense to me, but since I am not a developer, I chose to not criticize something I didn't understand. So that change is more in line with my thinking. It makes sense. So great!
The previous arrangement was basically the best case in a world where Deimos was not interested (or didn't have the bandwidth) to be involved in an official capacity. It sounds like that is not precisely the case, so adding maintainers became a real possibility.
Contributing to a fork of a repo and then making "upstream" PRs to the original is very common with OSS. My work uses a bunch of OSS and we make contributions to our own forks of everything and then upstream where appropriate, it's a normal part of our workflow.
I don't know much about maintaining code, but with @talklittle it's nothing to @Bauke at.
Terrible jokes that only work if you mispronounce Bauke aside, I think it's in good hands with you two.
Points for originality! Haven't heard that one before. :D
Jokes on you, that's always how I've pronounced that name in my head. 😂
Good to hear. I believe I did mention it would be better if we had more official maintainers over trying to fork at first.
What's your immediate priories as of now? Is (or will there) be some short term roadmap of plans? I assuming y'all don't need any more requests nor suggestions.
Our immediate priorities are looking at the issue tracker and tackling the easier issues, a la Backlog Burner. Especially ones that have been approved in the past (i.e. where the admin agreed they are desirable), and where people had begun work on them at some point. You're correct that we're not particularly seeking suggestions right now, as we currently have over 300 open issues to draw from.
So far I think @Bauke and I each have a few pet issues that we are likely to prioritize. It's pretty much vibes based right now, as it doesn't matter which bugs we fix as long as we ship something that makes the site better.
I'd be excited to contribute once the issues on the official repo have been cleaned up a little! Right now ofc it's quite hard to tell what's already been worked on and just was never merged, and what's actually a good issue to start working on. But it's exciting to see some movement happening and I'd love the opportunity to contribute to a site I use and care about like Tildes.
This feels healthier for all parties than the community fork did. I'm excited at the idea of containerized development environment in
upstreamthe project.