A platform for community discussion. Free, open, simple.
Go to file
Sam Saffron e55b713c59 update markdown converter from showdown source, handles trailing parens etc. 2013-02-11 15:37:42 +11:00
app update markdown converter from showdown source, handles trailing parens etc. 2013-02-11 15:37:42 +11:00
config not required there, if anything should go in the initializer 2013-02-11 15:13:40 +11:00
db Remove the distinction between "x replies below" and "x replies" 2013-02-08 17:10:18 -05:00
dbs Remove export images from repo until import handles db migrations better 2013-02-10 12:25:25 -05:00
images Initial release of Discourse 2013-02-05 14:16:51 -05:00
lib rel nofollow, on by default to protect forums from spam etc. we should consider lifting it at high trust by default. 2013-02-11 11:43:07 +11:00
log Initial release of Discourse 2013-02-05 14:16:51 -05:00
public added support for disabling indexing by google using SiteSetting.allow_index_in_robots_txt = false 2013-02-11 11:02:57 +11:00
script Initial release of Discourse 2013-02-05 14:16:51 -05:00
spec rel nofollow, on by default to protect forums from spam etc. we should consider lifting it at high trust by default. 2013-02-11 11:43:07 +11:00
vendor add prefix so keys stop clashing 2013-02-08 22:09:09 +11:00
.autotest Initial release of Discourse 2013-02-05 14:16:51 -05:00
.gitattributes Initial release of Discourse 2013-02-05 14:16:51 -05:00
.gitignore Initial release of Discourse 2013-02-05 14:16:51 -05:00
.rspec Initial release of Discourse 2013-02-05 14:16:51 -05:00
.travis.yml Run Jasmine specs in Travis CI 2013-02-08 00:07:48 +02:00
AUTHORS.md Update AUTHORS.md 2013-02-05 23:39:25 -05:00
CONTRIBUTING.md Changed Discourse CLA link to the canonical one 2013-02-07 18:47:51 +01:00
COPYRIGHT.txt Initial release of Discourse 2013-02-05 14:16:51 -05:00
DEVELOPMENT.md Merge pull request #95 from tjstein/tjstein-02092013 2013-02-09 12:43:57 -08:00
Gemfile Consistent use of Ruby 1.9 hash syntax, consistent use of apostrophe delimeter, grouped by reference type and alphabetized within 2013-02-09 12:04:52 -05:00
Gemfile.lock Update rack gem, CVE-2013-0262 & CVE-2013-0263 2013-02-08 09:20:03 -05:00
Guardfile Fix Guardfile warning about deprecated :version arg. 2013-02-07 01:10:46 -05:00
INSTALL.md Initial release of Discourse 2013-02-05 14:16:51 -05:00
LICENSE.txt Initial release of Discourse 2013-02-05 14:16:51 -05:00
PLUGINS.md Initial release of Discourse 2013-02-05 14:16:51 -05:00
README.md Added requirements on postgres and redis-server 2013-02-08 08:38:23 +01:00
Rakefile Initial release of Discourse 2013-02-05 14:16:51 -05:00
SOFTWARE.md Initial release of Discourse 2013-02-05 14:16:51 -05:00
Vagrantfile Restore NFS shares on darwin & 1024MB in Vagrant. 2013-02-07 22:07:03 -05:00
adminjs Initial release of Discourse 2013-02-05 14:16:51 -05:00
config.ru Initial release of Discourse 2013-02-05 14:16:51 -05:00
jsapp Initial release of Discourse 2013-02-05 14:16:51 -05:00
sublime-project Initial release of Discourse 2013-02-05 14:16:51 -05:00

README.md

Logo

Discourse is the 100% open source, next-generation discussion platform built for the next 10 years of the Internet.

Whenever you need ...

  • a mailing list
  • a forum to discuss something
  • a chat room where you can type paragraphs

... consider Discourse.

Getting Started

If you're interested in helping us develop Discourse, please start with our Discourse Developer Install Guide, which includes instructions to get up and running in a development environment.

Requirements

  • PostgreSQL 9.1+
  • Redis 2+

The quick and easy setup

git clone git@github.com:discourse/discourse.git
cd discourse
bundle install
rake db:create
rake db:migrate
rake db:seed_fu
redis-cli flushall
thin start

Vision

This is the Civilized Discourse Construction Kit, a fully open-source package of forum software that is free to use and contribute to. Discourse embraces the changes that are necessary to evolve forum software, namely:

  • A flattened discussion, which avoids the pains of threaded forums, and delivers a more robust, intuitive interface to join a conversation at any point.
  • A self-learning system, capable of examining the behavior of the community, and adapting to budding moderators and forum trolls alike.
  • A seamless web-only interface that delivers usability on both the desktop and the tablet, without the need for a native app.
  • A contemporary, robust technology stack, so that both users and administrators alike have another choice BESIDES php.

The Discourse team wishes to foster an active community of contributors, all of whom commit to delivering this continued vision, and ensure that online discussions can grow and thrive in an Internet age dominated by micro-blogging and diminishing attention spans.

This vision translates to the following functional commitments:

  1. Support all contemporary browsers on the desktop:
  • Internet Explorer 9.0, 10.0+
  • Firefox 16+
  • Google Chrome infinite
  1. Supporting the latest generation of tablets:
  • iPad 2+
  • Android 4.1+ on 7" and 10"
  • Windows 8
  1. Deliver support for mobile/smartphones as soon as possible:
  • Windows Phone 8
  • iPhone 4+
  • Android 4.0+

Contributing

Build Status

Discourse is 100% free and open-source. We encourage and support an active, healthy community that accepts contributions from the public, and we'd like you to be a part of that community.

In order to be prepared for contributing to Discourse, please:

  1. Review the VISION section above, which will help you understand the needs of the team, and the focus of the project,
  2. Read & sign the Electronic Discourse Forums Contribution License Agreement, to confirm you've read and acknowledged the legal aspects of your contributions, and
  3. Dig into CONTRIBUTING.MD, which houses all of the necessary info to:
    • submit bugs,
    • request new features, and
    • step you through the entire process of preparing your code for a Pull Request.

We look forward to seeing your cool stuff!

Expertise

Discourse implements a variety of open source tech. You may wish to familiarize yourself with the various components that Discourse is built on, in order to be an effective contributor:

Languages/Frameworks

  1. Ruby on Rails - Our back end API is a Rails app. It responds to requests RESTfully and responds in JSON.
  2. Ember.js - Our front end interface is an Ember.js app that communicates with the Rails API.

Databases

  1. PostgreSQL - Our main data store is Postgres.
  2. Redis - We use Redis for our job queue, rate limiting, as a cache and for transient data.

Ruby Gems

The complete list of Ruby Gems used by Discourse can be found in SOFTWARE.md.

Versioning

Discourse implements the Semantic Versioning guidelines.

Releases will be numbered with the following format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit http://semver.org/.

The Discourse Team

The Discourse code contributors can be found in AUTHORS.MD. For a complete list of the many individuals that contributed to the design and implementation of Discourse, please refer to the official website.

Copyright 2013 Civilized Discourse Construction Kit, Inc.

Licensed under the GNU General Public License Version 2.0 (or later); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.