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'),