From 63057b7d7a8254f1d775c3168d73bbd096dc81d0 Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Tue, 27 Aug 2024 18:30:27 -0400 Subject: [PATCH 1/9] Move member onboarding from README to /join --- README.md | 119 ++------------------- src/pages/index.astro | 4 +- src/pages/join.astro | 238 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 248 insertions(+), 113 deletions(-) create mode 100644 src/pages/join.astro diff --git a/README.md b/README.md index 43c79603..fc4384c8 100644 --- a/README.md +++ b/README.md @@ -8,95 +8,9 @@ after year. [Let's settle up][osp]. [osp]: https://osspledge.com/ [restaurant]: https://openpath.chadwhitacre.com/2024/open-source-is-a-restaurant/ -## Timeline +## Launch Ticket -- **September 1**—website launch 👉 **[osspledge.com][osp]** -- **September 15**—member onboarding deadline to participate in a ... -- **October 7–November 3**—major outdoor advertising campaign - -## Member Onboarding - -Want to join the Pledge and contribute to a healthy Open Source ecosystem? We'd -love to have you! :balloon: - -Here's how to join: - -1. **Donate $2,000 per full-time equivalent developer on staff** to Open Source - maintainers or foundations of your choice, and commit to doing so in future - years. The projects you're donating to should meet the [Open Source - Definition][osd]. Of course, this includes any existing donations you've made - this fiscal year. You can donate to any projects you like, but if you need - help figuring out which projects you depend on, you can use a tool like - [Thanks.dev][thanksd]. -2. **Publish a blog post**, or equivalent, on your company website, detailing - the contributions your company has made to the Open Source ecosystem this - fiscal year. This post does not need to be long or exhaustive. If in doubt, - check out sample posts by [Sentry][sentry-2023-post] or - [Astral][astral-post]. - * Ideally, this post would include an itemized list of how much was paid to - each maintainer/foundation. When this is undesirable or unrealistic, we ask - that you make a best effort. To more conveniently get an itemized list, - consider using the [Open Source Pledge GitHub Reporter][osp-github-reporter], - or [Thanks.dev][thanksd]. -4. **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 once per calendar year — we'll - fetch it regularly. - * All amounts are in USD so that different reports can be compared to each - other. If you're using a different currency, you should convert all amounts - to the USD equivalents, using the most appropriate exchange rate. - * `name`: The name of your company. - * `description`: Will be shown on your member page and ideally includes a - general description of your company and some notes on your company's - relationship with Open Source software. - * `urlLearnMore`: A URL not to your company's homepage, but to some kind of - page that describes your relationship to Open Source and/or your commitment - to supporting Open Source. This page need not be exhaustive. - * `urlSquareLogoWithBackground`: Your logo, which should be square and have a - non-transparent background. This image should be between 400x400px and - 800x800px, and should be appropriately compressed. - * Each `annualReport` should contain: - * `url`: The URL to the blog post for this fiscal year, as detailed above. - * `dateYearEnding`: We understand your fiscal year might end on various - dates — you can record the end date of your fiscal year in this field. - * `averageNumberOfDevs`: The average number of full-time equivalent - developers employed by your company during that fiscal year. - * `payments`: The total US dollar amount of cash contributions you have - made towards Open Source maintainers and foundations during this fiscal - year. - * `monetaryValueofTime`, `monetaryValueOfMaterials`: You may also - optionally specify, in approximate US dollar equivalents, your - contributions to the Open Source ecosystem in sponsored developer time - (in `monetaryValueOfTime`) or gifts in kind (in - `monetaryValueOfMaterials`). While we acknowledge that contributions in - time and in kind are important, they are not included in the cash pledge - amount. They will still be displayed on your member page. -5. **Create a pull request to add yourself to the member list** by changing - [members.csv][members-csv]. -6. **Include links to your branding materials** in the pull request so that we - can promote you! For those pledging before September 15, this means you'll be - included in our major outdoor advertising campaign. - -Once that's all done, you'll officially be a member. This means that your -company and reports will show up on [our website][osp], and you'll be entitled -to use the [Open Source Pledge Member logo][member-logo] on your website and -marketing materials if you wish. Thank you so much for joining us in -contributing to a healthy Open Source ecosystem that supports maintainers. - -If you have any questions, feel free to [open an issue][new-issue], and the -relevant member of our team will get back to you. - -[osd]: https://opensource.org/osd -[example-report]: https://github.com/opensourcepledge/osspledge.com/blob/main/contrib/example-schema.json -[schema]: https://github.com/opensourcepledge/osspledge.com/blob/main/src/content/config.ts -[members-csv]: https://github.com/opensourcepledge/osspledge.com/blob/main/members.csv -[member-logo]: https://github.com/opensourcepledge/osspledge.com/tree/main/public/logos -[new-issue]: https://github.com/opensourcepledge/osspledge.com/issues/new -[sentry-2023-post]: https://blog.sentry.io/we-just-gave-500-000-dollars-to-open-source-maintainers/ -[astral-post]: https://astral.sh/blog/astral-oss-fund -[osp-github-reporter]: https://github.com/opensourcepledge/osp-github-reporter -[thanksd]: https://thanks.dev +**https://github.com/opensourcepledge/osspledge.com/issues/4** ## Want to Help? @@ -107,29 +21,6 @@ issues or [on Discord][discord]. [issues]: https://github.com/opensourcepledge/osspledge.com/issues [discord]: https://discord.gg/svH5XzDsBd -## Maintainers - -Open Source Pledge is not involved in any flow of funds and so we do not -directly onboard maintainers. For projects that do not have existing ways to -recieve funds, the following is a partial list of platforms, in alphabetical -order only, that enable funding of Open Source projects. - -- [Apache Software Foundation: Incubator](https://incubator.apache.org/) -- [Buy Me a Coffee](https://www.buymeacoffee.com/) -- [GitHub Sponsors](https://github.com/sponsors) -- [IssueHunt](https://issuehunt.io/) -- [Ko-fi](https://ko-fi.com/) -- [LFX Mentorship](https://lfx.linuxfoundation.org/tools/mentorship) -- [Liberapay](https://en.liberapay.com/) -- [Open Collective](https://opencollective.com/) -- [Patreon](https://www.patreon.com/) -- [Polar](https://www.polar.sh/) -- [Software Freedom Conservancy (SFC)](https://sfconservancy.org/projects/apply/) -- [Software in the Public Interest (SPI)](https://www.spi-inc.org/projects/associated-project-howto/) -- [StackAid](https://www.stackaid.us/) -- [Thanks.dev](https://thanks.dev/) -- [Tidelift](https://tidelift.com/) - ## Governance and Structure We have four working groups and a steering committee comprised of working group @@ -142,3 +33,9 @@ leads. | marketing & media | [**@selviano**](https://github.com/selviano) | | design / build | [**@chadwhitacre**](https://github.com/chadwhitacre) | | steering | [**@chadwhitacre**](https://github.com/chadwhitacre) | + +## Maintainers + +Open Source Pledge is for companies. If you are a maintainer, or represent a +foundation or funding platform, join an upcoming [ecosystem partners +call](https://cal.com/osspledge/ecosystem-call) to learn more and be heard. diff --git a/src/pages/index.astro b/src/pages/index.astro index fdac27bc..55e4b78a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -56,8 +56,8 @@ import Button from "../components/Button.astro"; diff --git a/src/pages/join.astro b/src/pages/join.astro new file mode 100644 index 00000000..8553efd6 --- /dev/null +++ b/src/pages/join.astro @@ -0,0 +1,238 @@ +--- +import Layout from "../layouts/Layout.astro"; +import Prose from "../components/Prose.astro"; +import Button from "../components/Button.astro"; +--- + + +
+ + + +

How to Join the Pledge

+

+ Want to join the Pledge and contribute to a healthy Open Source ecosystem? + We’d love to have you! 🎈 +

+

Here’s how to join:

+
    +
  1. + Donate $2,000 per full-time equivalent developer on staff + to Open Source maintainers or foundations of your choice, and commit to + doing so in future years. The projects you’re donating to should meet + the + Open Source Definition. Of + course, this includes any existing donations you’ve made this fiscal + year. You can donate to any projects you like, but if you need help + figuring out which projects you depend on, you can use a tool like + Thanks.dev. +
  2. +
  3. + Publish a blog post, or equivalent, on your company + website, detailing the contributions your company has made to the Open + Source ecosystem this fiscal year. This post does not need to be long or + exhaustive. If in doubt, check out sample posts by + Sentry + or + Astral. +
      +
    • + Ideally, this post would include an itemized list of how much was + paid to each maintainer/foundation. When this is undesirable or + unrealistic, we ask that you make a best effort. To more + conveniently get an itemized list, consider using the + Open Source Pledge GitHub Reporter, or Thanks.dev. +
    • +
    +
  4. +
  5. + 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 + or the + full schema. +
      +
    • + You should update this JSON file at least once per calendar year — + we’ll fetch it regularly. +
    • +
    • + All amounts are in USD so that different reports can be compared to + each other. If you’re using a different currency, you should convert + all amounts to the USD equivalents, using the most appropriate + exchange rate. +
    • +
    • name: The name of your company.
    • +
    • + description: Will be shown on your member page and + ideally includes a general description of your company and some + notes on your company’s relationship with Open Source software. +
    • +
    • + urlLearnMore: A URL not to your company’s homepage, but + to some kind of page that describes your relationship to Open Source + and/or your commitment to supporting Open Source. This page need not + be exhaustive. +
    • +
    • + urlSquareLogoWithBackground: Your logo, which should be + square and have a non-transparent background. This image should be + between 400x400px and 800x800px, and should be appropriately + compressed. +
    • +
    • + Each annualReport should contain: +
        +
      • + url: The URL to the blog post for this fiscal year, + as detailed above. +
      • +
      • + dateYearEnding: We understand your fiscal year + might end on various dates — you can record the end date of your + fiscal year in this field. +
      • +
      • + averageNumberOfDevs: The average number of + full-time equivalent developers employed by your company during + that fiscal year. +
      • +
      • + payments: The total US dollar amount of cash + contributions you have made towards Open Source maintainers and + foundations during this fiscal year. +
      • +
      • + monetaryValueofTime, + monetaryValueOfMaterials: You may also optionally + specify, in approximate US dollar equivalents, your + contributions to the Open Source ecosystem in sponsored + developer time (in monetaryValueOfTime) or gifts in + kind (in monetaryValueOfMaterials). While we + acknowledge that contributions in time and in kind are + important, they are not included in the cash pledge amount. They + will still be displayed on your member page. +
      • +
      +
    • +
    +
  6. +
  7. + Create a pull request to add yourself to the member list + by changing + members.csv. +
  8. +
  9. + Include links to your branding materials in the pull + request so that we can promote you! For those pledging before September + 15, this means you’ll be included in our major outdoor advertising + campaign. +
  10. +
+

+ Once that’s all done, you’ll officially be a member. This means that your + company and reports will show up on [our website][osp], and you’ll be + entitled to use the + Open Source Pledge Member logo + on your website and marketing materials if you wish. Thank you so much for + joining us in contributing to a healthy Open Source ecosystem that + supports maintainers. +

+

+ If you have any questions, feel free to + open an issue, and the relevant member of our team will get back to you. +

+ +
+
+
+ + + From c2b7e7ebf27571e3e966e2ac0ce2789ce1537e86 Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Tue, 27 Aug 2024 18:36:33 -0400 Subject: [PATCH 2/9] Doesn't need to be a fiscal year --- src/pages/join.astro | 99 ++++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/src/pages/join.astro b/src/pages/join.astro index 8553efd6..8081f900 100644 --- a/src/pages/join.astro +++ b/src/pages/join.astro @@ -4,18 +4,19 @@ import Prose from "../components/Prose.astro"; import Button from "../components/Button.astro"; --- - -
+ +
- +

How to Join the Pledge

- Want to join the Pledge and contribute to a healthy Open Source ecosystem? - We’d love to have you! 🎈 + Want to join the Pledge and contribute to a healthy Open Source + ecosystem? We’d love to have you! 🎈

Here’s how to join:

    @@ -23,19 +24,20 @@ import Button from "../components/Button.astro"; Donate $2,000 per full-time equivalent developer on staff - to Open Source maintainers or foundations of your choice, and commit to - doing so in future years. The projects you’re donating to should meet - the + to Open Source maintainers or + foundations of your choice, + and commit to doing so in future years. The projects you’re donating + to should meet the Open Source Definition. Of - course, this includes any existing donations you’ve made this fiscal - year. You can donate to any projects you like, but if you need help - figuring out which projects you depend on, you can use a tool like + course, this includes any existing donations you’ve made this year. + You can donate to any projects you like, but if you need help figuring + out which projects you depend on, you can use a tool like Thanks.dev.
  1. Publish a blog post, or equivalent, on your company website, detailing the contributions your company has made to the Open - Source ecosystem this fiscal year. This post does not need to be long or + Source ecosystem the past year. This post does not need to be long or exhaustive. If in doubt, check out sample posts by
  2. Create a short JSON file with your company and donation infoCreate a short JSON file with your company and donation + info, and host it at any URL you wish. You can check out an
  3. - All amounts are in USD so that different reports can be compared to - each other. If you’re using a different currency, you should convert - all amounts to the USD equivalents, using the most appropriate - exchange rate. + All amounts are in USD so that different reports can be compared + to each other. If you’re using a different currency, you should + convert all amounts to the USD equivalents, using the most + appropriate exchange rate.
  4. name: The name of your company.
  5. @@ -86,49 +89,48 @@ import Button from "../components/Button.astro"; notes on your company’s relationship with Open Source software.
  6. - urlLearnMore: A URL not to your company’s homepage, but - to some kind of page that describes your relationship to Open Source - and/or your commitment to supporting Open Source. This page need not - be exhaustive. + urlLearnMore: A URL either to your company’s homepage + or, better yet, to some kind of page that describes your + relationship to Open Source and/or your commitment to supporting + Open Source. This page need not be exhaustive.
  7. - urlSquareLogoWithBackground: Your logo, which should be - square and have a non-transparent background. This image should be - between 400x400px and 800x800px, and should be appropriately + urlSquareLogoWithBackground: Your logo, which should + be square and have a non-transparent background. This image should + be between 400x400px and 800x800px, and should be appropriately compressed.
  8. Each annualReport should contain:
    • - url: The URL to the blog post for this fiscal year, - as detailed above. + dateYearEnding: The end date of the year you are + reporting on.
    • - dateYearEnding: We understand your fiscal year - might end on various dates — you can record the end date of your - fiscal year in this field. + url: The URL to the blog post for the year in + question, as detailed above.
    • averageNumberOfDevs: The average number of - full-time equivalent developers employed by your company during - that fiscal year. + full-time equivalent developers employed by your company + during the year.
    • payments: The total US dollar amount of cash - contributions you have made towards Open Source maintainers and - foundations during this fiscal year. + contributions you have made towards Open Source maintainers + and foundations during the year.
    • monetaryValueofTime, monetaryValueOfMaterials: You may also optionally specify, in approximate US dollar equivalents, your contributions to the Open Source ecosystem in sponsored - developer time (in monetaryValueOfTime) or gifts in - kind (in monetaryValueOfMaterials). While we + developer time (in monetaryValueOfTime) or gifts + in kind (in monetaryValueOfMaterials). While we acknowledge that contributions in time and in kind are - important, they are not included in the cash pledge amount. They - will still be displayed on your member page. + important, they are not included in the cash pledge amount. + They will still be displayed on your member page.
  9. @@ -146,21 +148,21 @@ import Button from "../components/Button.astro";
  10. Include links to your branding materials in the pull - request so that we can promote you! For those pledging before September - 15, this means you’ll be included in our major outdoor advertising - campaign. + request so that we can promote you! For those pledging before + September 15, this means you’ll be included in our major outdoor + advertising campaign.

- Once that’s all done, you’ll officially be a member. This means that your - company and reports will show up on [our website][osp], and you’ll be - entitled to use the + Once that’s all done, you’ll officially be a member. This means that + your company and reports will show up on [our website][osp], and you’ll + be entitled to use the Open Source Pledge Member logo - on your website and marketing materials if you wish. Thank you so much for - joining us in contributing to a healthy Open Source ecosystem that + on your website and marketing materials if you wish. Thank you so much + for joining us in contributing to a healthy Open Source ecosystem that supports maintainers.

@@ -169,7 +171,6 @@ import Button from "../components/Button.astro"; >open an issue, and the relevant member of our team will get back to you.

-
From 8121f5109ad69415eb9d2d545c15c4c215269717 Mon Sep 17 00:00:00 2001 From: Vlad-Stefan Harbuz Date: Tue, 27 Aug 2024 23:54:45 +0100 Subject: [PATCH 3/9] Fix navless type --- src/pages/join.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/join.astro b/src/pages/join.astro index 8081f900..37f78094 100644 --- a/src/pages/join.astro +++ b/src/pages/join.astro @@ -4,7 +4,7 @@ import Prose from "../components/Prose.astro"; import Button from "../components/Button.astro"; --- - +
Date: Tue, 27 Aug 2024 23:55:11 +0100 Subject: [PATCH 4/9] Remove unused Button import --- src/pages/join.astro | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/join.astro b/src/pages/join.astro index 37f78094..a5833a0e 100644 --- a/src/pages/join.astro +++ b/src/pages/join.astro @@ -1,7 +1,6 @@ --- import Layout from "../layouts/Layout.astro"; import Prose from "../components/Prose.astro"; -import Button from "../components/Button.astro"; --- From 17fb354ef389cb60f6ff99127daf67a90d8cb4c3 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Tue, 27 Aug 2024 18:38:50 -0500 Subject: [PATCH 5/9] Onboard Astral --- members.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/members.csv b/members.csv index 250f7e9c..d5ddabbd 100644 --- a/members.csv +++ b/members.csv @@ -1 +1,2 @@ sentry,https://open.sentry.io/osspledge.json +astral,https://astral.sh/static/osspledge.json From 2eeafb8e44efc210a61109c66f52bb03b5ce770b Mon Sep 17 00:00:00 2001 From: Open Source Pledge GitHub Action Runner Date: Wed, 28 Aug 2024 09:01:33 +0000 Subject: [PATCH 6/9] Add changes to src/content/members (automated commit) --- src/content/members/astral.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/content/members/astral.json diff --git a/src/content/members/astral.json b/src/content/members/astral.json new file mode 100644 index 00000000..00d280a6 --- /dev/null +++ b/src/content/members/astral.json @@ -0,0 +1,14 @@ +{ + "description": "Open source software is at the heart of Astral. We're excited to establish a precedent for giving early and often. We hope to encourage, empower, and thank open source maintainers that inspire us.", + "name": "Astral", + "urlSquareLogoWithBackground": "https://avatars.githubusercontent.com/u/115962839?s=200&v=4", + "urlLearnMore": "https://astral.sh/blog/astral-oss-fund", + "annualReports": [ + { + "url": "https://astral.sh/blog/astral-oss-fund", + "dateYearEnding": "2024-07-31", + "averageNumberOfDevs": 8, + "payments": 26000 + } + ] +} \ No newline at end of file From 51fb967a865ae1719b3a93736cafff8464aea872 Mon Sep 17 00:00:00 2001 From: Vlad-Stefan Harbuz Date: Wed, 28 Aug 2024 10:15:01 +0100 Subject: [PATCH 7/9] Fix title tags --- src/layouts/Layout.astro | 6 +++--- src/pages/index.astro | 2 +- src/pages/join.astro | 2 +- src/pages/members/[id].astro | 2 +- src/pages/members/index.astro | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 37d2920e..1516c8d7 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,6 +1,6 @@ --- interface Props { - title: string; + title?: string; navless: boolean; } @@ -15,11 +15,11 @@ const { title, navless } = Astro.props; - Open Source Pledge + { title ? (title + " | Open Source Pledge") : "Open Source Pledge" } - + diff --git a/src/pages/index.astro b/src/pages/index.astro index 55e4b78a..bffd045e 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,7 +4,7 @@ import Prose from "../components/Prose.astro"; import Button from "../components/Button.astro"; --- - +
+
+
+ From 7329d4d0414983d44c44cf3922ab822f73128455 Mon Sep 17 00:00:00 2001 From: Vlad-Stefan Harbuz Date: Wed, 28 Aug 2024 10:17:21 +0100 Subject: [PATCH 8/9] join: fix link --- src/pages/join.astro | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/join.astro b/src/pages/join.astro index a5833a0e..b7d93f3c 100644 --- a/src/pages/join.astro +++ b/src/pages/join.astro @@ -154,8 +154,11 @@ import Prose from "../components/Prose.astro";

Once that’s all done, you’ll officially be a member. This means that - your company and reports will show up on [our website][osp], and you’ll - be entitled to use the + your company and reports will show up on + our website, and you’ll be entitled to use the Open Source Pledge Member logo Date: Wed, 28 Aug 2024 12:28:36 -0400 Subject: [PATCH 9/9] Fix bounds on member buckets --- src/components/Leaderboard.astro | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/Leaderboard.astro b/src/components/Leaderboard.astro index 6206055d..5bb1495a 100644 --- a/src/components/Leaderboard.astro +++ b/src/components/Leaderboard.astro @@ -19,11 +19,11 @@ const members = await getMembers(); * developers will be placed in the second one, and so on. */ const DEV_GROUP_BOUNDS: [number, number][] = [ - [Infinity, 25001], - [25000, 10001], - [10000, 1001], - [1001, 100], - [100, 1], + [Infinity, 25000], + [24999, 10000], + [9999, 1000], + [999, 100], + [99, 1], ]; function formatDevGroupBounds([max, min]: [number, number]) {