Home > FOSS, KDE, Opinion, ownCloud > Eighty Percent ownCloud

Eighty Percent ownCloud

Recently the German computer magazin C’t posted an article about file sync solutions (“Unter eigener Regie”, C’t 23, 2018) with native sync clients. The article was pretty positive about the FOSS solution of… Nextcloud! I was wondering why they had not choosen ownCloud’s client as my feeling is that ownCloud is way more busy and innovative developing the desktop client for file synchronization together with community.

lines_changed

Code lines changed as of Nov. 10, 2018

That motivated me to do some investigation what the Nextcloud client actually consists of (at due date Nov. 10, 2018). I was looking into the NC desktop client git repoository grouped the numbers of commits of people that can be associated clearly to either the ownCloud- or Nextcloud project, or to “other communities” or machine commits. Since the number of commits could be misleading (maybe some commits are huge?) I did the same exercise with numbers of changed lines of code.

When looking on the changed lines, the first top six contributors to the Nextcloud desktop client are only active in the ownCloud project. Number seven is an “other community” contributor whos project the client was based on in the beginning. Number eight to eleven go to Nextcloud, with a low percentage figure.

commits

# of commits to the Nextcloud Desktop repository as of Nov. 10, 2018

As a result, far more than 80% of the changed lines of the Nextcloud client is actually work that ownClouders did (not considering the machine commits). In the past, and also today. The number would be even higher if it considered all the commits that go into the NC repo with an NC author, but are actually ownCloud patches where the original author got lost on the way by merging them through a NC branch. It looks like the Nextcloud developers were actually adding less commits to their client than all “other community” developers so far.

No wonder, it is a fork, you might think, and that is of course true. However, to my taste these numbers are not reflecting a “constructive” fork driving things forward when we talk about sync technology.

That is all fine, and I am proud that the work we do in ownCloud is actually stimulating two projects, with different focus areas nowadays. On the other hand, I would appreciate if the users of the technology would take a closer look to understand who really innovates, drives things forward and also fixes the nasty bugs in the stack. As a matter of fairness, that should be acknowledged. That is the motivation that keeps free software contributors busy and communities proud.

  1. December 23, 2018 at 15:06

    I do not understand why one should compare the absolute numbers of all commits. If I understand things correctly, and please correct me, if I don’t, Nextcloud didn’t exist before June of 2016, but the commits of the ownCloud team did, because of the fork. So comparing the cumulative numbers makes no sense to me. It would bet better to ask what is the percentage of the 2018 commits, if you want to prove your point.

    • December 24, 2018 at 15:01

      Replying to myself here: if one does as I proposed and @tizan did below, it can be seen that both clients are more or less the same and indeed the Nextcloud client seems mostly a rebranding of the upstream ownCloud client. So, it very much proves the point the Dragotin wanted to make.

  2. Aleksei Mikheev
    December 24, 2018 at 04:35

    Do you mind sharing the scripts you used, or explaining the method of attributing and counting commits in a little more detail? It feels like the logic (or math) is off somewhere, but I can’t really critisize it before I understand it well enough. Have you compared a total number of commits or only since NC have been forked off OC? Have you made any distinction between community changes originally merged to OC and NC? Do you think there changes merged back from NC to OC?

  3. tizan
    December 24, 2018 at 13:54

    Probably, the writer only counts commit after the fork. Actually, this page explaining everything: https://github.com/nextcloud/desktop/graphs/contributors?from=2016-07-17&to=2018-12-24&type=c

    Nextcloud is only merging commit from upstream

    • Tomaz Canabrava
      December 25, 2018 at 10:04

      I’m on the 3rd place on that page and I have never commited to owncloud, with more than 20k lines of code added. how’s that ‘only merging commits from upstream’ ?

  4. Adam
    December 24, 2018 at 15:06

    Did you count total commits or commits since the fork?

    It would be interesting to know the situation with the server and the android client.

  5. December 24, 2018 at 15:57

    > Nextcloud is only merging commit from upstream

    That is not true.

  6. December 24, 2018 at 16:02

    @Ingolf I think the numbers are valid but it depends what conclusions you want to draw.

    Klaas looked at the entire history. That shows who the experts in the code base are. The top 10: Klaas, Ogoffart, danimo, ckamm, guruz, Deepdiver, jturcotte, cryptomilk, rullzer.

    From the list, one (deepdiver) works still for ownCloud and one works for Nextcloud (rullzer). Ogoffart, ckamm and guruz work for Woboq, a consulting firm. Woboq has most expertise especially in the sync engine and they work with ownCloud but also with us (I’m at Nextcloud). So both Nextcloud and ownCloud have roughly similar expertise, or at least access to it through external contracting.

    Of course, we developed improvements, like our new login flow (developed by rullzer), our E2E (rullzer, tcanabrava and myself, camilasan), the Easy Signup flow (by Julias Haertl) and there has been some UI work improving the notifications, sharing dialog and activity view that I have done over the last year. We know that code best of course, but that isn’t relevant for ownCloud customers as they don’t have those features.

    Then if you want to talk about ‘innovation’, well – look at the contributions the last year. If you look at 2018:
    https://github.com/nextcloud/desktop/graphs/contributors?from=2018-01-07&to=2018-12-24&type=c

    So you see me as top contributor and then rullzer, both at Nextcloud. But as Klaas pointed out, over the last year we reviewed, cherry-picked and integrated a lot of code from Woboq and I’m not sure if that accurately shows in the statistics. The Woboq team has one FTE (40 hours/week) on the client, I believe. I also work full-time an we have of course some work from Roeland and Julius on the client. But as you can see in the activity stats over the last quarter I’ve been mostly busy with a customer project, code of which doesn’t show in the statistics (yet) but will show up later once it gets merged.

    The core expertise for the sync engine is with Woboq, which works for ownCloud but also Nextcloud. They do very cool work, specially Olivier. We at Nextcloud think the placeholder files is not a great solution (which is why we decided not to include it in our client) but it will be sufficient for some users. The deltasync by a community contributor is a great tech, I think, and we will probably take that code, the contributor has already offered to integrate it also in Nextcloud.

    We’ll release interesting things in 2019 from Nextcloud. The desktop client code is diverging and it won’t be long until we have the a similar situation as the server where both projects are going their own way.

    • dragotin
      December 25, 2018 at 14:41

      Thanks, so far for the NC marketing pitch, with _interesting things in 2019_, yes, of course. SCNR.

      On a more serious note, please, ladies and gents, let us be calm here on Christmas season. It was not my intention with this blog to show that ownCloud does muh and Nextlcoud meh, and one is better than the other. Even if I might have an opinion on that, I am not childish enough to wrap that in such a blog. And the least thing I intend is to talk disrespectful about work other developers are doing on anything, just to make that very clear.

      I just wanted to pull a few facts from a commit history here, and spinning my personal thoughts around that, not more.

      A few things remain significant for me:
      – A fork is only a good thing in rare cases, for example if it is giving a radical new direction that the original project could not be convinced of. The numbers discussed do not indicate such a reason for me.
      – So far, this fork is only weakening both projects.
      – Marketing is influencing public perception more than technology and ‘doing’. That is nothing new, I know, but again scary to see.

      I hope we can leave it with that.

    • February 8, 2019 at 14:39

      Woboq is paid by ownCloud to work on the ownCloud client. And although we sometimes give some some minimal help to Nextcloud, all of our client work is targeted at the ownCloud client. Claiming that Nextcloud has similar expertise is a bit far fetched. Sure Nextcloud can merge the ownCloud commits, but this is going to be more and more difficult as the fork diverges.
      One just can look at the amount of open and closed bug in each client bug tracker to see who is doing better.

  7. December 24, 2018 at 16:03

    > my feeling is that ownCloud is way more busy and innovative developing the desktop client for file synchronization together with community.

    My feeling is that ownCloud is the worst ex-boyfriend anyone could have. Typical abusive relationship: gas lighting you and making everyone think that you were the bitch. That is the conclusion I am drawing from this blog post.

    • dragotin
      December 25, 2018 at 14:44

      Sorry, I do not get how this constructively adds to this discussion.

      Camila, let me know if you want me to remove this comment.

  8. Jeff hykin
    December 25, 2018 at 05:31

    I’m a NextCloud user and fan, and I want to say thank you for all of the work put into ownCloud. 👏👏👏 Regardless of the commit percentage, I think it’s pretty clear recognition is deserved. Their is an incredible amount of work put into ownCloud and, in turn, it adds to the features/quality of NextCloud.

    I hope this can be seen in the way of giving more credit to ownCloud without diminishing the importance of the contributions made by NextCloud. Acknowledgement is free, easy, and rarely asked for, and even more rarely asked for with straightforward statistics. FOSS is a team effort. When awesome code is written, acknowledgement is deserved.

  9. Rainer Dorsch
    December 26, 2018 at 22:03

    I was using owncloud on Debian, but was unhappy the way they handled Linux distros, which included owncloud, see e.g.

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816376

    Debian removed owncloud from the distro.

    The FOSDEM presentation from Frank

    https://archive.fosdem.org/2018/schedule/event/nextcloud/

    reveals some background.

    In the meantime, I am a happy nextcloud user. Although there is an intent to package (ITP)

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=847613

    for Nextcloud in Debian (I am more interested in the server side than the client side). I hope this eventually succeeds, since that would be a big step forward over the manual update via the web interface….

    Many thanks to everybody who contributed to owncloud and nextcloud.

    Rainer

    • dragotin
      December 26, 2018 at 22:43

      You are cooking up a very old story here which is also pretty unrelated. oC was removed from Debian because Frank and Lukas pushed for that when they were both still with ownCloud. Their reason was that it is not acceptable that Debian ships packages of outdated ownCloud versions, given the long release cycle of Debian.

  10. Lukas
    December 27, 2018 at 09:44

    > Their reason was that it is not acceptable that Debian ships packages of outdated ownCloud versions, given the long release cycle of Debian.

    I had no problem with them shipping outdated versions per se. 🙂

    The problem was, that the end result was insecure server versions shipped to users who had no idea that their data were at risk. I am still highly skeptical about packaging server components and third-parties trying to manually backport security patches.

    • dragotin
      December 27, 2018 at 11:05

      Yes, I agree, it is hard to do proper packaging for things like ownCloud especially if the devs are not willing to accept that problem as something they have to help with, ie. through careful dependency management.
      On the other hand, the “classic” packaging approach is not really suitable to solve that. Some distros are working to adopt newer ideas like snaps etc. If that is good for the security question we will find out 😉

      • December 27, 2018 at 15:33

        > Some distros are working to adopt newer ideas like snaps etc. If that is good for the security question we will find out 😉
        That’s an open question and I’m still very skeptical, but it seems that irrespective of the answer, the ship has sailed, just like with packages vs gems etc etc – yes there are packages no they rarely help you run the software you need to run 😦

        In any case, Lukas is right, this was about the security reputation of ownCloud, we wanted to avoid a huge security bug damaging our name. As we did packaging ourselves there was a better alternative. At Nc we try to, instead, work with the distributions a bit more closely while providing one cross-distribution package (a Appimage). Both approaches have their up- and downside, if you ask me – both suck.

        That it turned into a fight with debian was just stupid.

  11. Rainer Dorsch
    December 28, 2018 at 22:42

    There are packages which manage to do upgrades Debian stable releases, check e.g. firefox or chromium.

    I think another solution which would server me as a Debian user much better than the current situation would be to avoid releasing oc- or nc-server with a Debian stable release, but provide it only through stable-backports. There a continuous updates are supported (although you would still want to have at least a reasonable upgrade path). AFAIK the path to stable-backports goes through testing, this would be blocked a few weeks before the release of a new stable version. Not sure if there is a solution for that problem.

    The oc- and nc-updates I run have been always painless and worked very well. In terms of security risks, I am not fully convinced that bypassing the distros package management system enhances the security of a typical system…I appreciate that you share that the current situation is far from ideal 🙂

  12. January 8, 2019 at 14:52

    Only counting the commits and lines of code leaves out all the other valuable contributions. Like for example … design! 🙂 As you said yourself about fairness:

    > As a matter of fairness, that should be acknowledged.

    Counting commits & lines of code and valuing an open source project based on that is such a fallacy and it feels disrespectful to any non-committing contributor every time.

    > On a more serious note, please, ladies and gents, let us be calm here on Christmas season. It was not my intention with this blog to show that ownCloud does muh and Nextcloud meh, and one is better than the other.

    Then why write this pseudo-scientific blog post? I had a lot of fun working together with you and wish it would have gone differently.

    • dragotin
      January 8, 2019 at 21:32

      As I said, the journal article that motivated me to write this was about syncing, the algorithms, ie. how fast, accurate etc. That is done in code, not design, which means that the commits are a valid measure here. That does not make any statement about other contributions such as testing, translations, support, design and others.

      Apart from that, this was just summarizing some public numbers of commits. Nothing scientific, not even pseudo.

  13. mardytardi
    February 19, 2019 at 11:01

    Thank you for this blog post. I always was under the impression that all innovation happened in NextCloud, but feelings are one thing, and numbers another one. 🙂
    In any case, they are two awesome projects, and let’s hope that the competition makes everyone gain.

  1. December 23, 2018 at 22:11
  2. January 17, 2019 at 12:42
  3. March 6, 2019 at 11:06

Leave a Reply to Aleksei Mikheev Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: