2010/3/23 Ian Denhardt <[email protected]
<mailto:[email protected]>>
On 03/22/2010 05:04 PM, Henry Litwhiler wrote:
I am new to the GNU Social project, and I just thought that I'd
add my two cents.
While it is certainly important for people to maintain their
privacy, most people are unwilling to sacrifice convenience for
privacy, something that is made evident by the success of
centralized social networking sites such as Facebook and MySpace.
Most people aren't concerned about privacy, and most people
aren't concerned about how free their software is. Of course,
there are those who /do/ care about these things, and this tool
/would/ certainly be attractive to them, but this tool will not
be very successful both in the sense of popularity and in the
sense of the protection of others' privacy if it is not also
*better* than nonfree, privacy-threatening services like Facebook.
In short, it isn't going to be successful if it is not also
better, in addition to being free (as in speech) and private. It
will be almost impossible for us to make this more convenient to
set up than centralized alternatives (it's easier to just create
an account on a web site than it is to setup a home social
networking server) - that is something we will have to accept.
The only way that we can bring high usership despite that
drawback is if the product defeats centralized alternatives in
most of the remaining categories (features, ease-of-use, etc.).
While this may be something of a daunting task, I have no doubt
that we are capable of overcoming it.
That said, this project will not (regardless of design or
intentions) be just an alternative to preexisting social
networking sites - it will be a solid foundation for the
decentralization of the internet as we know it.
At it's inception, the internet was meant as nothing more than a
way for a few key government facilities to quickly transmit large
amounts of information between one another. Businesses soon got
involved with the same intentions, and, finally, so did
individuals. The internet was designed so that any "node" could
interact with any other node, directly. For a time, many people
with internet access would run their own servers, hosting web
pages about themselves and things they were interested in. ISPs,
however, soon learned that they could make more money by forcing
people to /pay/ to run their own web servers properly, and thus
came this idea of dynamic IP addresses, which will be a serious
but certainly solvable roadblock to any project (including this
one) that seeks to move the internet towards decentralization.
From there, personal web servers died out, to the point where
only commercial enterprises actually ran their own servers, which
brings us to today. Now, we almost never directly connect from
computer to computer. People now use social networking sites to
communicate, multiplayer video games are hosted on remote
servers, and email is entirely handled by massive datacenters in
the middle of nowhere. The internet's capability for users to
directly connect to one another is left underutilized.
By utilizing a variety of decentralization peer discovery and
authentication techniques, we can override any attempts by ISPs
to prevent direct user-to-user communication, and allow any and
all users to host their own data on their own servers.
Another (perhaps underrepresented) advantage to the usage of such
an open, decentralized system is the idea of data preservation.
Websites come and go (both in the sense of losing popularity, and
in the related sense of shutting down completely), often leaving
users lacking all their old social interactions and personal
data. I'm not talking about the related privacy concerns (though
those are certainly relevant) but instead of the preservation and
continuity of data. By standardizing a certain (open) format for
private data of many types, we can ensure that the private data
and, ultimately, the entirety of internet culture, is never lost
to the changing of technology.
A bit long winded, perhaps, but valid points, I think.
Thoughts? Reactions?
--
Henry L.
with regards to the dynamic IP thing, that's pretty easy to get
around. My servers have dynamic IPs and I was able to find even
free (gratis) services that will do DNS for me, it just requires
me running an extra daemon on my box (which is free (libre)) to
notify the DNS of any changes in IP.
I think technical knowledge is actually a big reason why people
don't generally run their own website on their own boxes. Even if
installing GNU social comes down to extracting an archive, going
to a web page that corresponds to part of that extracted archive,
and doing as much work on that site as one does for Wordpress
(which is very little,) setting up Apache for example, can be more
difficult. That's not going to change easily.
However, there are web apps that given an existing GLAMP server,
are very easy to install, such as the aformentioned Wordpress, and
I fully believe GNU social can be one of them. So even if a user
isn't tech-savvy enough to set up their own web server, they can
still get a pretty cheap web host, extract an archive, copy it
onto their provider's server, click next a few times, and be ready
to roll. This is why we've chosen PHP as the implementation
language - it's available virtually everywhere, and there have
been a number of successful free web applications written in it.
I think it would be nice to someday have a way that the average
user can safely and easily set up their own web server, but that
seems slightly outside of our scope, for now at least.
I think something like skype has a good combination of ease of
installation combined with a powerful server. Though perhaps
difficult to replicate something as user friendly as skype.
You're definitely right about the data preservation piece, and we
need to build into GNU social a way to hang onto your data. You
should be able to have a local copy, but I'd also really like to
see a system where I can move my data, without losing all my
connections.
The advantage of using linked data principles, is that you get this
for free. When your data is global scope (e.g. FOAF profile, or
status updates), it because quite easy to move, and automatically
portable.