Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/next/pages/pricing/institutions.tsx
1450 views
1
/*
2
* This file is part of CoCalc: Copyright © 2023 Sagemath, Inc.
3
* License: MS-RSL – see LICENSE.md for details
4
*/
5
6
import { Alert, Layout } from "antd";
7
8
import { Icon } from "@cocalc/frontend/components/icon";
9
import Footer from "components/landing/footer";
10
import Head from "components/landing/head";
11
import Header from "components/landing/header";
12
import { Paragraph, Text, Title } from "components/misc";
13
import A from "components/misc/A";
14
import { LinkToStore } from "components/store/link";
15
import { MAX_WIDTH } from "lib/config";
16
import { Customize, useCustomize } from "lib/customize";
17
import withCustomize from "lib/with-customize";
18
19
import type { JSX } from "react";
20
21
// internal link to the contact form
22
const URL_SUPPORT =
23
"/support/new?type=purchase&subject=CoCalc%20Institutional&body=&title=Purchase%20Institutional%20License";
24
25
export default function Courses({ customize }) {
26
const { siteName } = customize;
27
return (
28
<Customize value={customize}>
29
<Head title={`${siteName} – Pricing – Institutional Licenses`} />
30
<Layout>
31
<Header page="pricing" subPage="institutions" />
32
<Layout.Content style={{ backgroundColor: "white" }}>
33
<Body />
34
<Footer />
35
</Layout.Content>
36
</Layout>
37
</Customize>
38
);
39
}
40
41
function Body(): JSX.Element {
42
const { siteName } = useCustomize();
43
44
return (
45
<div
46
style={{
47
maxWidth: MAX_WIDTH,
48
margin: "15px auto",
49
padding: "15px",
50
backgroundColor: "white",
51
}}
52
>
53
<div style={{ textAlign: "center" }}>
54
<Title level={1}>
55
<Icon name="home" style={{ marginRight: "30px" }} />
56
CoCalc - Institutional Licenses
57
</Title>
58
</div>
59
<Paragraph>
60
The price of a {siteName} license is proportional to the{" "}
61
<Text strong>number of active projects</Text> and the{" "}
62
<Text strong>amount of resources</Text> allocated to each project.
63
</Paragraph>
64
<Paragraph>
65
<Text strong>Number of active projects</Text>: You can assign a license
66
to as many projects as you need. However, the run limit of the license
67
is the upper bound to the number{" "}
68
<Text italic>simultaneously running projects</Text>.
69
</Paragraph>
70
<Paragraph>
71
Assuming each individual works on average in one project, the number of
72
people who are actively using {siteName} at the very same time will be
73
close to the number of active projects. Also, usually the number of
74
actively running projects is well below the total number of people in
75
your organization.
76
</Paragraph>
77
<Paragraph type="secondary">
78
Note: if that run limit of simultaneously active projects is exceeded,
79
those extra projects are still accessible, but will run without any
80
upgrades.
81
</Paragraph>
82
<Paragraph>
83
<Text strong>Amount of resources</Text>: minimal upgrades might be okay
84
for day-to-day calculations and editing documents, but you will run into
85
limitations if your requirements are higher. Please{" "}
86
<A href={URL_SUPPORT}>contact us</A> if you have questions, or need a
87
trial license to test out different options.
88
</Paragraph>
89
<Paragraph>
90
<Text strong>Multiple license keys</Text>: You can also acquire several
91
license keys for your institution. This means you can partition all
92
users into smaller groups, each with their own license key. This is
93
useful if you want to have distinct license keys for different
94
departments, or if you want to have a license key for students and
95
another one for faculty members. Additionally, you can also acquire an
96
additional license for a shorter period of time, to cover periods of
97
increased activity – e.g. final exams.
98
</Paragraph>
99
100
<Paragraph>
101
<Text strong>After purchase</Text>: Once you have purchased a license
102
key, you become a "license manager". This means you can pass that
103
license key on to others, track their usage, and add other people as
104
license managers.
105
</Paragraph>
106
107
<Alert
108
icon={false}
109
type="info"
110
message={<Title level={3}>Contact us</Title>}
111
description={
112
<Paragraph>
113
To learn more about institutional subscription options, please{" "}
114
<A href={URL_SUPPORT}>
115
contact us with a description of your specific requirements
116
</A>
117
.
118
</Paragraph>
119
}
120
/>
121
<Paragraph style={{ textAlign: "center" }}>
122
<LinkToStore />
123
</Paragraph>
124
</div>
125
);
126
}
127
128
export async function getServerSideProps(context) {
129
return await withCustomize({ context });
130
}
131
132