Trump's social network (Truth Social) is now open source due to pressure from the maintainers of Mastodon.
I have now mirrored the code on Codeberg and GitHub to keep track of changes, ease public examination, and ensure a copy stays public.
I have also generated a basic diff between Mastodon v3.4.1 and Truth Social's latest code. https://codeberg.org/TruthSocial/diffs/
you might want to use "diff -u" instead of diff by itself. the "unified" format is a bit more widely used
@didek The default configuration doesn't block it, and I don't see signs of them removing it from the source code (it's unnecessary anyway). They probably have disabled it in production though, which just requires setting `LIMITED_FEDERATION_MODE` to "true".
Note that the only reason we can see the source code to Trump’s new social network is because Mastodon was licensed under the GNU Affero General Public License.
If it had been licensed under MIT or BSD, we couldn’t have because Trump would have enclosed it.
Choose your licenses carefully if you care about freedom.
@aral Indeed. As much as I wish copyleft wasn't necessary (it can be needlessly cumbersome), situations like these show how invaluable it can be.
@aral yeah, we wouldn't have it if they used regular GPL, either.
It just shows how important it is to chose the license wisely when making a new project.
I hope we'll have some "upgraded" version of the GPL in which we could enforce things like keeping the code publicly available instead of the often abused "have to provide when asked" clause.
The idea is to download the ZIP periodically and see if it's been updated, if so, push it to Codeberg. That way we have some way to keep track of changes. It's not perfect by any means (I wish they'd release the commit history), but it's much better than nothing.
@josias my phone can't handle showing the diff on codeberg (browser crashes), maybe github would render it better?
@powersource I'm not sure any site will show it very well. The raw file is probably your best bet: https://codeberg.org/TruthSocial/diffs/raw/branch/main/v3.4.1-to-2021-11-24.diff
@josias That seems to be "a" version. Do they have a process setup to share updated versions as they make changes in what they run or will they just fall back out of compliance again when the provided source code no longer matches?
@jxself I'm guessing they'll just fall out of compliance again. That's what Gab ended up doing after deciding to only release the compressed source rather than work in public.
Fortunately, it will be easy to remind them and for them to just put the latest code up.
Of course, this is all speculation.
(I added a link to it in the readme)
any way to find out which version they based their changes on?
Looking at the current diff, I have the feeling quite some of the changes look to be between different Mastodon versions, rather that TS's changes.
@FiXato Yes, and I mentioned that in the readme. I think the actual version is a few commits ahead of v3.4.1. I'm planning on spending the time to track it down later (PRs welcome).
@josias I really appreciate that you've spent time on this already.
I somehow doubt there will be many updates to the zip file, but if there are, maybe we'll need to do some form of automation and alerting to some 'bot' account that announces changes, so we can all be informed... maybe that's just silly extra work though.
Did you (or anyone) spot any notable differences? Like, what did they work on? Or is that hard to tell?
@keunes I haven't dug through the diff that much yet, but it mostly appears to be changes like "Toot" to "Truth" and other branding stuff.
For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).