GNU social is a social communication software used in federated social networks. It is widely supported and has a large userbase. It is already used by the Free Software Foundation.

Mikael Nordfeldth 9f8c984577 Upgrading from 1.1.x would make uri fields have length=255 %!s(int64=8) %!d(string=hai) anos
actions afbdcf8938 Don't publish mbox_sha1sum in FOAF by default. %!s(int64=8) %!d(string=hai) anos
classes 346a73c36f Fix a regression in 1f76c1e4 that stopped sending email confirmation on registration %!s(int64=8) %!d(string=hai) anos
db 88f7bb1ed5 Some work on ActivityModeration with notice deletion %!s(int64=9) %!d(string=hai) anos
doc-src c95f74018d Add AtomPub, Twitter-compat. API documentation to doc-src/ %!s(int64=9) %!d(string=hai) anos
extlib 2c83614170 HTMLPurifier caches were included accidentally %!s(int64=8) %!d(string=hai) anos
js 60804d1902 ES3 compatibility layer not necessary (noone uses IE8 etc.) %!s(int64=8) %!d(string=hai) anos
lib b59dacb806 getAliases for Profile and Notice %!s(int64=8) %!d(string=hai) anos
locale d7fd6bac72 Snapshot of the Transifex translation project - October 2015 %!s(int64=9) %!d(string=hai) anos
mail-src 17424f49cd better indenting in invite email %!s(int64=13) %!d(string=hai) anos
plugins b2cfbded2e Upgrading from 1.1.x would make uri fields have length=255 %!s(int64=8) %!d(string=hai) anos
scripts c8753353ed Do not delete_orphan_files on an instance with Qvitter %!s(int64=8) %!d(string=hai) anos
socialfy-another-domain 67aff528f5 socialfy-your-domain made people think you needed manual interaction %!s(int64=8) %!d(string=hai) anos
tests 1ab4c9998a Add executable permission to script missing it %!s(int64=9) %!d(string=hai) anos
theme a361fdbd77 Sort ToSelector by AcctUri %!s(int64=8) %!d(string=hai) anos
.gitignore 17a65ff873 background folder has never been used for GNU social %!s(int64=9) %!d(string=hai) anos
CONFIGURE d0b2d86ca1 background is not used, so removed from documentation %!s(int64=8) %!d(string=hai) anos
COPYING b6cfd2dffe license block for source code %!s(int64=16) %!d(string=hai) anos
EVENTS.txt cfaaf3c13c PasswordsettingsAction aligned with FormAction %!s(int64=9) %!d(string=hai) anos
INSTALL 87ae5292b8 NSTALL/UPGRADE documentation edits %!s(int64=8) %!d(string=hai) anos
Makefile 4b5e977a7b New _m() gettext wrapper with smart detection of plugin domains. Plugin base class registers your gettext files if present at initialization. %!s(int64=15) %!d(string=hai) anos
PLUGINS.txt 39462c3a2e Documentation about plugins %!s(int64=9) %!d(string=hai) anos
README.md 63ca11fc7d Changed URLs in README to reflect new host git.gnu.io %!s(int64=9) %!d(string=hai) anos
TODO.SOCIAL cba2c6d3c6 add todo list %!s(int64=14) %!d(string=hai) anos
UPGRADE 87ae5292b8 NSTALL/UPGRADE documentation edits %!s(int64=8) %!d(string=hai) anos
apple-touch-icon.png 91b0fb8028 Add `apple-touch-icon.png` support; favicons for the iPhone OS. %!s(int64=15) %!d(string=hai) anos
favicon.ico c5c4bc10dc Favicon updated to match new theme images %!s(int64=10) %!d(string=hai) anos
htaccess.sample 4a6f509aa5 More automated htaccess.sample %!s(int64=9) %!d(string=hai) anos
index.php a61235086b Use config site/sslproxy to force HTTPS (i.e. using reverse proxy to enable it) %!s(int64=8) %!d(string=hai) anos
install.php ec257d940a Either use or don't use HTTPS %!s(int64=8) %!d(string=hai) anos
lighttpd.conf.example 220ec072c9 Lighttpd config example updated. %!s(int64=10) %!d(string=hai) anos
nginx.conf.sample 7f4b51e246 minor tuning to nginx example config %!s(int64=9) %!d(string=hai) anos

README.md

GNU social 1.2.x

2015

(c) Free Software Foundation, Inc (c) StatusNet, Inc

This is the README file for GNU social, the free software social networking platform. It includes general information about the software and the project.

Some other files to review:

  • INSTALL: instructions on how to install the software.
  • UPGRADE: upgrading from earlier versions
  • CONFIGURE: configuration options in gruesome detail.
  • PLUGINS.txt: how to install and configure plugins.
  • EVENTS.txt: events supported by the plugin system
  • COPYING: full text of the software license

Information on using GNU social can be found in the "doc" subdirectory or in the "help" section on-line, or you can catch us on IRC in #social on the freenode network.

About

GNU social is a free social networking platform. It helps people in a community, company or group to exchange short status updates, do polls, announce events, or other social activities (and you can add more!). Users can choose which people to "follow" and receive only their friends' or colleagues' status messages. It provides a similar service to sites like Twitter, Google+ or Facebook, but is much more awesome.

With a little work, status messages can be sent to mobile phones, instant messenger programs (using XMPP), and specially-designed desktop clients that support the Twitter API.

GNU social supports an open standard called OStatus https://www.w3.org/community/ostatus/ that lets users in different networks follow each other. It enables a distributed social network spread all across the Web.

GNU social was originally developed as "StatusNet" by StatusNet, Inc. with Evan Prodromou as lead developer.

It is shared with you in hope that you too make an service available to your users. To learn more, please see the Open Software Service Definition 1.1: http://www.opendefinition.org/ossd

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program, in the file "COPYING". If not, see http://www.gnu.org/licenses/.

IMPORTANT NOTE: The GNU Affero General Public License (AGPL) has
*different requirements* from the "regular" GPL. In particular, if
you make modifications to the GNU social source code on your server,
you *MUST MAKE AVAILABLE* the modified version of the source code
to your users under the same license. This is a legal requirement
of using the software, and if you do not wish to share your
modifications, *YOU MAY NOT INSTALL GNU SOCIAL*.

Documentation in the /doc-src/ directory is available under the Creative Commons Attribution 3.0 Unported license, with attribution to "GNU social". See http://creativecommons.org/licenses/by/3.0/ for details.

CSS and images in the /theme/ directory are available under the Creative Commons Attribution 3.0 Unported license, with attribution to "GNU social". See http://creativecommons.org/licenses/by/3.0/ for details.

Our understanding and intention is that if you add your own theme that uses only CSS and images, those files are not subject to the copyleft requirements of the Affero General Public License 3.0. See http://wordpress.org/news/2009/07/themes-are-gpl-too/. This is not legal advice; consult your lawyer.

Additional library software has been made available in the 'extlib' directory. All of it is Free Software and can be distributed under liberal terms, but those terms may differ in detail from the AGPL's particulars. See each package's license file in the extlib directory for additional terms.

New this version

This is the development branch for the 1.2.x version of GNU social. All daring 1.1.x admins should upgrade to this version.

So far it includes the following changes:

  • Backing up a user's account is more and more complete.
  • Emojis 😸 (utf8mb4 support)

The last release, 1.1.3, gave us these improvements:

Upgrades from StatusNet 1.1.1 will also experience these improvements:

  • Fixes for SQL injection errors in profile lists.
  • Improved ActivityStreams JSON representation of activities and objects.
  • Upgrade to the Twitter 1.1 API.
  • More robust handling of errors in distribution.
  • Fix error in OStatus subscription for remote groups.
  • Fix error in XMPP distribution.
  • Tracking of conversation URI metadata (more coherent convos)

Troubleshooting

The primary output for GNU social is syslog, unless you configured a separate logfile. This is probably the first place to look if you're getting weird behaviour from GNU social.

If you're tracking the unstable version of GNU social in the git repository (see below), and you get a compilation error ("unexpected T_STRING") in the browser, check to see that you don't have any conflicts in your code.

Unstable version

If you're adventurous or impatient, you may want to install the development version of GNU social. To get it, use the git version control tool http://git-scm.com/ like so:

git clone git@git.gnu.io:gnu/gnu-social.git

In the current phase of development it is probably recommended to use git as a means to stay up to date with the source code. You can choose between these branches:

  • 1.2.x "stable", few updates, well tested code
  • master "testing", more updates, usually working well
  • nightly "unstable", most updates, not always working

To keep it up-to-date, use 'git pull'. Watch for conflicts!

Further information

There are several ways to get more information about GNU social.

Credits

The following is an incomplete list of developers who've worked on GNU social, or its predecessors StatusNet and Free Social. Apologies for any oversight; please let mattl@gnu.org know if anyone's been overlooked in error.

Project Founders

  • Matt Lee (GNU social)
  • Evan Prodromou (StatusNet)
  • Mikael Nordfeldth (Free Social)

Thanks to all of the StatusNet developers:

  • Zach Copley, StatusNet, Inc.
  • Earle Martin, StatusNet, Inc.
  • Marie-Claude Doyon, designer, StatusNet, Inc.
  • Sarven Capadisli, StatusNet, Inc.
  • Robin Millette, StatusNet, Inc.
  • Ciaran Gultnieks
  • Michael Landers
  • Ori Avtalion
  • Garret Buell
  • Mike Cochrane
  • Matthew Gregg
  • Florian Biree
  • Erik Stambaugh
  • 'drry'
  • Gina Haeussge
  • Tryggvi Björgvinsson
  • Adrian Lang
  • Ori Avtalion
  • Meitar Moscovitz
  • Ken Sheppardson (Trac server, man-about-town)
  • Tiago 'gouki' Faria (i18n manager)
  • Sean Murphy
  • Leslie Michael Orchard
  • Eric Helgeson
  • Ken Sedgwick
  • Brian Hendrickson
  • Tobias Diekershoff
  • Dan Moore
  • Fil
  • Jeff Mitchell
  • Brenda Wallace
  • Jeffery To
  • Federico Marani
  • mEDI
  • Brett Taylor
  • Brigitte Schuster
  • Siebrand Mazeland and the amazing volunteer translators at translatewiki.net
  • Brion Vibber, StatusNet, Inc.
  • James Walker, StatusNet, Inc.
  • Samantha Doherty, designer, StatusNet, Inc.
  • Simon Waters, Surevine
  • Joshua Judson Rosen (rozzin)

Extra special thanks to the GNU socialites

  • Craig Andrews
  • Donald Robertson
  • Deb Nicholson
  • Ian Denhart
  • Steven DuBois
  • Blaine Cook
  • Henry Story
  • Melvin Carvalho

Thanks also to the developers of our upstream library code and to the thousands of people who have tried out GNU social, told their friends, and built the fediverse network to what it is today.

License help from

  • Bradley M. Kuhn