1. 4

    A few things.

    Demand side:

    • People don’t want to use something they never heard about
    • People don’t care about ‘open standards’ in the abstract. If you tell them ‘use this because it’s open’, they won’t be swayed much.
    • People generally want to stay were everybody they know already is
    • Networks like the fediverse are much more complicated than Facebook / Twitter / Instagram.

    Supply side:

    • There’s no ‘single server’ to sign up. If I tell you to make a fediverse account, how would you find out how to do it?
    • Any attempt to help with this by ‘centralising’ some parts (like joinmastodon.org) is met with huge resistance
    • Simplifying things is often seen as ‘dumbing down’, so it won’t be done
    • Free software projects don’t have ‘product mindset’. They give you the parts, but there’s no coherent product. This leads to flexible but complicated systems with many parts that don’t seem related to each other.
    • The focus is on features and technological or ideological goals, not on UI/UX, PR or market share.
    1. 8

      As far as I can tell, twitter hasn’t reached out to anyone involved in the fediverse. Can’t say about diaspora.

      1. 10

        I think the worst thing to do is putting something like that in the spotlight. It seems like it would have just died out as the old generations die out. Now there’s unnecessarily going to be people forming camps about this.

        1. 4

          I think that might be the point. Nobody really uses the lena picture anymore.

          1. 2

            In image compression circles it is an incredibly common image, as if it was some kind of standard. Like the PSNR metric, it probably shouldn’t be used any more.

        1. 4

          The biggest problem that ruby has is Elixir.

              1. 3

                I am consistently impressed by sr.ht, and look forward to renewing.

                1. 5

                  I like SourceHut. Until I started seeing sourcehut.org instead of sr.ht, I thought the service was called “Sir Hat,” that I thought was some funny idiosyncratic programmer named thing.

                  1. 3

                    At the open alpha release[0], sr.ht is

                    pronounced “sir hat”, or any other way you want

                    [0] https://drewdevault.com/2018/11/15/sr.ht-general-availability.html

                    1. 3

                      Thanks for this post, so I’m not crazy. I have this funny experience where I swear I read something but can’t remember the source, specifically. I don’t bookmark it because it’s not significant to me at the time, but it’s in my memory (eg, first post of minecraft beta, satoshi’s bitcoin paper, etc).

                  2. 2

                    And I’m so happy that Drew makes a point about mentioning the Mercurial support in webpage footers and other descriptions of sr.ht. We had a chat yesterday in IRC about possibly hosting some of the Mercurial project’s repos officially on sr.ht.

                    I don’t know if anything will come of it (the heptapod group might be another option), but it would be good to have a new post-bitbucket home, and this seems like a fine place to move into.

                    1. 1

                      Thank you!

                  3. 10

                    https://gitea.io if self-hosting

                    1. 4

                      These are only alternatives if you barely use any features of gitlab.

                      1. 2

                        Fair enough. There are also non-git forges like fossil and pijul, which may be better solutions for some folks.

                        But perhaps more to the point, the announcement says that self-hosting non-Enterprise GitLab users are unaffected by this new telemetry:

                        For Self-managed users: GitLab Core will continue to be free software with no changes. If you want to install your own instance of GitLab without the proprietary software being introduced as a result of this change, GitLab Community Edition (CE) remains a great option.

                        … and I suppose one could always fork GitLab Core. But if you don’t want to self-host, and you don’t want to pay for a service, you generally don’t have a lot of leverage over the business decisions made by those providing your free services.

                    1. 7

                      with 3.0 comes the ability to bring your followers with you like magic! Point the old account to the new one, and the new one to the old one, using the new interface, and your followers will be transferred over!

                      If I understand correctly, though, your posts are not moved over, which is a huge bummer.

                      1. 7

                        Well, at least your followers come with you. When I instancehop, I feel like I have to start at the bottom because only some follow me again.

                        You can also just say something like formerly @connor@... in the description and people will see your older posts.

                        1. 4

                          Sadly, this only works if your followers are also on Mastodon 3.0 servers. So if you actually use this now, don’t expect a lot of followers to follow along…

                          1. 3

                            It’s been possible to dump and reload your posts for a while now IIRC. It’d be nice to have it automatic, but I’d much rather have this (a feature for which there is no alternative) than wait around for it to be perfect.

                          1. 11

                            Really nice new frontend, but I might be biased.

                            1. 2

                              why biased? nvm, just looked at your posting history

                            1. 7

                              Score one more for OTP. It’s such an amazing platform. I’m happy it gets more attention now that Jose Valim dressed it up in a cute dress and called it Elixir.

                              1. 6

                                Looking back at the challenges telcos had back in the 80s-90s with more software coming into their hardware platforms, Ericsson made gutsy and insightful decision that still pay off today. Understanding that immuatibility was the easiest way to do (distributed) concurrency and applying it pervasively to a new language was a strike of genius.

                              1. 1

                                https://framagit.org/framasoft/mobilizon

                                Note: Most federation code comes from Pleroma

                                So, ActivityPub.

                                They use this: https://github.com/smpallen99/coherence

                                I don’t really know my way around the Elixir ecosystem, but some of you other crustaceans do. Is Mobilizon quality work?

                                1. 3

                                  Pleroma is very high quality work, just tremendous.

                                  Also we will implement Events as well, though it is not our main focus.

                                  1. 2

                                    If it uses Pleroma as a backbone it’s likely fine. Pleroma seemed pretty okay, maybe lacking in the user interface.

                                  1. 8

                                    The most popular tools for high load dev:

                                    • C++
                                    • .NET
                                    • Java
                                    • Go
                                    • …. a thousand other things
                                    • Elixir?

                                    I use Go for everything, but I do realize that its by no means the most popular tool. Whats up with these Elixir fan clubs?

                                    1. 6

                                      Whats up with these Elixir fan clubs?

                                      It’s a genuinely decent language which is suited for web development and which has easy performance gains for devs used to Ruby or Python.

                                      That said, the spread of it I believe is up concerted marketing efforts and (well-meaning) misinformation.

                                      A lot of folks get to do “Proof By BEAM” when asked about their technology choice, saying something about WhatsApp and the BEAM and Erlang and waving hands while riding the coattails of a few golden and/or mysterious projects.

                                      1. 5

                                        Elixir is a natural choice for existing Ruby developers/shops.

                                        You get a huge performance bump, even with naive solutions. The syntax is really close to Ruby and so is an easy switch in that respect. Phoenix is a great framework.

                                        If you go beyond that there’s lots of battle-tested gravy in the BEAM VM and OTP.

                                        1. 4

                                          Mainly, it made the BEAM/OTP visible for a lot more people than Erlang ever did.

                                        1. 7

                                          For everyone (as long as keybase accepts you, which they won’t do for small instances and anything sexual).

                                          Mastodon (and Pleroma) already supports the rel=me mechanism, which can be used for similar identity proofs.

                                          1. 2

                                            as long as keybase accepts you, which they won’t do for small instances and anything sexual

                                            I don’t see “anything sexual” mentioned anywhere in that post?

                                            1. 4

                                              I think they mean the response given on HN that’d suggest sites related to sex won’t be accepted.

                                              1. 2

                                                “pr0n” is not the same as “anything sexual”, and “we don’t want 10k pr0n sites” is not the same as “we won’t accept anything sexual”.

                                                1. 1

                                                  Well, I don’t know what they think are ‘pr0n’ sites or not, so maybe they’ll be lenient, but I don’t know why they restrict it at all except for brand purposes.

                                                  1. 1

                                                    My impression is – which could of course be wrong – that they would rather have 300 useful/common sites, than have 10 000 small/uncommon sites.

                                                    1. 3

                                                      Yeah, I can see why they would want that, but it’s not something I want or see as a feature.

                                            2. 2

                                              rel=me was discussed in the PR adding Keybase support. I’m not entirely convinced by Keybase people’s reasoning but that’s the context.

                                              Some more context - Keybase started donating to Mastodon project before the integration was merged. Source

                                              (By the way are you the same lain of Pleroma? I like the project, so thank you for your hard work in it 👍).

                                              1. 2
                                            1. 3

                                              Sorry fam, but the plural of status is statūs and not stati :)

                                              edit after actually reading through: tedu discovers what everybody involved with the the fediverse already knows. Overall nice write up about the state of the ‘standard’. Good thing that everybody ignores it.

                                              1. 2

                                                At least you recognized it’s bad Latin, not fake Latin. :)

                                              1. 4

                                                This article seems to equate “Free Software” with copyleft, which is just silly on the face.

                                                All permissively-licensed software is Free Software. No one disputes that. Some people like using copyleft as a strategy in some cases, but the FSF advocates using Apache 2.0 for some software.

                                                1. 20

                                                  Free Software” as a capitalised term was invented specifically to distinguish it from other permissively-licensed software that is perhaps free, but does not aim to preserve freedom.

                                                  1. 1

                                                    Even according to your link, BSD/Apache/MIT licenses software is ‘Free Software’. On https://www.gnu.org/philosophy/categories.html there’s even an image.

                                                  2. 6

                                                    No, permissively-licensed software is missing the point of Free Software. Not by accident — the previous post in this series explains exactly why Open Source concept was created as a reaction against Free Software’s copyleft.

                                                    1. 3

                                                      It is not worth the trouble to use copyleft for most small programs.

                                                      and also

                                                      Some libraries implement free standards that are competing against restricted standards, such as Ogg Vorbis (which competes against MP3 audio) and WebM (which competes against MPEG-4 video). For these projects, widespread use of the code is vital for advancing the cause of free software, and does more good than a copyleft on the project’s code would do.

                                                      Both from: https://www.gnu.org/licenses/license-recommendations.en.html

                                                      Lax permissive (“pushover”) licenses have existed much longer than the “open source” terminology. Open source terminology misses the point on freedom and the open source movement promotes a different (and sometimes conflicting) set of values from the software freedom movement, but that doesn’t make permissively-licensed software any less free software.

                                                      Copyleft is a strategy that can be useful in securing software freedom, but it is a not an end to itself nor is it essential for something to be free.

                                                  1. 4

                                                    I am getting really bad keystroke latency on testing.pleroma.lol.

                                                    Could you please use a protocol that doesn’t require the server to echo every individual keystroke? It seems to kind of defeat the purpose of having a “lightweight” frontend when you’re placing a bunch of critical interaction paths on the network like that. Maybe an HTML interface that works in Lynx (the Pleroma one doesn’t, and neither does the Mastodon one)? Or maybe NNTP?

                                                    1. 6

                                                      This is on purpose to recreate the feeling of using a BBS over a 300 baud connection.

                                                      1. 4

                                                        Or mosh? I haven’t looked at it, but you might not even need to change the code.

                                                        1. 1

                                                          Yeah mosh is transparent (outside of needing it to be on the server as well).

                                                          1. 1

                                                            I’m not so sure. The mosh client has to log you in via ssh and invoke the mosh server, then the mosh server daemonizes itself, the SSH connection is closed, and the remaining protocol runs entirely separate from SSH. The Pleroma BBS cannot allow you to run arbitrary commands on the server, so I’m worried that allowing the standard Mosh implementation to be used would open up vulnerabilities (the alternative would be to implement SSP in Erlang, but that’s far from “transparent”).

                                                          2. 3

                                                            If you want an HTML interface to Pleroma that works in Lynx, give brutaldon a try. I originally wrote it for Mastodon, but I’ve tested it against Pleroma.

                                                            1. 1

                                                              rlwrap ssh testing.pleroma.lol <- this will run readline locally so you can edit your input on your machine and only send it off to the server when you’ve finished the entire line.

                                                              1. 1

                                                                Be an interesting exercise to build a frontend that worked in Lynx given the OAuth requirements. You’d have to do the auth dance in a backend which somewhat ruins the whole point…

                                                                1. 1

                                                                  Our OAuth is handled by the backend

                                                                  1. 1

                                                                    you’ll still need to send the token with every quest, though, i don’t think lynx could do that. We could put it in a cookie, but that would kind of defeat the purpose.

                                                              1. 4

                                                                Serious question: is this april fools joke? (I hope not, since this would be cool)

                                                                1. 1

                                                                  I think they add silly things on April 1st but they are real things

                                                                  1. 1

                                                                    No, it’s real.

                                                                  1. 2

                                                                    Most of these kinds of articles (and this one as well) are simply showing cases where someone made the wrong decision at some time. Sure, you shouldn’t use a complicated, generalized approach instead of a simple one when you don’t need it. But if you know (or at least expect) the flexibility to be needed very soon, it can be worthwhile to use the flexible approach immediately.

                                                                    Of course, maybe you were wrong, or maybe management said ‘we really need this for client X’ and then two weeks later client X disappeared. And then a year later some colleague sees your code and starts lecturing you about how you don’t understand the cost of complexity…

                                                                    It reminds me of the ‘premature optimization is bad’ meme. Of course it is! That’s encoded in the word ‘premature’! The hard part in software architecture is to make the right trade offs, and rules like ‘just make it simple’ or ‘never optimize until your system breaks’ won’t help with that.

                                                                    1. 1

                                                                      I have to disagree. Of course there are trade-offs, and of course when you need to encode business rules you will find more complexity.

                                                                      The point is to avoid complexity or being overly clever until you need it.

                                                                    1. 2

                                                                      You could have just used the Gopher interface that Pleroma comes with :p

                                                                      1. 2

                                                                        If Pieroma were easier to install and maintain I think it would silence a lot of people’s issues with the fediverse.

                                                                        it’s far smaller and lighter weight than Mastodon, and has the option to switch out to a lighter weight front end as well.

                                                                        However I felt like I had to be an Elixir hacker to get it running which I’m not :) (I have a grasp of Ruby and Python :)

                                                                        1. 1

                                                                          I think you greatly overestimate the complexity of running Pleroma. With the releases we have now installing is just following the instructions (which are just: install elixir, install postgres, run the configuration tool), updating will be the same (all recent updates didn’t need any instructions beyond ‘download the new release and restart’).

                                                                          1. 1

                                                                            My information on running Pleroma is … at this point maybe 6 months stale? After my instance imploded I thought about trying to switch but the install process at that time was a bit too daunting / unclear.

                                                                            Glad some work and thought has been put into it! Maybe at some point in the future I’ll have the time to try again :)

                                                                            1. 1

                                                                              We were always kind of a ‘code first’ project and missed a lot of opportunities to promote and write good documentation and things. We’re working on it :)

                                                                              1. 1

                                                                                Oh believe me there was NO judgement inherent there (though I can see where it could read that way) - just stating my experience at the time.

                                                                                I think Pleroma is awesome work and I’m psyched you folks are working on the polish aspect.

                                                                        2. 2

                                                                          Oo, I like that. :)

                                                                          I ended up sticking brutaldon in front of Mastodon.

                                                                          1. 2

                                                                            I have the pleroma source checked out, too, of course, though not being familiar with it I find elixir difficult to follow.

                                                                          1. 2

                                                                            I think the fediverse is worth iterating. Not to be dismissive of this work, but I’m not really interested in a competing standard. If we think Mastodon is too heavyweight (and there’s a good case to be made that it is) then let’s come up with lighter implementations and evolve the ActivityPub protocol to be simpler and more responsive.

                                                                            1. 3

                                                                              The problem is that ActivityPub is almost too simple. It ensures people can communicate just as much as “you must use an Earth language” does. You must build on top of AP to make real apps.

                                                                              Of course Moxie has a point too: federation means you get crap implantations that don’t play nicely with others, or don’t accept capital letters where they should. Who knows, there might even be a subset of implementations that accept Unicode smart quotes. This is inherent in using federation, and the only solution is to use good implantations that somehow confirm with the bad ones.

                                                                              1. 2

                                                                                Oh this doesn’t even federate with everyone else? An imperfect solution that actually works is a lot better than one that doesn’t even work. “I federate only with myself and don’t follow standards” is as good as “I don’t federate”. If they can find a way to coordinate with other instances to improve the standards or their usage that’s great, otherwise this mostly just exists as a little hobby project.

                                                                                1. 1

                                                                                  Forgive my ignorance here, is that really federation or is it just that the ActivityPub protocol needs to be tightened up to allow for less interpretation in the implementations?

                                                                                  Maybe a reference test suite or something?

                                                                                  1. 2

                                                                                    This is essentially what litepub (https://litepub.social/litepub/) is trying to do.

                                                                                    1. 1

                                                                                      The ActivityPub protocol is extremely generic. It simple defines a vocabulary for transmitting actions and behaviors in a JSON payload, according to a very generic schema. Think of it as a small bit of window dressing over RDF. There’s also a few gaps, and some missing features that were added in later (such as with signatures), and you end up with standards hell.

                                                                                      1. 1

                                                                                        Sounds like this is what @mercer was talking about with Litepub and both Pleroma and Pixelfed currently support it based on that page.

                                                                                        This is essentially what I was advocating. Don’t throw the baby out with the bathwater. Fix it! :)

                                                                                        (Wait I’m not sure whether that analogy extends in that direction but.. You get the idea :)

                                                                                        1. 1

                                                                                          I think ActivityPub does need some major tweaks at its core, something that seems already hard to do given the traction it has gained.

                                                                                          I’d actually like to see more adoption of a lesser-known protocol, Zot ( as used by Hubzilla and Zap ). It has a slightly different take on the entire concept of sharing content, where it starts out with the idea of sharing things just with those you want to share them with, but also e.g. only allow them to share things with you if you agree to this (or, of course, accept all incoming messages). Privacy by default, basically. This, in my opinion is something where ActivityPub falls short.

                                                                                          Maybe adoption is ‘t necessary – maybe AP is flexible enough to shift to something like Zot… If so I’d definitely be interested in that.

                                                                                1. 3

                                                                                  I’d love to have an ActivityPub server that was analogous to an SMTP server: it talks to the network to receive and send messages, but the inbox and outbox are just directories in $HOME filled with files in a standard format (JSON? Some RFC2822-like encoding?) and we can write our own tools to read and write messages instead of having to do everything in a browser.

                                                                                  1. 2

                                                                                    This is not possible because activities have side effects that a server needs to handle. It’s not just ‘sending and receiving’, the AP server has to do a lot more. The closest thing you can have is AP Client-to-Server, which will give you just a stream of json in your inbox (pleroma supports this, mastodon doesn’t).

                                                                                    1. 1

                                                                                      What kinds of side effects?

                                                                                      It can’t quite be like SMTP, because an SMTP server delivers a message once then forgets about it, while (as I understand it) ActivityPub servers need to be able to answer questions about that message forever, so they need to keep a copy of it. That doesn’t seem fundamentally impossible, though — that’s what /var/lib/ is for.

                                                                                      1. 2

                                                                                        liking, repeating, following, blocking, unfollowing, joining, leaving, voting, deleting…

                                                                                    2. 1

                                                                                      check out secure scuttlebutt

                                                                                      1. 6

                                                                                        Everyone keeps beating this drum, but honestly scuttlebutt and Mastodon are apples and oranges. Mastodon is a traditional client/server based architecture. Runs great on mobile devices so can be checked/interacted with anywhere.

                                                                                        Scuttlebutt is awfully neat but is basically designed around the idea that your identity if bound to THIS physical device. So forget mobile or working behind a corporate firewall. Just not happening.

                                                                                        Does that make Scuttlebutt bad? Hell no it’s an amazing tool for what it does, but what it does it VERY different from what Mastodon does, and IMO comparing the two is misleading.

                                                                                        (I’d love to be proven wrong and taken to school on this BTW. Somebody know of tech that lets me use Scuttlebutt in a device independent fashion? e.g. start conversation on laptop, continue on mobile phone? Don’t tell me “That’s not what Scuttlebutt is/does” because you’re just making my point for me :)

                                                                                        1. 1

                                                                                          bound to THIS physical device

                                                                                          I never understood why they say this. It’s just a keypair. What happens if you try to use the same keypair on multiple devices? How and why does that not work, if that actually doesn’t work?

                                                                                          1. 3

                                                                                            What happens if you try to use the same keypair on multiple devices?

                                                                                            Sync errors, broken account state, etc.

                                                                                            (If you make a post with device 1, and another with device 2 before the post from 1 syncs onto 2, interesting problems occur.)

                                                                                            Discussion here: http://viewer.scuttlebot.io/%25q6qYcAlqig%2B3fqDxvBjaUzLyCoxG1yNUd4focPVSXhI%3D.sha256

                                                                                            1. 2

                                                                                              Oh, right, they’re doing the bLoCkChaIn hash chain thing. I wonder…

                                                                                              • why isn’t there a “git merge commit” type thing (posts with multiple parents)?
                                                                                              • what would be the downsides of not doing the hash ordering at all?
                                                                                            2. 1

                                                                                              Because as an end user that’s not made clear in the docs? Because there are no mobile apps that I can find / see? Because copying around said keypair would be a manual operation with no support in software?

                                                                                              Note I’m not saying this is a technical problem, but a usability one.

                                                                                              1. 1

                                                                                                no mobile apps

                                                                                                uh, Manyverse is probably the most well known Scuttlebutt app — the only one with professional-looking design and a little bit of marketing I think… However, it’s not very good yet. It doesn’t support channels, it only shows one feed, and if you add a pub, you’ll get everyone’s posts in one giant feed.

                                                                                                technical problem

                                                                                                It is one, turns out it’s not documented or advised for a reason (see other comment subthread)

                                                                                                1. 2

                                                                                                  To be clear, I LOVE the scuttlebutt idea. I just think it needs a lot more work and polish to be usable by a lot of people. I’ve gotten it running, played with it a bit, but have never really ‘moved in’ because the amount of time I am at:

                                                                                                  1. My personal (non work) computer and thus
                                                                                                  2. Not behind a corporate firewall and thus
                                                                                                  3. Willing to load potentially morally ambiguous content onto said machine is vanishingly small.

                                                                                                  Whereas I can browse the Fediverse from just about anywhere I happen to be with zero retained footprint.

                                                                                            3. 1

                                                                                              Well in my defense I didn’t claim that it was anything like Mastodon. They wanted a feature that was also unlike mastodon but is more like secure scuttlebutt from my understanding, so I gave them secure scuttlebutt to look at. I’m also tired so maybe what they were talking about is nothing like SSB. Wasn’t intending to liken the two.

                                                                                        1. 2

                                                                                          I started using Colemak about 4 years ago. It took me around 2 weeks to get half of my typing speed back (40 wpm). I think after a month or two I was back to full speed, but it took around 2 years before I started spelling with Colemak.

                                                                                          I’ve found that it’s really hard to avoid qwerty. I don’t use other people’s computers much, but mobile devices don’t support Colemak. Sure typing on a phone is different, but I do think having a consistent layout matters.

                                                                                          1. 1

                                                                                            android does support colemak, i’m using it on it.