diff --git a/README.md b/README.md index 2cffb375..f83877da 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,14 @@ Here's how to join: you depend on, you can use a tool like [Thanks.dev](https://thanks.dev/). 2. **Create a short JSON file with your company and donation info**, and host it at any URL you wish. You can check out an [example JSON - report][example-report] or the [full schema][schema]. You should update this - JSON file at least yearly — we'll fetch it regularly. We understand your - fiscal year might end on various dates — you can record the end date of your - fiscal year in the `dateYearEnding` field. + report][example-report] or the [full schema][schema]. + * You should update this JSON file at least yearly — we'll fetch it + regularly. + * We understand your fiscal year might end on various dates — you can record + the end date of your fiscal year in the `dateYearEnding` field. + * The logo image in `urlSquareLogoWithBackground` should be square and have a + non-transparent background. Please try to keep this image under 200x200px, + and to compress it appropriately. 3. **Create a pull request to add yourself to the member list** by changing [members.csv][members-csv]. 4. **Include links to your branding materials** in the pull request so that we diff --git a/contrib/example-schema.json b/contrib/example-schema.json index 5b615a18..f328d813 100644 --- a/contrib/example-schema.json +++ b/contrib/example-schema.json @@ -1,18 +1,47 @@ { "domain": "sentry.io", "datetimeModified": "2024-07-19T12:24:46Z", - "description": "Sentry has given to Open Source for soooooo many years.", + "description": "People sometimes ask why Sentry is an open source company. However, they are typically asking about our business model: conversion funnel, product roadmap, monetization strategy. In our experience as engineers and as professionals, there is no other choice but open source for building a viable software company serving modern development cycles. As a mantra, Sentry is an open source company because the right to learn and to share what is learned with others is fundamental to product growth and relevance.", "name": "Sentry", - "urlLogoWithBackground": "https://fossfunders.com/logos/sentry.svg", + "urlSquareLogoWithBackground": "https://avatars.githubusercontent.com/u/1396951?s=200&v=4", "urlLearnMore": "https://open.sentry.io/osspledge/", "annualReports": [ { "dateYearEnding": "2023-01-31", "averageNumberOfDevs": 135, "monetaryPayments": [ - {"amount": 435000, "urlDetails": "https://thanks.dev/d/gh/getsentry/dependencies"}, - {"amount": 50000, "urlDetails": "https://github.com/orgs/getsentry/sponsoring"}, - {"amount": 15000, "urlDetails": "https://blog.sentry.io/we-just-gave-500-000-dollars-to-open-source-maintainers/"} + { + "amount": 435000, + "urlDetails": "https://thanks.dev/d/gh/getsentry/dependencies" + }, + { + "amount": 50000, + "urlDetails": "https://github.com/orgs/getsentry/sponsoring" + }, + { + "amount": 15000, + "urlDetails": "https://blog.sentry.io/we-just-gave-500-000-dollars-to-open-source-maintainers/" + } + ], + "monetaryValueOfTime": 100000, + "monetaryValueOfMaterials": 500000 + }, + { + "dateYearEnding": "2023-01-31", + "averageNumberOfDevs": 135, + "monetaryPayments": [ + { + "amount": 435000, + "urlDetails": "https://thanks.dev/d/gh/getsentry/dependencies" + }, + { + "amount": 50000, + "urlDetails": "https://github.com/orgs/getsentry/sponsoring" + }, + { + "amount": 15000, + "urlDetails": "https://blog.sentry.io/we-just-gave-500-000-dollars-to-open-source-maintainers/" + } ], "monetaryValueOfTime": 100000, "monetaryValueOfMaterials": 500000 diff --git a/src/components/Prose.astro b/src/components/Prose.astro index 7cc8d234..ec4d2cb3 100644 --- a/src/components/Prose.astro +++ b/src/components/Prose.astro @@ -1,5 +1,5 @@
diff --git a/src/content/config.ts b/src/content/config.ts index 6c180e7d..d3904c08 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -25,7 +25,7 @@ const memberReport = z.object({ const memberProvidedData = z.object({ name: z.string(), - urlLogoWithBackground: z.string().url(), + urlSquareLogoWithBackground: z.string().url(), urlLearnMore: z.string().url(), description: z.string().optional(), annualReports: memberReport.array().nonempty(), diff --git a/src/content/members/sentry.json b/src/content/members/sentry.json index a208cce8..6a0a669a 100644 --- a/src/content/members/sentry.json +++ b/src/content/members/sentry.json @@ -1,11 +1,31 @@ { "domain": "sentry.io", "datetimeModified": "2024-07-19T12:24:46Z", - "description": "Sentry has given to Open Source for soooooo many years.", + "description": "People sometimes ask why Sentry is an open source company. However, they are typically asking about our business model: conversion funnel, product roadmap, monetization strategy. In our experience as engineers and as professionals, there is no other choice but open source for building a viable software company serving modern development cycles. As a mantra, Sentry is an open source company because the right to learn and to share what is learned with others is fundamental to product growth and relevance.", "name": "Sentry", - "urlLogoWithBackground": "https://fossfunders.com/logos/sentry.svg", + "urlSquareLogoWithBackground": "https://avatars.githubusercontent.com/u/1396951?s=200&v=4", "urlLearnMore": "https://open.sentry.io/osspledge/", "annualReports": [ + { + "dateYearEnding": "2023-01-31", + "averageNumberOfDevs": 135, + "monetaryPayments": [ + { + "amount": 435000, + "urlDetails": "https://thanks.dev/d/gh/getsentry/dependencies" + }, + { + "amount": 50000, + "urlDetails": "https://github.com/orgs/getsentry/sponsoring" + }, + { + "amount": 15000, + "urlDetails": "https://blog.sentry.io/we-just-gave-500-000-dollars-to-open-source-maintainers/" + } + ], + "monetaryValueOfTime": 100000, + "monetaryValueOfMaterials": 500000 + }, { "dateYearEnding": "2023-01-31", "averageNumberOfDevs": 135, diff --git a/src/content/members/test.json b/src/content/members/test.json index a208cce8..cdbcb67d 100644 --- a/src/content/members/test.json +++ b/src/content/members/test.json @@ -3,7 +3,7 @@ "datetimeModified": "2024-07-19T12:24:46Z", "description": "Sentry has given to Open Source for soooooo many years.", "name": "Sentry", - "urlLogoWithBackground": "https://fossfunders.com/logos/sentry.svg", + "urlSquareLogoWithBackground": "https://fossfunders.com/logos/sentry.svg", "urlLearnMore": "https://open.sentry.io/osspledge/", "annualReports": [ { diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 89a95cd5..a89198d0 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,9 +1,10 @@ --- interface Props { title: string; + navless: bool; } -const { title } = Astro.props; +const { title, navless } = Astro.props; --- @@ -22,11 +23,19 @@ const { title } = Astro.props; src="https://plausible.io/js/script.js"> -
+ { !navless && } +
-
+ diff --git a/src/pages/index.astro b/src/pages/index.astro index 294f226a..1921c0eb 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,10 +4,13 @@ import Prose from "../components/Prose.astro"; import Button from "../components/Button.astro"; --- - -
+ +
-

Open Source Pledge

+

Launching in October

Open Source is Sentry.

-
+
diff --git a/src/pages/members/[id].astro b/src/pages/members/[id].astro index 2f4efe00..9b0b3a35 100644 --- a/src/pages/members/[id].astro +++ b/src/pages/members/[id].astro @@ -51,92 +51,84 @@ function fmtCurrency(num: number) { }); } --- - -
- -

OSS Pledge

- - Home - -

{member.name}

- - - -

{member.description}

- - Learn more → - - {member.annualReports.map(report =>
-

Year Ending {report.dateYearEnding}

- - {fmtCurrency(getDollarsPerDev(report))} / dev - -

Payments to Independent Maintainers

- - - - - - {report.monetaryPayments.map(entry => - - - )} - - - - - - - - - - - - -
PlatformAmount ($)
{entry.urlDetails && {getPlatformName(entry.urlDetails)}}{fmtCurrency(entry.amount)}
Total{fmtCurrency(getReportCashTotal(report))}
Average number of devs{fmtCurrency(report.averageNumberOfDevs)}
$ / dev{fmtCurrency(getDollarsPerDev(report))}
- -

Other Contributions

- - - - - - - - - - - - - - - - - - - - - -
ItemAmount ($)
Value of time{fmtCurrency(report.monetaryValueOfTime)}
Value of materials{fmtCurrency(report.monetaryValueOfMaterials)}
Payments to independent maintainers{fmtCurrency(getReportCashTotal(report))}
Total{fmtCurrency(getReportFullTotal(report))}
-
)} - - - This information is provided directly by {member.name}. Open - Source Pledge does not carry out any in-depth validation of this data. - - -
-
+ + +
+ +

+ {member.name} + Open Source Pledge Member +

+
+ +

{member.description}

+ + Learn more → + + {member.annualReports.map(report =>
+
+

Year Ending {report.dateYearEnding}

+ {fmtCurrency(getDollarsPerDev(report))} / dev +
+ +

Payments to Independent Maintainers

+ + + + + + {report.monetaryPayments.map(entry => + + + )} + + + + + + + + + + + + +
PlatformAmount ($)
{entry.urlDetails && {getPlatformName(entry.urlDetails)}}{fmtCurrency(entry.amount)}
Total{fmtCurrency(getReportCashTotal(report))}
Average number of devs{fmtCurrency(report.averageNumberOfDevs)}
$ / dev{fmtCurrency(getDollarsPerDev(report))}
+ +

Other Contributions

+ + + + + + + + + + + + + + + + + + + + + +
ItemAmount ($)
Value of time{fmtCurrency(report.monetaryValueOfTime)}
Value of materials{fmtCurrency(report.monetaryValueOfMaterials)}
Payments to independent maintainers{fmtCurrency(getReportCashTotal(report))}
Total{fmtCurrency(getReportFullTotal(report))}
+
)} + + + This information is provided directly by {member.name}. Open + Source Pledge does not carry out any in-depth validation of this data. + + +
-