From c9e35c459a88c7ff6d15523468f04dfdabd45f48 Mon Sep 17 00:00:00 2001 From: Greg Price Date: Sun, 18 Jun 2017 15:47:02 -0700 Subject: [PATCH] landing: Write up why open source projects should use Zulip This isn't very slick, but it should get the main points down, and it's past time we got something like this up. Definitely needs in the future another pass at the text, and also some images (screenshots, etc.) and styling. --- templates/zerver/for-open-source.html | 34 +++++++++ templates/zerver/for/open-source.md | 99 +++++++++++++++++++++++++++ zerver/tests/test_docs.py | 1 + zproject/urls.py | 1 + 4 files changed, 135 insertions(+) create mode 100644 templates/zerver/for-open-source.html create mode 100644 templates/zerver/for/open-source.md diff --git a/templates/zerver/for-open-source.html b/templates/zerver/for-open-source.html new file mode 100644 index 0000000000..094e0efba6 --- /dev/null +++ b/templates/zerver/for-open-source.html @@ -0,0 +1,34 @@ +{% extends "zerver/portico.html" %} + +{% block title %} +Zulip: the best group chat for open source projects +{% endblock %} + +{% block customhead %} +{{ super() }} + + +{% stylesheet 'portico' %} +{% stylesheet 'landing-page' %} +{{ render_bundle('landing-page') }} + +{% endblock %} + +{% block portico_content %} + +{% include 'zerver/landing_nav.html' %} + +
+
+
+

{% trans %}The best choice for open source projects{% endtrans %}

+
+
+
+ {{ 'zerver/for/open-source.md'|render_markdown_path }} +
+
+
+
+ +{% endblock %} diff --git a/templates/zerver/for/open-source.md b/templates/zerver/for/open-source.md new file mode 100644 index 0000000000..cc40e93692 --- /dev/null +++ b/templates/zerver/for/open-source.md @@ -0,0 +1,99 @@ +A great open source project needs a great group chat service. Here's +why we think Zulip is the best choice you can make today. + +(Psst, I'll spoil the ending: not only is Zulip itself open source, +but hosting on zulipchat.com is free for open source projects. +[Sign up now](https://zulipchat.com/beta/)!) + +## Great for developers + +* Messages take Markdown formatting, [including code + blocks](/help/format-your-message-using-markdown#code), making it + super easy to discuss some code or paste an error message. + +* Have a design discussion in chat and want to link to it in your bug + tracker or a commit message? [Two + clicks](/help/share-a-message-or-conversation) makes a permanent + link. The URL transparently shows where the discussion happened, + and for everyone who clicks through, Zulip's topic threading + provides a focused view on that conversation. + +* Want to refer to issues or code reviews with short notation like + `#1234`, `T1234` -- or any other style of your own? Set up any + regex as a [custom linkification + filter](/help/add-a-custom-linkification-filter) for your + organization. + +* Troubleshooting in chat for users or new developers becomes much + more manageable with Zulip's topic threading: each issue in a + channel can be discussed in its own thread. + +## Great for productivity + +* With Zulip's unique model of threading by topic, your community can + have more than one conversation in a channel at the same time, + without the confusion and talking-over caused by traditional models + like IRC and Slack. (Extra handy for holding a synchronous chat + meeting with 5-20 people and making good use of everyone's time!) + +* No limited "try it out" tier -- [host it + yourself](https://zulip.readthedocs.io/en/latest/prod-install.html), + or [sign up at zulipchat.com](https://zulipchat.com/beta/) for + commercially-supported hosting, free for open source projects. + +* Fast, full-text search through your full, unlimited message history. + +* [Stop by + chat.zulip.org](https://zulip.readthedocs.io/en/latest/chat-zulip-org.html), + Zulip's own development community, to see it in action for a large + project with ~5000 messages/week, essentially all of it productive + developer discussion. + +## Great for open communities + +* Sleek, modern [apps for every platform](/apps/) make Zulip an + inclusive choice for everyone in your community. + +* Take down the barrier to participation created by making people + interested in your community ask for an invitation before they can + enter -- [one + checkbox](/help/allow-anyone-to-join-without-an-invitation) opens + your Zulip organization for anyone to join. + +* Want to link to your Zulip organization with a nice badge in your + README? [Done.](/help/join-zulip-chat-badge) + + +* GitHub auth? [We've got that.][github-auth] + +[github-auth]: https://github.com/zulip/zulip/blob/7e9926233/zproject/prod_settings_template.py#L112 + +* Zulip scales well to large communities -- it's loved by communities + as large as 1000 users and beyond. + +## Zulip ❤​ open source + +* Zulip itself is open source, [under the Apache License 2.0](https://github.com/zulip/zulip/blob/master/LICENSE). + +* Full, commercially-supported hosting at zulipchat.com is **free** + for open source communities. [Sign up today!](https://zulipchat.com/beta/)) + + +* Your data is yours -- Zulip's high-quality export and import tools + enable migrating a community smoothly from one host to another. + So if you start out running on zulipchat.com, you can always choose + later to move to your own servers, and vice versa. + +* Zulip is the leading open source group chat option, with far more + contributor momentum than any other. Some numbers: + + * Over 300 contributors in the Zulip server project alone -- a + figure reached in only 18 months. + + * 75 people working on Zulip at the PyCon sprints in Portland in + May 2017. + + * In the [Zulip Server 1.6 + release](https://blog.zulip.org/2017/06/06/zulip-server-1-6-released/) + in June 2017, over 3100 new commits since 1.5, by over 150 + different people. diff --git a/zerver/tests/test_docs.py b/zerver/tests/test_docs.py index bdcf9b4669..a7153ed8c8 100644 --- a/zerver/tests/test_docs.py +++ b/zerver/tests/test_docs.py @@ -37,6 +37,7 @@ class DocPageTest(ZulipTestCase): self._test('/apps/', 'Appsolutely') self._test('/features/', 'Talk about multiple topics at once') self._test('/hello/', 'productive group chat') + self._test('/for/open-source/', 'for open source projects') self._test('/integrations/', 'require creating a Zulip bot', extra_strings=[ diff --git a/zproject/urls.py b/zproject/urls.py index 6bea6aba6b..d27461c9d0 100644 --- a/zproject/urls.py +++ b/zproject/urls.py @@ -149,6 +149,7 @@ i18n_urls = [ url(r'^hello/$', TemplateView.as_view(template_name='zerver/hello.html'), name='landing-page'), url(r'^new-user/$', RedirectView.as_view(url='/hello', permanent=True)), url(r'^features/$', TemplateView.as_view(template_name='zerver/features.html')), + url(r'^for/open-source/$', TemplateView.as_view(template_name='zerver/for-open-source.html')), url(r'^find_my_team/$', zerver.views.registration.find_my_team, name='zerver.views.registration.find_my_team'), url(r'^authors/$', zerver.views.users.authors_view, name='zerver.views.users.authors_view'),