Starting a community-maintained Tildes source code fork
It's happening: We're launching a community-maintained Tildes source code fork!
Link: https://gitlab.com/tildes-community/tildes-cf
@Bauke, as one of the top Tildes open source contributors, is on board as a co-maintainer, alongside myself. I hear @cfabbro is willing to help manage the issue tracker as well, continuing their long term efforts from the official repo.
Tildes' admin, @Deimos, has direct access to the repository as well. Although he is not expected to take an active role in maintaining this community fork, he will have visibility into everything going on with the fork.
Why?
Deimos has a lot going on outside of Tildes. We want to keep the Tildes codebase well maintained and remove some burden from him.
Back when he founded Tildes, Deimos was working as a fulltime unpaid volunteer on it, continuing that way for a few years. Not just code, but on everything administrative and financial; public relations, as in communicating officially inside the community and beyond; moderating the community; system administering the systems. Basically a ridiculous amount of effort for one person.
Now Tildes is a side project, and he has a day job, and there is not physically enough time for a (human, non-drug-reliant) owner to do all those things.
How will this new fork affect the Tildes website?
The hope is that Tildes can merge relevant changes back into the official upstream repository. If we implement things useful and desirable for Tildes, it should be possible to get those improvements onto the website.
Why not just add maintainers to the official repository?
There are some features that may be desirable for the community, but not relevant to Tildes itself. This includes things like a Docker development environment, which code contributors may find convenient, but are an extra maintenance burden on the official Tildes repo, as Tildes does not use Docker in any way (AFAIK).
Adding us to the official repository would also create a different dynamic, where there'd be an implicit endorsement by Deimos of all changes. This means the burden would essentially remain on the Tildes administrator to review, critique, and greenlight every single change. However, the entire point of this endeavor is that there isn't free bandwidth for that.
Also this fork opens up possibilities like making the code reusable for self-hosting entirely new websites based on the Tildes source code. While I don't personally have any specific plans regarding such, self-hosting has been a repeated request ever since Deimos open sourced Tildes years ago.
Is "Tildes Community Fork" good enough of a name?
Thanks for reading this far! The fork needs a name. It will live in the "Tildes Community" GitLab group at https://gitlab.com/tildes-community/.
For now I've simply called it "Tildes Community Fork" and put it at https://gitlab.com/tildes-community/tildes-cf.
Any better naming ideas? It's not too late to change.
Next steps: We'll start migrating GitLab issues over
I think we're ready to start copying any "low-hanging fruit" issues from the official issues to the new community fork issues. If you have an issue you think qualifies as such, especially if it was ever labeled as "Approved" in the past, please feel free to copy it to the new issue tracker. Please link back to the original too.
It's still a side project for us
Please keep in mind it's still a side project for us. Although we're excited to push the project forward, please keep expectations in check. We're doing this as volunteers. Please be polite and don't rush us!
This sounds like a good idea! Eager to see what becomes of it.
Has Deimos indicated this is something he will facilitate, or is it just a hopeful wish at this time? I like the idea of a constellation of sites running their own Tildes instances, but I’m mainly concerned about the ongoing development of this site.
I'd say it's a hopeful wish for now. Deimos seems generally cautious in committing to unclear things IMO. But he also hasn't outright rejected the idea of the fork. We end up with a chicken-and-egg situation, because how can he positively commit to something when it's unclear what it looks like, and how committed we are to maintaining it?
So I decided screw it, let's just do the fork, prove the quality as best we can (such as a live staging server, getting more eyes on the codebase, etc.). After it's proven, it's much easier for him to commit to pulling changes from it. Worst case, he doesn't want it, and well, it just remains a fork. Individual commits can still be resubmitted to the official repo, and it's all open source and AGPL, so it's available and up-for-grabs if he wants.
I share the same questions. I'm legitimately interested in contributing to development if there's a convenient docker set-up, but I'd like to be able to immediately give back to this site with features I've wanted to see implemented.
How will the forked repo be used and how will changes be merged back with the main site? Is adding these new development tools to the main repo that much of a hosting or maintainence burden?
A while back I had considered contributing some things, but the development environment setup was just big enough a hurdle that it prevented me from using what free time I had to contribute. If this process gets
easiermore familiar with some docker infrastructure, I might have some bandwidth to contribute!The bigger hurdle was that it seemed like the repository was stagnant, and no contributions would be accepted anyway. That feeling isn't really gone here, and after spending more time on the site I'm not sure I really want it to be. There are indeed positives to moving slowly, but I worry the big negative is that it makes contributions feel uninvited. Things appear too stationary at the moment - but that doesn't mean things ought to move too quickly instead.
We'll see. You are probably right that there's this chicken-and-egg thing, and the only way to begin is by beginning.
As for names: Backticks. Being the other, unshifted, symbol on that key, at least in ANSI layouts. Like a sort of lower-cased tilde in some way. It's not The Tildes repo, but a tildes repo.
An alternative would be Graves but that seems... grim.
Edit: I see now that @balooga has already suggested Backticks. Oops! Great minds think alike, I suppose; I endorse their suggestion!
An idea for the name: going with visual symbolism, specifically regarding the tilde symbol itself. Starting from the premise that one of the possible aims is to make Tildes' codebase reusable, we could end up with a loose network of communities sharing this common base, expanding like a wave in water, if you will. Hence my name suggestion: Tildes Wave.
I like that. Just throwing some things at the wall because Tildes Wave is good.
Wave ~ a Tildes fork.
Wavey.
Billow.
Surf.
About.
Titulus. If you want to be literal.
Approximately Tildes.
Backticks. It’s a bit of a shift away from Tildes.
Backtick is good (and I like your addition "a shift away") but is an overloaded term; there is/was an under-development Tildes iPhone app named Backtick.
Ripple
I like approximately tildes, not as a name really but purely because it could be stylized as ≈ to parallell ~
It's would also be a funny acknowledgement that the different groups aren't always 100% clear cut what they include.
EDIT: I guess ≈ is technically also a very very small community of tildes. Just the two of them.
I like Approximately Tildes too. It's funny.
Tildes Hydrological Cycle.
If we're going for that angle, there's also the option of calling the fork Delta, as a nod to both river deltas and the mathematical meaning of delta meaning difference
Ooh, I like that!
Edit: I just noticed my idea forms a certain acronym. I truthfully did not think of, nor notice this until just now. Humorous though.
To be honest I completely missed it too... otherwise I'd definitely have jumped on that to suggest "Community Based Delta".
Squiggles
(I'm not sure if I would even like this suggestion if someone else posted it, but it's how all well-educated people name the ~ symbol in their head, right?)
Thanks for getting the ball rolling on naming ideas. Tildes Wave is pretty good; I like Wes's suggestion of Wavelet which is similar. The downside of Wave is that's under contention as the Official Name for a Tildes User so it might get confusing.
(Just an in-joke from early Tildes. There's like one person on the site who thinks Tildefarians should be called Waves instead.)
In French, (one of) the word for waves is “ondes”. That lends itself well for a very nice portmanteau: « tildondes »
I've been sitting on two custom themes for months now, planning to make a pull request for them. They're just themes, nothing complicated. I guess now I should open a pull request for them on the community repo instead of the main repo?
Good question. We'd be happy to look at the pull request on the community fork.
The official repo might be appropriate for urgent pull requests (security etc.) or very simple pull requests that are of obvious value to Tildes.net. Especially if someone has been in contact with Deimos and he's agreed to review the specific request. Otherwise, like in this case with themes, I'd probably just submit to the community fork.
We have yet to figure out the exact mechanism where changes will be backported upstream. Maybe it'll involve a staging server where the changes can be easily viewed live. We'll need some time to set that up as well.
This makes a lot of sense, and I'm excited by the prospect of tildes.net receiving updates again. I know we have a lot of developers here who would be willing to contribute, if upstreaming ends up being workable.
As for the name, are there any trademark concerns about using the name "Tildes"? Just spitballing, but the name "Wavelet" feels nice. It matches the tildes and spectrum naming, and by definition is something that begins at one point, fluctuates (makes changes), then returns to its starting point. Sort of like a fork you hope to upstream.
Nice, among the suggestions so far I'm partial to "Wavelet" based on your reasoning of it. It's like Wave but with a science twist. Definitely not going to help with the site's STEM reputation, but it's a source code repo so that's fine.
Silly question from someone not as tech savvy as everyone else - how will this effect me as a user, and specifically a user of Three Cheers for Tildes? I know talklittle is the creator of TCFT so I would assume things would work out?
No effect. More detailed thoughts in the next paragraphs.
Note, I am not presently associated with this project, just my interpretation from reading this post.
As someone who likes to think of themselves as tech savvy / works as a software engineer - this doesn’t appear to be anything that will affect you, a normal user of tildes (via the app or otherwise) in any way shape or form…except that Tildes may get slightly more frequent updates, if things are contributed to this fork that Deimos likes and wants to pull over to Tildes.
This isn’t something for “users” of Tildes, just something for those who may want to contribute code/features to Tildes. (It may result in spin-offs of Tildes at a later date, as it will make it easier to run a Tildes-like website, but this project doesn’t appear to have that as a primary goal).
So, will that be an actual website people can use? Or just a codebase that would allow anyone to deploy Tildes? Sorry for the stupid question, I'm not a developer.
If this is an actual website, I would suggest keeping it in line with the minimal design philosophy of Tildes. Beehaw is not a Tildes fork but it was made by people who used to be on Tildes. I think they're lovely people but the website is kind of a mess. So I would suggest avoiding that.
I think it's okay to call this "The Tildes Community Fork", or "The Tildes Fork", or "The Fork". Tildes is very literal so it makes sense for the fork to be literal as well.
Someone already answered but just to confirm, the main point is to get changes back to the main Tildes website. There is no plan to create a new website.
However, this restructuring of code might make it easier in the future for new websites to be made, because having a separate codebase means we're not limited to features that solely work on Tildes.net. Again, it's not a top priority though.
They're taking the existing code of Tildes and making it easier to run another copy of it. It doesn't sound like they intend to replace tildes.net.
can we call it GILDES?
Okay I'll bite: Why GILDES?
its an older spelling of 'guild' and rhymes... nothing else to it. If I were actually picking a name, I'd just call it Tildes-CF like you did.
As someone currently in the middle of migrating our internal company Python codebase to the Future™ with the Astral toolset (
ruff
,rye
, anduv
) on top of containerizing everything for GKE, all I can say is best of luck with the fork. I'm more suited to YAML engineering Kubernetes than digging in with Pyramid.I'll pop in with some PRs when free.
Interesting, but I don't see much changing here. Instead of slow updates with requests being slow to worm on, we'll at best now have a huge backlog of PR's to not get approved to begin with. Since part of the goal is to "not be officially ordained by Deimos", that'll inevitably slow down any potential development as an official maintainer (who may or may not be Deimos) will debate over various designs and philosophies.
Ofc the worst case is another dead/stale fork. A fork that may have had more leeway if they had official contribution on the main fork.
Nevertheless, I wish you the best of luck. It would be nice to have some larger update posts than that of recent years.
Ya know, I think this is ridiculous and unnecessary. My entire career as a DevOps nerd has taught me containers are a FAD. Not one of my worst devs uses the containers I write for running their apps on servers or k8s. They keep using the local builds without even so much as a version manager.
Containers are a FAD. You don't need one for the tildes development environment. Stop being such a bandwagoneer!
/s
Containerizing the development environment is merely a stepping stone. The end goal is for each Tildes user to be represented as a Docker container. Reading and posting to a topic requires mounting the topic's volume first. All access to Tildes will be via a mesh network of containers. You can host your container on your own PC or have a friend host yours for you. We'll also offer a hosted option for a monthly fee. /s
This disrupts my workflow.
You had me going for a second there, I'm glad I skipped to see the
/s
at the end before I started to lose it.