101 votes

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

16 comments

  1. [4]
    aphoenix
    Link
    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...

    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.

    23 votes
    1. [3]
      pseudolobster
      Link Parent
      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."

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

      5 votes
      1. talklittle
        Link Parent
        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...

        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.

        14 votes
      2. aphoenix
        (edited )
        Link Parent
        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...

        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.

        12 votes
  2. [2]
    kfwyre
    Link
    Absolutely fantastic news! Y’all are heroes.

    Absolutely fantastic news! Y’all are heroes.

    11 votes
    1. merry-cherry
      Link Parent
      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.

      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.

      10 votes
  3. [3]
    lou
    Link
    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...

    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!

    10 votes
    1. F13
      Link Parent
      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...

      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.

      24 votes
    2. RheingoldRiver
      Link Parent
      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...

      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.

      18 votes
  4. [3]
    CptBluebear
    Link
    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.

    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.

    21 votes
    1. Bauke
      Link Parent
      Points for originality! Haven't heard that one before. :D

      Points for originality! Haven't heard that one before. :D

      8 votes
    2. Omnicrola
      Link Parent
      Jokes on you, that's always how I've pronounced that name in my head. 😂

      Jokes on you, that's always how I've pronounced that name in my head. 😂

      4 votes
  5. [2]
    raze2012
    Link
    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...

    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.

    7 votes
    1. talklittle
      Link Parent
      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...

      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.

      10 votes
  6. sparksbet
    Link
    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...

    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.

    6 votes
  7. TangibleLight
    Link
    This feels healthier for all parties than the community fork did. I'm excited at the idea of containerized development environment in the project.

    This feels healthier for all parties than the community fork did. I'm excited at the idea of containerized development environment in upstream the project.

    4 votes