D <
nospam@example.net> writes:
[...]
(*) On community building
>
There's also this conjecture that a person can't deal with more than N
people. The number I usually hear is 150. In other words, human
communities should be small (and local).
>
One principle I think about to achieve that is one begins a community
but others can only come through invitation. If someone misbehaves, we
know who invited that person---the tree of invitation being public.
>
Yes, we lose anonimity. Perhaps anonimity is overrated.
>
>
I run a community for IT-professionals and have been doing so for
close to 10 years. I think what you say is correct and that there
definitely is a need for it.
>
If you don't have one, start one! =)
>
That's great to know because I really am building one. Mine is also a
community of IT-professionals, so I started it out by writing the very
software that runs the communication. It works as a playground: people
enjoy hacking the very software that they and their peers use.
>
Can I joing your community? I promise to behave. :)
>
>
Oh, and tell me more about your community! What have you learned? Is
it flourishing? Do you intend to keep it small or grow?
Not quite flourishing, but it's been overall encouraging with some
elements of pessimism. I don't think I've learned anything yet. I'd
like to see it growing to the point I can't keep up with hanging out
with everyone at the same time, but it shouldn't grow too big so the
group loses its cohesion.
With some experience in programming and knowing everyone claims interest
in programming, I decided to do it my way. I wrote a prototype of an
NNTP server. An NNTP server is a world of opportunities for programming
and creativity and community experiments. Instead of showing them that
I wrote the system, I merely invited some of my friends to discuss
programming.
(*) The idea
A community should make the members feel they belong. For a group of
programmers, understanding and writing a piece of the system helps them
to feel like they belong. An NNTP server is something very simple, so
people can quickly learn how it works and can implement something of
their own ideas. Whatever programming is done affects the whole
community---bugs, say.
Users can only join through invitation.
--8<---------------cut here---------------start------------->8---
200 Welcome! Say ``help'' for a menu.
help
[...]
create-account my-friend
200 Okay, account MY-FRIEND created with password ``mbnxgf''.
--8<---------------cut here---------------end--------------->8---
Now you can give your friend an account. If your friend misbehaves, we
can all know who invited her. We'll have no spam problem, say. Every
user has a real-world connection to the community, even if a random
person on the Internet was invited. (The invitations make up a tree.)
--8<---------------cut here---------------start------------->8---
users
200 List of current users:
ROOT, last seen on Fri Mar 8 22:03:00 2024, invited (X)
X, last seen on Sat Mar 9 11:23:21 2024, invited (MY-FRIEND J)
J, never seen, invited nobody
MY-FRIEND, never seen, invited nobody
.
--8<---------------cut here---------------end--------------->8---
To feel like they belong, users can create their own groups. (Crazy,
huh?)
--8<---------------cut here---------------start------------->8---
create-group comp.my.favorite.topic
280 group comp.my.favorite.topic created
--8<---------------cut here---------------end--------------->8---
People can now subscribe to this group. The fact that a new group was
created is posted to a control group. So everyone can keep an eye on
what's going on in the community. This control group can receive the
usual posts from people, so that people can discuss the server event
right where it was announced.
Accounts can be disabled, except for ROOT. You can only disable an
account if you are a root of the tree of invitation. For example, X
invited J and MY-FRIEND, so X can disable both of these accounts. If J
invites Z, then J would be able to disable the Z account not X nor
MY-FRIEND or any other. (X would be able to disable Z as well.) So
users can invite their own subcommunities and be their sysadmin, say.
(If someone loses their password, anyone up in the tree of invitation
can recover it for them.)
After three months, if an account has not posted anything to the server,
that account is automatically disabled. The idea in this is to keep the
community tight: you can feel comfortable speaking out your ideas
because the community is fairly closed and you have an intuition of who
is reading you. You know that someone who is there only to watch would
actually not have an account (after a while). That's why everyone has
to post, so that you can have a sense of who the person is. (Those who
do not get interested in the groups and eventually forget about the
whole thing will just get disabled. If they regret losing the account,
they will need to ask someone to reenable them.)
That's an experiment. It's hard to come in (as you need to be close to
someone who is in) and, once you're in, you must commit: if you were
only curious to see what goes on, that's fine, but you'll get
automatically expelled eventually. I don't know how long should the
inactivity period be.
If not anything else, it's a programming playground. There are so many
ideas one can decide to implement. For instance, we could implement
anonymous groups where every message posted to it gets the FROM-header
replaced with a random name (and only the necessary headers go with the
message). We could have a group that's the opposite, where the FROM
header is replaced with the nntp-username of the poster. There are /so/
many other ideas one could try out.