Will Deck & Notes Android be free and open source in the future and available on F-Droid?

Wow, what a week.

What happened

Five years ago i added the Notes Android app to F-Droid to give something back to the community, two years ago the Deck Android app followed. F-Droid asks periodically the repositories for new tags and builds in such a case the latest tag from source and adds it to its index. This index is refreshed every few days and can be updated from the F-Droid app on your smartphone.

Compared to the Play Store this solution has benefits and drawbacks. We don’t have to take care about anything, not even triggering any fastlane command, just tag and forget.
On the other hand, due to the decentralized approach and the limited resources and infrastructure of F-Droid, a few nice features of the Play Store are not available by nature:

  • No staged rollout
  • No immediately stopping of a rollout when an error is noticed
  • Not every tag is fetched immediately, but only the latest as soon as the crawler comes along

It all went pretty well for years, and of course it happened what has to happen: We recently tagged a version which had a pretty bad bug while trying to reduce the app size - for both, Deck & Notes.
We noticed the mistake, fixed it and tagged the version with the bugfix ~10 hours later. Fulfilling Murpheys Law, the F-Droid index has been updated at exact this time and distributed now the broken versions. While we have been able to actively push the bug fix release to the Play Store, we had to wait until the next index update of F-Droid has been published. This takes usually up to a few days or a week - and wow, what a week.

Well, people installed the broken update, noticed an error and did what they are supposed to do: Contact both projects, mostly via GitHub, E-Mail and even two guys via the Nextcloud help forum.

Of course it is also bad, that there is no proper way to downgrade an app. You will have to uninstall the version and install an older version of the app, which will cause all unsynchronized changes on the device to be lost.
This is bad, but since you are using a cloud based service, the chances are incredibly low to have actual data loss: The default settings will trigger a synchronization after each change. Changing the default settings is up to your personal responsibility (by the way everything else too). Of course we aim to have no data loss at all, but this can not cover each edge case scenario, like changing data when being offline and then quickly apply the broken update without opening the app before and give it time to synchronize.

Dear community, we need to talk.

To prepare (i knew what will happen), i answered the first issues and pinned them, so everyone can see them, even after successfully completely ignoring the issue template and using the search function. But i wasn’t prepared to this storm. Within two days, i responded to 25 issues in the Notes Android repository, 5 issues in the Deck Android repository and 5 issues in the Deck Server repository. I was called a “douchebag” and i got “suggestion[s] on how to effectively communicate with people” from someone who did not even read my responses. I answered round about 45 E-Mails. And this is something we need to talk about.

You are using Open Source software, this is awesome, i love it, too. You don’t donate, this is absolutely OK, really, i don’t rely on money, because you know: I have a job. And i do those projects in my free time. And this is also OK, because it’s my hobby and decision and i love doing it.

Here is what is not OK:

  1. You can rate the apps as you like, you can call it names, curse it or anything else. Calling me a “douchebag” is something personal, and this is an absolute no go when requesting free support for a free app.
  2. Ignoring the issue template. It is there for a reason and ignoring it is a sign of disrespect, not for my work, but for me in person, because this is my free time and i will happily provide support as good as i can, even for free users. But i expect an absolute minimum of cooperation.
  3. Not using the search function or not having a look at the pinned issues. They are already at the very top and right next to the New issue button. Everything has been answered, the cause, the workaround and the solution.

The worst about all of this is, that innocent users, who try hard to cooperate are the ones who are suffering the people who are yelling around loudest. People who never contributed a single line of code, posted not a single proper bug report, but expect to have a personal servant who lives only to serve them at 3:00 AM for nothing beclouds the fun we usually have when developing apps. Disabling the issue trackers is no solution for me, so let’s work more together.

What is this?

It is an attempt to apology for the mistake and that it happened. Errare humanum est.

This is not a call for funding. We don’t care about money. If you don’t know where to put your money, give it to F-Droid.

This is an appeal to overthink your behavior and culture, think about what you are using for free, think about the people behind the apps you are using every day:

  • The server apps
  • The ecosystem (F-Droid)
  • The infrastructure (Your hoster?)
  • The Nextcloud guys
  • Apache, NginX, Linux, PHP, MariaDB, the web frameworks used by Nextcloud, …

If something doesn’t work, report it proper, and just imagine for a second that there is a human being on the other side. Be polite. Check if this issue has already been reported. Fill in the issue templates.

Thank you for reading. And what a stupid question, of course both apps will stay free and open source forever, i just wanted to make you read my pain. Open source rocks. :metal:

fdroid badge

14 Likes

Hi Stefan,

I’m using notes for quite a time now, but I (re)discovered deck very recently. A huge work have been made in a year! They are very efficient and most of all: sync is quick as a running rabbit.

These reactions you received are terribly unfortunate.

When things are messing up many people complain, but when everything goes all right, usually people do not even think about it (I see it in my work and usually I don’t care a lot: that’s my work. However I admit I may myself fall in this wreck mentality too :disappointed:). An ungrateful community may also disgust a lead dev and make him give up a project.

So in order to go in the other way, thank you for your time and work. The result is very qualitative, and it seems you are very active in development and issue tracking as well. Just don’t burn. :wink:

Matthieu

2 Likes

I am also a long time user of Notes. Thank you for the time and effort you put into this!
I am also happy that you go the extra mile to publish on f-droid. Sounds like it creates additional problems sometimes, but I too think that we should build alternatives to google.

I hear that you.

The problem is: the people who should read your post will not see/read it…

Maybe someone had similar experiences in other foss projects? Or can point to a helpful blog post/article about how to deal with disrespectful/lazy behavior of users?

And maybe we can brainstorm ideas to avoid similar situations in the future?

  • f-droid needs staged rollout and stopping rollout (probably they have that idea in their tracker already?)
  • maybe github needs a force template option with validation? (anybody know if this is in their tracker?)