As Nextcloud advanced with progresses making it competitive in fully integrated government and corporate workflows, OpenCloud is getting more and more attention.

The fact, that both are collaborative cloud plattforms, designed to be selfhosted and mainly developed in/around Berlin from FOSS-Community-Surroundings, makes one ask about the differences.

The main difference I see, is the software stack

  • Nextcloud, as a fork of ownCloud, kept the PHP code base and is still mainly developing in PHP
  • OpenCloud, also a fork of ownCloud, did a complete rewrite in Go

Until know, Nextcloud is far more feature complete (yes I know, people complain, they should fix more bugs instead of bringing new features) than OpenCloud, if we compair it with comercial cometitors like MS Teams.

I like Nextcloud!

I deploy it for various groups, teams, associations, when ever they need something where they want to have fileshare, calendar, contacts and tasks in one place. Almost every time, when I show them the functionality of Nextcloud Groups an the sharing-possibilities, people are thrilled about it, because they didn’t expect such a feature rich tool. Although I sometimes wish it would be more performant and easier to maintain, so non-tech-people could care for their hosting themselves.

Why OpenCloud?

Now, with OpenCloud, I am asking my self, why not just contribute to the existing colab-cloud project Nextcloud. Why do your own thing?

Questions

So here I expect the Go as a somewhat game-changer (?). As you may have noticed, that I am not a developer or programmer, so maybe there are obvious advantages of that.

  • Will OpenCloud, at some point, outreach Nextclouds feature completeness and performance, thanks to a more modern approach with Go?
  • Will Nextcloud with their huge php stack run into problems in the future, because they cant compete with more modern architectures?
  • If you would have to deploy a selfhosted cloud environment for a ~500 people organization lasting long term: Would you stick to the goo old working php stack or see possible advantages in the future of the OpenCloud approach?

Thanks :)

  • superkret@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 days ago

    I have no experience with Opencloud, but Nextcloud is borderline unmaintainable in my opinion. I welcome any new player in this space.

    • themadcodger@kbin.earth
      link
      fedilink
      arrow-up
      0
      ·
      10 days ago

      Yeah, I love NC but boy is it a pain. If there were a similar but less bulky, less clunky option that wasn’t a pain to maintain, I’d be all over that.

      • null_dot@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 days ago

        I wish there was something that just did file sync.

        I know there’s syncthing but that’s not ideal for large repositories with many users and many files.

        • themadcodger@kbin.earth
          link
          fedilink
          arrow-up
          1
          ·
          8 days ago

          Yeah, I’m more or less just using NC for a cloud storage with WebDAV. I don’t really need all the other bits. So if NC were modular in that you could install or not the core pieces, that would be great.

  • kingthrillgore@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 days ago

    Question for the OP or anyone who uses OpenCloud: How does it size up in an enterprise? NextCloud has known capacity for corporate use with SSO, a desktop app, integrations…but it has all the pitfalls of PHP (granted I run it with Nginx/FastCGI and a lot of resources). The thing is, anything not PHP can be run for less overhead in terms of actual cloud costs, so I see a benefit to OpenCloud. But the features have to be there. I know a desktop app is coming soon, and thats just one of many needs.

    • dengtav@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 days ago

      +1 that question, I’ve also never installed/used OpenCloud, simply because I didn’t see the benefit of it until now.

      Based on the comments given so far, I have some hope that over time, the Go-approach could give us a more resource saving, but feature full alternative to tangle with, so I will stay tuned :)

      For now I will stick to Nextcloud, because it gives me all the features I need and the maintanance, at least for the couple-hundred-user-instances I maintain, is not that bad, as I often read around the web :) But I also can understand, that people wish to have less maintenance struggles and therefor try sth else, wich is good for me, so I can hope for more experience reports in the near future :p

  • Something Burger 🍔@jlai.lu
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 days ago

    Nextcloud’s biggest issue is performance, and PHP, while not a problem per se, doesn’t help. PHP is not designed for huge applications that need to have processes running in the background; it only runs when a request is made then stops the process, therefore it needs to load itself from scratch on every single page load.

    This is because PHP uses something called CGI; the webserver (usually nginx or Apache) calls an external PHP binary to generate a page. With Go (or pretty much any other language), the app is its own server and can keep data in memory and do stuff even when no request is coming.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        10 days ago

        The scaling, in particular, is a huge benefit of PHP over practically every other technology out there: to double the performance of a PHP server, you can simply have twice as many cores and things will work without any changes needed. Not only is the scaling you get pretty much 100%, unlike other languages, this scaling continues beyond a single server!

        There is so much wrong with this that it’s difficult to know where to start…

        • Justin@lemmy.jlh.name
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          10 days ago

          PHP does actually scale better than something like Lemmy which is written in rust

          But sure, you can act like you know more than the Nextcloud devs

          • atzanteol@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            10 days ago

            PHP does actually scale better than something like Lemmy which is written in rust

            Okay - How then?

            But sure, you can act like you know more than the Nextcloud devs

            I’m a web developer too - so I feel rather qualified to speak on the subject. I don’t think the Nextcloud developers are some sort of genius team of engineers but I’m not saying they’re stupid or anything - just that PHP does not scale better than “practically every other technology out there”.

            It forks or creates a thread per request. It’s horizontal scaling which is pretty common with any webapp. I don’t know why they claim PHP is special here. It’s a very common way to handle requests and you can do that with lots of languages and frameworks. More CPUs = more threads = more scaling. Throw more servers into the mix and you’re now “infinitely scaling” right? Well… No. Because I/O.

            Webapps tend to be I/O bound rather than CPU bound. So asynchronous I/O leads to much better performance generally with fewer resources. Because no matter how many threads and servers you put in the app tier you’re going to be limited by the disks on your database at some point.

  • Phoenixz@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 days ago

    So really your only reason for possibly not liking next cloud is that it’s PHP, correct?

    What is the problem with PHP? I keep asking it and until now every response has been near me worthy. “Don’t like PHP because some function calls are not consistent.”, “don’t like PHP because 20 years ago it had Manu unsafe practices!”, that sort of nonsense.

    What is the problem with PHP, for you?

  • dogs0n@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 days ago

    NextCloud being so slow forced me to migrate to Seafile.

    Seafile being less one-stop-shoppy made me not use it so much, but whenever I do it is always fast and responsive (unlike nextcloud, where 80% of the time I was looking at the loading indicator). Looking it up now though, it looks like it has a lot of new features I haven’t yet tried so I’m probably gonna start using it more now.

    Only downside with Seafile is it’s deduplication (for me), because it stops me from easily accessing files directly (always gotta use a client). Likely a benefit for most though and I do rarely need to access a file directly on disk, just when I do, it’d be an easy shortcut for whatever I’m doing.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      Check out the POSIX driver in OCIS/OpenCloud. It should keep the responsiveness of Seafile, while having a sane disk format.

      Or you can try out the Seafile FUSE layer.

      I’m in a similar boat, and I’ve been testing out Seafile and ownCloud OCIS, and I think I prefer OCIS. I’ll probably switch to OpenCloud though, since it seems a lot of the OCIS devs went there due to issues w/ management.

      Some things I didn’t like about Seafile:

      • complicated to set up - I wanted to throw it in a container, and that made it a lot more complex
      • weird codebase - a lot of it’s in C, and some is in Go - not sure if they’re switching to Go eventually, or if it’s a one-off thing
      • they only support MariaDB/MySQL, and I really want to avoid that - OCIS lets me just use the filesystem, which is really nice

      But hey, if it works, it works, so don’t mess w/ it.

      • dogs0n@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 days ago

        Thanks for your reply, I will definitely keep that in mind if Seafile fails to meet any critera moving on, but yeah your last point is also right, it would probably be a big pain to migrate out at this point with all my data for multiple users here.

        It seems a lot has been modernising recently, I didn’t know they were also using Go, but hopefully they continue with it for new code.

  • Clearwater@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    10 days ago

    Nextcloud is more featureful (more apps like notes and hardware 2fa support). That is currently holding me to NC.

    OpenCloud (fork of OCIS not original OC) is very similar when it comes to core functionality, but is missing those few apps I do not want to let go of.

    Also note that nextcloud stores files in a very natural manner, where your file names and directories are stored the exact same on disk as on the interface. Opencloud does not do that. This is particularly handy if one day the app just explodes and refuses to run. With NC, you can just copy the files off the disk. Not so easy with OC.

    • HandwavyHeisenberg@feddit.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 days ago

      Yes OCIS (owncloud infinity scale, a complete rewrite of the owncloud project) has a convoluted file structure and I guess OpenCloud has the same way of storing files.

      This is the main drawback I see as well, but it isn’t a deal breaker for me. The way they handle the files allows OCIS and friends to work without a DB, in a stateless way I guess? This means that the entire setup is fully deterministically defined from a single file. This makes rollback very easy. So my rationale is that the files remain accessible even if a particular version decides to implode.

    • BakedCatboy@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 days ago

      What are the apps that you would miss? I basically only use my NC as a Google drive and docs replacement, so all it has to do is store docx files and let me edit them on desktop or mobile without being glitchy and I’ve really wanted to consider OCIS or similar.

      That second requirement for me seems hard because of how complex office suites are, but NC is driving me to my wit’s end with how slow and error prone it is, and how glitchy the NC office UI is (like glitches when selecting text or randomly scrolling you to the beginning).

      • Clearwater@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 days ago

        While I do not make heavy use of these two, I like having my contacts and calendar synced and accessible on both my PCs and phone.

        I actually use the notes app, and have a yubikey. For notes, I could just use the regular markdown editor, but I like way the app lays everything out. For the yubikey, NC by default uses yubikeys for passwordless login. I use an app which uses them for 2FA instead. I also use apps which allow me to view hashes and metadata from the files tab.

        All that makes me not want to switch yet. We’ll get there eventually since none of the features I want are ultra complex or super uncommon.

        OCIS, last I tested it (a while ago), also lacked the ability to right click files, requiring you to select it with the checkbox and then select the operation at the top of the screen. I sure hope that they’ve added that feature by now.

        • BakedCatboy@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 days ago

          Gotcha thanks for the info! It looks like I would be fine with ocis or opencloud, but since my main use case and pain points are with document editing which is collabora, it probably wouldn’t change much besides simplifying the docker setup (I had to make a gross pile of nginx config stuff pieced together from many forum help posts to get the nextcloud fpm container to work smoothly). But it already works so unless it breaks there’s little incentive for me to change.