Success of Discourse


#1

I have been enjoying using discourse a lot since @zimbatm made the brave decision in April to create the instance.

It seems that as a somewhat lurker that there is much more activity and discussion here than there was on the mailing list. I have certainly made more posts than before and received lots of helpful answers.

Seeing as it is customary to complain but not praise, I thought I would take the opportunity to say cheers to @zimbatm and everyone else who has made this a success!


#2

With all the respect to Zimbat and any Nix/NixOS devs I invite anybody
to reflect about freedom and complexity. I suppose anyone here know,
for instance, usenet and substantially anyone have used it in spam-like
conversational groups and in serious ones. Well basically anyone can
create a usenet groups (at least in some hierarchy) at no cost for
substantially anyone, not being tied to any specific server or any
specific software (there are tons of nntp server and clients), no one
really own nor control usenet, anyone can have their interest pots
saved/indexed on their PC etc. Long story short usenet is a simple and
effective and free, public, communication platform. Actual platforms
are “proprietary”, limited, require a strict client-server model, not a
decentralized one, they need to run on some servers, they depend on
their respective upstream etc.

The very same is for Discourse vs ML. Discourse need to run on someone
server, all posts are on those server, all control is in admin hands,
future depends on Discourse upstream etc. Of course NixOS Discourse run
on friendly servers and have friendly admin(s) but it share the very
same limits of any web platforms. Also as any web platforms posts tend
to be “lower” in attention and quality due to the “browser environment”.
ML have some disadvantage too, notably for new users search useful thing
is hard.

Now jump to a different topic: version control. Substantially anyone
in the past have used centralized VCSs, now substantially anyone use
dVCS and the main reason for that is freedom, not only in development
normal workflow but also in infrastructural terms. Official repo get
compromised? Well, not good but nothing is really lost. Who host the
official repo became unfriendly? Well, not a problem, change is only a
matter of URL.

The same is for ML vs Discourse: how much work have to be done if actual
Discourse being compromised? What happen if upstream cease development
or took unwanted paths? And is the same for Github used not only as a
free public hosted repo but with it’s PR&c, the same for the Wiki,
official site etc.

IMVHO any free software should cover itself in advance adopting as much
as possible simple and decentralized, if not distributed solutions, for
instance fossil VCS offer a built-in “wiki” (it’s not actually a real
official wiki/site replacement but it’s a good working example), news
and ML are another (anyone can keep contents on their systems and they
are standard so not tied to any specific upstream or service hoster),
the entire Nix/NixOS project itself being substantially “text” can be
easily “hosted” on any Nix or NixOS user machines since size is not
monstrous for actual hardware. This may sound “extreme” but I think
today it’s a good and perhaps even needed simple, proactive “protection”
for any FOSS project. How many here would like to have “NixOS wiki”,
derivations, etc locally, indexed etc with nice access (GNU info is an
example) and being able to contribute “locally” sending patch with a
local dVCS etc?

Sorry for the length and poor English, not my mothertongue…

– Ingmar


#3

What I don’t like about Discourse - it’s not quite a mailing list. Yes,
it has a mailing list mode, but how can I create topics without visiting
the site? either it’s not obvious and I’ve missed it or it’s not
possible.

Discourse seems more like a web forum - well, it is one. And while it
tries to emulate a mailing list, I don’t think it does it properly.
Still I see the differences.

For example, I use notmuch to prevent drowning in a bunch of mailing
lists (thanks to home-manager developers, because without reading
home-manager manual I would’ve never discovered this amazing tool). A
program named afew sorts my mail - and I was forced to add a rule for
sorting Discourse messages separately, because they broke the default
ListMailsFilter. Here’s the rule I use, by the way:

# Discourse messages need to be tagged first, because they break ListMailsFilter
[HeaderMatchingFilter.1]
query = from:discoursemail.com AND NOT tag:lists
message = Tag Discourse mailing list messages
header = From
pattern = <(?P<project>[^ ]*)@discoursemail.com>
tags = -new; +lists/{project}; +lists

And even then NixOS tag is shown as lists/nixos1 instead of
lists/nixos because Discourse for some reason set the email as
nixos1@discoursemail.com. This is kinda annoying…

I’m quite sad actually I haven’t seen the mailing list before it
transformed into Discourse. Having yet another password I need to
remember to create new topics and change settings is annoying, even if
my password manager handles it all for me.


#4

I’m quite sad actually I haven’t seen the mailing list before it
transformed into Discourse. Having yet another password I need to
remember to create new topics and change settings is annoying, even if
my password manager handles it all for me.

Google mailing list is also horrible in its own way, especially if you
care about online archives too…

About topic creation:


#5

@Kisik21,
me to notmuch user (via notmuch-emacs) and NixOS user, for a less
uncomfortable filter (mail refile) I use instead of afew, IMAPFilter (in
NixOS stable), it use a LUA-based config witch is easy for simple things
including any mail-header based filtering + basic boolean operations and
usable for any kind of complex filtering.

Of course it does not tag (personally I tag via a simple notmuch wrapper
script called after mbsync) and operate on IMAP but make easier to
refile anything automatically IMVHO. Notmuch with proper use of unread
tag do the rest :slight_smile:

– Ingmar


#6

What I don’t like about Discourse - it’s not quite a mailing list. Yes,
it has a mailing list mode, but how can I create topics without visiting
the site? either it’s not obvious and I’ve missed it or it’s not
possible.

You can, just send a mail to the discourse, it’ll get into the Inbox
section and be moved to the appropriate category by a moderator. cf. [1]

[1] Discourse via Email

Discourse seems more like a web forum - well, it is one. And while it
tries to emulate a mailing list, I don’t think it does it properly.
Still I see the differences.

Yes, there are differences. Are they repaid by the bonus in
user-friendliness? I’d guess so.

I’m quite sad actually I haven’t seen the mailing list before it
transformed into Discourse. Having yet another password I need to
remember to create new topics and change settings is annoying, even if
my password manager handles it all for me.

Well… before it was hosted by the university also hosting hydra, at
nix-dev@cs.uu.nl. Then, it moved to google groups when the university
stopped providing it. And finally it moved to discourse.

I’d rather have a standard ML too, but it looks like more people come on
Discourse. Counting from my archives, in 1 random month (2017-09) the
google groups had 51 topics, in 1 random month (2018-09) the discourse
has had 89 topics.

Despite my rather having a ML, I think it’s worth it, because this
discourse is useful for beginners, and if I want nix to take over the
world (and I want it to), I need beginners, not people who already know
all its quirks :slight_smile:


#7

Thank you @mpickering !

Coming here from email it was a bit disheartening reading the rest of the thread as apparently the positivism had to be countered at all cost. Now I agree, if Discourse had good email integration I would have been warned and not only got the first post.

Anyways, instead of replying to criticism, since this is not Usenet, I took the time to create a new emoticon for your pleasure: :nix_parrot:


#8

A solution that does not have an exit strategy is not a solution that one should celebrate or encourage.

I understand that you want to hear people cheering, but I guess we are just a tough audience.


#9

Just FTR, I am too old to have ever used Snapchat and yet too young to have ever used Usenet. I hate e-mails. I think that like LaTeX, shell, and a few other tools, they are just tools from another era that have just not found a good replacement yet. I use e-mails as rarely as I can (for instance I use Octobox.io to manage my GitHub notifications). And yet, I’m overloaded by e-mails. I’m subscribed to a few mailing lists because I can’t do otherwise but I never subscribed to a Nix mailing list because I can do without it. So yes, I praise Discourse for allowing me to quickly browse recent Nix / NixOS activity whenever I want to on a website with a very nice UI.


#10

@coretemp I think the admin should be able to export an archive of the discourse instance and import it into a self hosted one. I think would be good if this could be done by every user but I’m not sure if this is possible.

I think there is some effort to write a NNTP to discourse interface.

In principle I like the idea of the Usenet but sadly the user interface quality has very much stagnated since I last used it around 2004. :frowning: Also the ability to edit messages when helping users with their problems is quite important for me with English as my second language, as I don’t get it right one the first try most of the time.

I wasn’t a fan of Discourse for a long time (and still am not for forums in general) but in the end it is so much more usable than a ML or Usenet. :confused:


#11

All I’m saying is that in an alternate reality, there would be one thread about how Discourse is great, and another one about how Usenet is the best (gross simpl.). Ironically I think that it’s because it’s easier to reply by email than create a new topic that this happened.

I understand that Discourse is a bit of a SPOF and I think that we can improve that. At the moment the service is provided by Discourse.com and all the forum admins can generate and download full backups. So it’s possible to migrate and the bus factor is of 3. We could further improve that by:

  • create a script that copies the backups in another location like S3
  • package Discourse in nixpkgs

The backups contain password hashes and private message discussions. We could also make them publicly available if the backup script was also able to strip that content out.

If you want to help out that would be very welcome!


#12

For those who prefer the newsreader format, perhaps it would be worth it to have a look at https://github.com/sman591/discourse-nntp-bridge .


#13

Just FTR, I am too old to have ever used Snapchat and yet too young to
have ever used Usenet. I hate e-mails. I think that like LaTeX, shell,
and a few other tools, they are just tools from another era that have
just not found a good replacement yet.
Probably because you have never ever used a good MUA :slight_smile: and that’s is
unfortunately terribly common since actually all modern MUAs (like
notmuch, mu4e, mutt&forks, pine&forks) are just usable only if you have
a bit of IT history or a bit of free time to learn them…

While relatively “young” I recently discovered Emacs and in about few
month it has become my default environment from the WM (EXWM) to MUA to
PIM suite, to nearly anything else simply because while it came from
another past era is far more advanced, flexible and powerful than any
other software I ever tried. Only for mails notmuch-emacs is so
effective that I put my feeds to mail (RSS2Email) simply because with
notmuch reading mails is so simple, lightweight, effective and pleasant
that I feel any rss client/podcatcher as utter pieces of crap…

The only weak point I found in ML and news (nntp) is exactly “historic
record” in the sense that for me locally is fantastic but when I’m a
new subscriber looking for something search the past before asking again
the same question is often not easy but that’s not a limit of ML/news,
they are an asynchronous communication media not a document platform so
a “properly handled project” (not an insult to Nix{,OS} devs! Read on)
should have a wiki where any interesting question asked and answered on
ML/news became an article in a proper taxonomy. I suppose you’ll agree
that it’s far easier to look for solution on NixOS wiki or StackExchange
than in Discourse…

The main problem is knowledge. People “born after” nntp/mail gold age
do not know how to use them properly so they find them old, difficult,
limited and nearly no “ancient” user take care to explain how to use
such powerful tools.

If you have a (not-so-small) bit of free time try Emacs just enough to
feel comfortable with it, switch to EXWM, switch you mail to a local one
inside Emacs (eg. {mbsync,OfflineIMAP} + {IMAPFilter,afew} +
notmuch-emacs) in few months you simply want to SEE webmails and web
form, they’ll feel so limited, limiting and crappy that you’ll probably
refuse them physically.

– Ingmar


#14

@coretemp I think the admin should be able to export an archive of the
discourse instance and import it into a self hosted one. I think would
be good if this could be done by every user but I’m not sure if this
is possible.
It’s not possible even for ML, it might be possible but very unlikely
with nntp if nntp users use a local newserver so they have a full local
spool not only the thread they read + headings but any messages. However
with ML/news we still keep anything we are interested in and that’s a
really good things, think about Gentoo wiki just as a warning… Also
searches are instantaneous, we can easily incorporate information in our
personal wiki’s etc. IMVHO it should be #1 priority of any FOSS project
to be as distributed as possible even if we can’t be completely there
yet, even if it’s hard, even if right now it means have some limit and
overhead.

I think there is some effort to write a NNTP to discourse interface.
@Claes Wallin (韋嘉誠) point it out one already usable up in this
thread :slight_smile:

In principle I like the idea of the Usenet but sadly the user
interface quality has very much stagnated since I last used it around
2004. :frowning:
Well, it’s a matter of taste, for me nntp UI is my UI, simply because I
use it locally inside Emacs so it’s just text with my theme, fonts
etc… nntp it’s not web, it’s another internet service, a “stream of
text” anyone can read in their client with their preferred style without
Stylish or other browser extensions :slight_smile:

Also the ability to edit messages when helping users with their
problems is quite important for me with English as my second language,
as I don’t get it right one the first try most of the time.
That’s not a limit of NNTP is a limit of webforms: when you type in a
form it’s hard to proof-read what you type being not properly visible/
rendered, when you type in your local mail/nntp client on contrary it’s
super-easy so you do not need to edit (and avoid editing is a good thing
for notifications also).

To fuel a bit this discussion, since I consider it really important
take a look at https://lwn.net/Articles/768483/ especially

“[…] the ability to move discussions between categories, rich media
support, code syntax highlighting, dynamic notifications, social login
support, and “emojis”.” – Łukasz Langa / Python ML

depict how many, even pro, even core devs etc do not know email and do
not have good MUA at all. Because a good MUA can do not only syntax
highlighting but a live reproducible environment, with org-babel you can
directly run code from a mail message with the proper interpreter and see
results, have this result in some structure, like a spreadsheet like
table that can be passed to another listing as input even in different
languages, with the proper data structure. Patches in mail can be
applied directly with magit far better than GitHub webUI, mails can be
super-easily tagged (categories) by ANY single user desire, plus many
other text enhancements (i.e. with org-mode minor mode in messages). I
do not comment social SSOs since I consider that super-harmful. Also:

“mailing lists provide no control over where messages are kept and
are impossible to delete material from” – Sanja Bonic / Fedora disc.

this is SUPER important in a censor era, not only in terms of political
censorship but simply in term of “bad users” protection, think about a
recent discussion on AdBlock
https://github.com/uBlockOrigin/uBlock-issues/issues/285
a contributors decide to block few unions site “to fight against” their
ongoing protest in Finland. With Discourse “edit” for similar reason can
happen, on NNTP/mail can’t. Also if someone try to pull out something a
bit hidden in the past on Discourse you may not notice, on NNTP/ML is
simply impossible. Personally when I have used Google Contacs and GMail
I found “strange edit/delete” I do not made when sync locally probably
due to errors on Google side. If I do not have local copy I do not even
notice such changes nor I can recover anything.

Even if in FOSS world we are all friends, we generally behave correctly
helping each others, we are honest etc we still need protections not
only because few maybe not honest, not behave correctly etc but simply
to maintain actual environment when more people come in. Being all
equal it’s a must.

– Ingmar


#15

a contributors decide to block few unions site “to fight against” their
ongoing protest in Finland. With Discourse “edit” for similar reason can
happen, on NNTP/mail can’t. Also if someone try to pull out something a
bit hidden in the past on Discourse you may not notice, on NNTP/ML is
simply impossible. Personally when I have used Google Contacs and GMail

If this NNTP group is not mirrored by a wide set of independent public
servers, you can indeed edit the history on the main server used by the
newcomers as an archive.

As for private copies — I have Discourse messages in my locally-stored
messge archive just as well…

Then again, some people prefer edits of the original post to mark the
information later found to be incorrect during troubleshooting. I do not
know if Discourse sends proper notifications with at least a full new
message (ideally full new message + diff) in this case. GitHub issue
interface doesn’t.

Even if in FOSS world we are all friends, we generally behave correctly
helping each others, we are honest etc we still need protections not
only because few maybe not honest, not behave correctly etc but simply
to maintain actual environment when more people come in. Being all
equal it’s a must.

You could also say «to reduce the temptation of external parties to try
coercion of individual members of community», I guess.


#16

I actually am an Emacs user and the simple fact that I’m also a NixOS user means that I have had time to give to learning and enjoying advanced tech tools and workflows. But I am not fond enough of Emacs to want to read my e-mails in it. I also tried and failed using mutt in the past even if many people around me do use it. Let’s just conclude that it’s a matter of taste.
But just as some people want to read everything through IRC and use bridges from Mattermost et al. (https://xkcd.com/1782/), some people want to read everything through e-mails and can use bridges from Discourse, RSS, etc. If the bridge is not good enough, Discourse is free software: you can improve it.


#17

I’m pretty sure it currently doesn’t, but it should be easy enough to check.


#18

I actually am an Emacs user and the simple fact that I’m also a NixOS
user means that I have had time to give to learning and enjoying
advanced tech tools and workflows. But I am not fond enough of Emacs
to want to read my e-mails in it. I also tried and failed using mutt
in the past even if many people around me do use it. Let’s just
conclude that it’s a matter of taste.

For what it’s worth, I am not an Emacs user but do read my mail in
Emacs’ notmuch-mode (for… about one week now). It’s way, way better than
when I tried mutt. It does require a few hours setting up
offlineimap/mbsync and the first few rules, though.

(well, I say I’m not an emacs user, but emacs’ notmuch-mode is currently
making me try org-mode, so maybe I’ll actually end up using emacs for
text/code edits, who knows?)

But just as some people want to read everything through IRC and use
bridges from Mattermost et al. (https://xkcd.com/1782/), some people
want to read everything through e-mails and can use bridges from
Discourse, RSS, etc. If the bridge is not good enough, Discourse is
free software: you can improve it.

I think this is the most important comment here.

Anyone complaining about the Discourse ML interface should first improve
it and submit a patch. If the patch is rejected upstream (eg. upstream
considers that sending an email for each modification in a message is
too much), then packaging Discourse (with said patch) for NixOS should
be enough for a NixOS-handled instance to be setup with the patch.

Personally, I find Discourse’s ML interface “good enough”, even though
it’s indirectly a problem to not know whether people have edited their
messages or not.


#19

It’s a different point, personally I find Discourse email interface
limited but good enough, creating new topic is a serious issue I
think however I’m a new NixOS user not much active in posting so it
doesn’t concern me too much, I noticed few issue but minor so…

The point it’s another: you can’t make Discourse “decentralized”,
you have to re-write it from scratch. You can’t add “content
modification or deletion protection” since it’s not a feature to
add in code but a design problem.

I think this point is the same of Nix-on-IPFS discussion, many new
users are accustomed with web-model and do not think too much about
it, other are seriously concerned because knowing previous free
world and the present they have seen an abruptly dangerous evolution
path of IT in general. It might be a bit too general to a point of
being off topic here but that’s is IMVHO…

– Ingmar


#20

xte nixos1@discoursemail.com writes:

It’s a different point, personally I find Discourse email interface
limited but good enough, creating new topic is a serious issue I
think however I’m a new NixOS user not much active in posting so it
doesn’t concern me too much, I noticed few issue but minor so…

You can send an email to nixos1+inbox@discoursemail.com (if I remember
correctly).

The point it’s another: you can’t make Discourse “decentralized”,

Well, you can’t make a ML decentralized either. The ML server will be a
point of centralization. NNTP, potentially, could be decentralized,
though.

you have to re-write it from scratch. You can’t add “content
modification or deletion protection” since it’s not a feature to
add in code but a design problem.

Well, if you send emails for all modifications or deletions, then adding
content modification or deletion protection is just setting up your own
archive of discourse posts based on the mails you receive from discourse.

I think this point is the same of Nix-on-IPFS discussion, many new
users are accustomed with web-model and do not think too much about
it, other are seriously concerned because knowing previous free
world and the present they have seen an abruptly dangerous evolution
path of IT in general. It might be a bit too general to a point of
being off topic here but that’s is IMVHO…

In the present case, the previous “free” world (ie. ML, I’m not
considering NNTP here, for I don’t really know it) was just as
centralized as discourse. Discourse is, to me, really just a ML with a
“nice” web archive interface for those who want, except that it also
allows modifications and deletions by the author – which could be
solved by sending an email upon modification|deletion.