Welcome to today’s daily kōrero!

Anyone can make the thread, first in first served. If you are here on a day and there’s no daily thread, feel free to create it!

Anyway, it’s just a chance to talk about your day, what you have planned, what you have done, etc.

So, how’s it going?

  • @NoRamyunForYou@lemmy.nz
    link
    fedilink
    2
    edit-2
    8 months ago

    If a group were to go and fork it, and start developing independent from the original devs, they would still be able to interact with Lemmy right? (unless they can block eachtother?), but if any existing communities wanted to move over, they would basically have to start again from scratch because the fork isn’t Lemmy anymore

    edit: or is every server/instance a fork?

    • @Dave@lemmy.nzOPM
      link
      fedilink
      28 months ago

      So when Facebook makes a site, they control all the code. If someone wants to make a messaging app that let’s you talk with Facebook users, they have to get hacky because Facebook controls all the code.

      Now think about email. Email is a protocol that is open, no one can stop you using it, and the code is not a secret. As a result, Microsoft may build mail servers (like Exchange, commonly used in businesses) and mail providers (like hotmail) and mail applications (like Outlook), but if someone wants to set up competing email (like Gmail), they can. What’s more, it doesn’t even matter that the code behind Hotmail and the code behind Gmail are secret, they can talk to each other using the common email language and what happens in their individual servers doesn’t matter.

      Lemmy is kind of like that, and in fact email is one of the better analogies to use when people don’t understand federation because email is federated. You can email from whatever server or set up your own and no one worries they can’t talk to each other.

      You can have Lemmy and Kbin talk to each other even though they run completely different code, all because there’s a language that they can speak to transfer data between them. Kbin or Lemmy could still do this even if not open source, for an example, Facebook’s new Twitter rival Threads has recently started federating in a limited capacity with Mastodon, even though the Threads source code is proprietary.

      I think I went on a bit of a tangent there, but let’s get back to your question about forks.

      When lemmy releases versions, they number them. But open source code gets tricky, because anyone can copy the code at any point and make their own changes. Some people will apply small changes to the code but keep the rest the same including updates, some will copy the code then develop independant from there, and many inbetween grey areas. Basically once you make the code open source you have no control over versions.

      Most instances run the lemmy code directly from the lemmy devs, including lemmy.nz, and so this is not a fork. However, some instances will apply their changes, e.g. the lemmynsfw instance has small code changes they apply to support their aims (for example, age check prompt). Is this a fork? I don’t know if there’s an official answer to this but I would call this a “patch”, a small bit of extra code they apply on top of the lemmy code, rather than copying and then developing separately.

      I’m not aware of any lemmy alternatives that I would consider a fork of lemmy, but also understand that under “git”, a source control system that gives its name to github, if you want to volunteer code to lemmy the traditional way is to “fork” the code, change the code to build your new feature, then do a “pull request” - basically asking the devs to pull your code into the lemmy code. While the term “fork” is used here, generally when people are talking about a project being forked they don’t mean forking it to contribute, though the process starts much the same.

      The closest lemmy relative is probably sublinks, which aims to be lemmy API comparable (the API is how the website you view, or the app you use, talks to the lemmy server - in lemmy the website part is completely separate from the server part and apps don’t touch the website at all).

      However, Sublinks is rewriting the lemmy server in a different programming language, so isn’t really a fork as they didn’t copy the code. Their aim though is that they keep the API the same as lemmy, so that you can use lemmy apps with it (and in fact currently use the lemmy website to access the Sublinks server).

      As you can probably tell, with open source stuff it gets a bit blurry because anything is possible, it doesn’t have to be contribute to the original or copy the code and do your own thing, all sorts of inbetweens are possible.

      Hopefully I answered your question in this ramble because honestly I’m not sure that I did 😆

      • @NoRamyunForYou@lemmy.nz
        link
        fedilink
        28 months ago

        Thank you for all that detail!

        That’s really interesting around the blurriness with Open Source Projects. I feel a heck of a lot more educated around this federation stuff now 😂

        Thank you for answering all my questions over the last couple of days - I’ll let you enjoy your long weekend now lol.