From time to time I come across people who are frustrated when I insist that they use the forums and the issue trackers to communicate with me regarding the project. Instead of having to explain my reasoning over and over again, I thought it would be valuable to post it here.
When I first started working on Privacy Browser, I had the attitude that I would meet people wherever they were to answer any of their questions. That initially worked, but as the project grew I realized there were some structural problem with that approach that disserved Privacy Browser’s users in ways I wasn’t expecting. I describe these below in what I consider to be their order of importance.
Public Transparency
One of the things that I think is important for maintaining trust in software that is designed to protect privacy and security is that, not only should the source code be publicly available, but also all the communication from the project regarding the reasons why decisions are made and the direction the project will take in the future. If users can be certain that all communication regarding bug reports and feature requests and decisions about which search engines will be included and who is funding the project are public record, it increases their ability to trust the project itself. If someone submits a feature request and I decline to implement it because I don’t think it is good for the project, everyone should be able to see the reasoning I put forth so they can make their own determinations as to if I am operating in the user’s best interests. If (this has never happened, but it might in the future) a user contacts me and would like to fund the development of a feature that is already planned for down the road, but that the user would like to pay to move up the list of priorities, any discussion about that should happen in the public sphere, so that everyone can make their own determination if that in any way compromises the privacy and security of the project or distorts my focus from the users’ best interests.
Only in rare instances can I imagine ever discussing significant aspects of the software I develop outside of public channels. For example, if a user has a security bug report that is not being actively exploited, it would be appropriate to communicate that via email, so that it can be fixed before bad guys become aware of it. In a case like that, after the bug is fixed and deployed, I would copy the text of the email communication into a bug report for public consideration. Recently I had email communication with Mojeek regarding a blog post they were writing about Privacy Browser. After their blog post went public, I copied that email conversation into my own blog post so that everyone would be aware of what was discussed. (If you ever send me an email of significance to the project, as per my privacy policy, expect me to make it public.)
Searchable Record
Many users ask questions similar to what has been asked before. In the early days, I used to write email after email after email explaining the same things to different people. I also answered questions in various forums across the internet. I eventually realized that wouldn’t scale very well, partially because when a user asked a question I had already answered sometimes the location of the answer was private, so I couldn’t just link them to it. And sometimes I knew I had answered that question before but I couldn’t remember where it was (was it in an email, was it on a forum, was it in a blog post, was it in a private XDA message?) Not only did this make it hard for me to find the answer to link in my response, but it also made it hard for people to search to see if the question had already been answered.
In response to this, I decided that all substantive discussions about software Stoutner produces should take place in only two places, the WordPress instance that runs www.stoutner.com and the Redmine instance that runs redmine.stoutner.com. Both of these have fairly easy to use search functionality, meaning that two quick searches should pull up everything I have written on a subject.
I understand that sometime it is hard to figure out what terms to search for to find a particular piece of information. Probably more than half of the responses I post to questions are simple links to where the answers can already be found. As the person who wrote the original information, usually I can remember which terms were used to discuss it, which may be slightly different than those terms used by person asking the question. Every time this happens, it makes the information easier for the next person to find, because now they can pull it up based either on the terms I used or the different terms of the person who asked the question before them.
This is part of the reason why I decided to limit comments on the WordPress blog to only the subject in the original post and require that all other comments and questions happen in the forum. Trying to find comments unrelated to the subject of a post isn’t usually very easy. It is for a similar reason that I insist that users keep each bug report/feature request to a single topic.
End User Resistance
I have been quite surprised to encounter a number of people who resist using the forums or the issue trackers to ask questions, file bug reports, or make feature requests. Usually their reasoning boils down to it being too inconvenient to create an account on redmine.stoutner.com. Sometimes they state they would do so if I used a cloud based system where they already have an account, like GitLab or GitHub, but that they can’t be bothered to create an account on another site.
One of my fundamental guiding principles in developing security and privacy focused open source software is that all the server software I use to support the project must also be open source and I must be able to host it on my own hardware. This is part of my efforts to minimize my attack surface, not only in the software I produce, but also in the supply chain of software used to host the code and communicate with users. I understand that it does take a few minutes to register a new account, but I consider the benefits of self-hosted server software to far outweigh that slight inconvenience.
Other Communication Channels
I do participate in some other communication channels, most notably at this point on Mastodon using an account on the Fosstodon instance and in the F-Droid forums. But, if you follow me at all on those platforms, you will notice that anytime the conversation moves beyond the very basics, I will redirect it to www.stoutner.com or redmine.stoutner.com, so that everything of substance takes place in these two, easily searchable, locations.
3 responses to “Why I Insist People Use the Forums and Issue Trackers”
Allow anonymous reporting of bugs, remove the hurdles.
The users are right to complain, they are doing you a service when doing Q&A for your project. (Spam is your responsibility, don’t put that on the users with accounts and captchas)
Or allow e-mail reports to an automated service that will post it as bug tracker entry or forum post.
Or a web form entry, like this comment section, that will create a forum post automatically.
It is ok to gather information in one place, for all the right reasons you describe, but you can offer multiple ways for the infos to get there.
Let me address your points one-by-one.
“Allow anonymous reporting of bugs, remove the hurdles.”
You can already anonymously report bugs at redmine.stoutner.com.
“The users are right to complain, they are doing you a service when doing Q&A for your project. (Spam is your responsibility, don’t put that on the users with accounts and captchas)”
It isn’t that hard to use redmine.stoutner.com. I really can’t see anything for anyone to complain about.
“Or allow e-mail reports to an automated service that will post it as bug tracker entry or forum post.”
That sounds really complicated to setup.
“Or a web form entry, like this comment section, that will create a forum post automatically.”
You can already do that at redmine.stoutner.com, which has web form entries that automatically create forum posts.
“It is ok to gather information in one place, for all the right reasons you describe, but you can offer multiple ways for the infos to get there.”
Are you aware of any major open source project that allows users to submit bug reports by emailing one of the developers directly or posting comments on one of their blog posts?
“Why can’t I just email or slack you my question?”
“Because we have a team that can help you if you use the right tools”