diff --git a/archetypes/posts.md b/archetypes/posts.md new file mode 100644 index 0000000..2c8b7ec --- /dev/null +++ b/archetypes/posts.md @@ -0,0 +1,16 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +show_reading_time: true +authors: [] +summary: "" +categories: [] +cover: + image: "" + alt: "" + caption: "" + relative: false +tags: +- +draft: true +--- diff --git a/assets/ananke/css/opensourcestories.css b/assets/ananke/css/opensourcestories.css index 3856e37..63cc701 100644 --- a/assets/ananke/css/opensourcestories.css +++ b/assets/ananke/css/opensourcestories.css @@ -1,3 +1,8 @@ +:root { + --oss-dark-green: #021C0E; + --almost-black: #222222; +} + .measure-wide { max-width: 68em; } @@ -7,7 +12,7 @@ } .oss-dark-green { - background-color: #021C0E; + background-color: var(--oss-dark-green); } footer { @@ -53,6 +58,18 @@ body { .ananke-socials a { display: inline-block; vertical-align: middle; - color: #ffffff; - fill: currentColor; + color: #fff; + fill: #fff; +} + +.ananke-socials-share a { + display: inline-block; + vertical-align: middle; + color: var(--oss-dark-green); + fill: var(--oss-dark-green); +} + +.ananke-socials-share a .icon svg { + width: 32px; + height: 32px; } \ No newline at end of file diff --git a/assets/ananke/socials/github.svg b/assets/ananke/socials/github.svg new file mode 100644 index 0000000..c8b285d --- /dev/null +++ b/assets/ananke/socials/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/ananke/socials/linkedin.svg b/assets/ananke/socials/linkedin.svg new file mode 100644 index 0000000..7ebafa1 --- /dev/null +++ b/assets/ananke/socials/linkedin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/ananke/socials/mastodon.svg b/assets/ananke/socials/mastodon.svg new file mode 100644 index 0000000..15b3483 --- /dev/null +++ b/assets/ananke/socials/mastodon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/ananke/socials/twitter.svg b/assets/ananke/socials/twitter.svg new file mode 100644 index 0000000..e949aff --- /dev/null +++ b/assets/ananke/socials/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/config.toml b/config.toml index baeb494..70e9599 100644 --- a/config.toml +++ b/config.toml @@ -18,23 +18,52 @@ googleAnalytics = "G-7TL98FG4D8" identifier = "about" name = "About" url = "/about/" + weight = 1 + [[menu.main]] + identifier = "contribute" + name = "Contribute" + url = "/contribute/" + weight = 1 + [[menu.main]] + identifier = "stories" + name = "Stories" + url = "/stories/" + weight = 1 + [[menu.main]] + identifier = "posts" + name = "News" + url = "/posts/" + weight = 8 [[menu.main]] identifier = "storycorp" name = "StoryCorps" url = "https://archive.storycorps.org/communities/open-source-stories/" + weight = 10 [params] favicon = "favicon.ico" site_logo = "" - description = "The Open Source Stories project celebrates collaboration, communication, community and, more in open source by collecting narratives from creators, contributors, and consumers alike." - twitter = "https://twitter.com/StoriesOfOSS" - github = "https://github.com/opensourcestories" - rss = "/index.xml" + description = "The Open Source Stories project celebrates collaboration, communication, community and, more in open source by collecting narratives from creators, ors, and consumers alike." featured_image = "" recent_posts_number = 4 background_color_class = "oss-dark-green" custom_css = ["opensourcestories.css"] body_classes = "avenir almost-black" + [[params.ananke_socials]] + name = "mastodon" + url = "https://fedi.opensourcestories.org/@narrator" + [[params.ananke_socials]] + name = "github" + url = "https://github.com/opensourcestories" + [[params.ananke_socials]] + name = "linkedin" + url = "https://www.linkedin.com/company/open-source-stories" + [[params.ananke_socials]] + name = "twitter" + url = "https://twitter.com/StoriesOfOSS" + [[params.ananke_socials]] + name = "rss" + url = "/index.xml" [params.podcast] @@ -52,3 +81,6 @@ googleAnalytics = "G-7TL98FG4D8" name = "amanda casari" [author.julia] name = "julia ferraioli" + +[permalinks] + posts = '/posts/:year/:month/:title/' diff --git a/content/posts/_index.md b/content/posts/_index.md new file mode 100644 index 0000000..7447d87 --- /dev/null +++ b/content/posts/_index.md @@ -0,0 +1,4 @@ +--- +title: "Sporadic updates and information from the team" +summary: Sporadic updates and information from the team at Open Source Stories +--- \ No newline at end of file diff --git a/content/posts/maintainer-month-2023.md b/content/posts/maintainer-month-2023.md new file mode 100644 index 0000000..1c1bb34 --- /dev/null +++ b/content/posts/maintainer-month-2023.md @@ -0,0 +1,74 @@ +--- +title: "Maintainer Month 2023 recap" +date: 2023-06-12T12:26:10-07:00 +show_reading_time: true +authors: ["julia ferraioli"] +summary: "2023 was the first year that Open Source Stories participated in Maintainer Month. Here's a recap and breakdown of the true cost of participating." +categories: ["Operations"] +cover: + image: "" + alt: "" + caption: "" + relative: false +tags: +- Maintainer Month +- Operations +- Sustainability +- Finances +draft: false +--- +2023 was the first year that we participated in [Maintainer Month](https://maintainermonth.github.com/), which is a month that celebrates open source maintainers for their hard—and sometimes thankless—work. + +> _Disclosure: julia ferraioli served on the Maintainer Month 2023 Advisory Council._ + +In the spirit of _Maintainer Month_, we are sharing the work that went on behind the scenes to make our participation possible. + +## Open Source Stories recap + +During May, Open Source Stories had the privilege of capturing three narratives from open source maintainers who each provided fascinating insights into their unique experiences in open source. + +* [Duane O'Brien](https://www.duaneobrien.com/) explored a topic that deserves far more attention than it currently receives: [The critical human infrastructure of open source]({{< relref "critical-human-infrastructure.md" >}}) +* [Jessica Tegner](https://jessicategner.com/) shared how she made the leap from being a contributor to `pypandoc` to the maintainer for it in her story on [proactively offering help]({{< relref "journey-to-maintainership.md" >}}) +* [Filippo Valsorda](https://filippo.io/) described the unique burdens and responsibilities that come from [maintaining open source security projects]({{< relref "peculiarities-security-maintainership" >}}) + +We highly recommend catching up on these stories! + +## Time commitment + +Each of our stories is made possible by four roles: _coordinator_, _facilitator_, _editor_, and _publisher_. We break up the responsibilities as much as possible, but contributors will often serve in multiple capacities. For Maintainer Month, the time commitment for each role approximated: + +| Role | Time spent on tasks | +| :--- | ------------------: | +| Coordinator | 4 hours | +| Facilitator | 3 hours | +| Editor | 4 hours | +| Publisher | 2 hours | +| **Total** | **13 hours** | + +There's additional work in there! What about the storytellers themselves? We can add in their time commitment, which for three stories, came to ~2 hours. That brings us up to **15 hours** of work. + +## Financing the stories + +As we've gone along in the journey of Open Source Stories, we have tried to keep costs as low as possible. However, it became clear that to make it a viable project, we would need to incur some additional expenses. For instance, the editor's time commitment would be prohibitively higher if we didn't pay for human transcription services. For just the three stories we published during Maintainer Month, the approximate outlay for Open Source Stories was: + +| Service | Cost | +| :------ | ---: | +| Transcription | $82 | +| Audio hosting | $10 | +| Scheduling software | $30 | +| Productivity tools | $28 | +| **Total** | **$150** | + +Transcription is by far our highest expense, and our most valuable. Sure, we could _not_ have transcripts, but then our stories would not be accessible to all. Skipping transcription would marginalize some of the very people we aim to elevate. + +May's outlay was higher than our normal, but regularly capturing three stories per month would be amazing! It's something we hope to work towards. + +## Obligatory call to action + +Right now, there are two primary ways to help us keep capturing and sharing untold narratives of open source. + +The first is by volunteering as an editor! Editors make a **_huge_** difference in the quality of our finished stories. Being an editor requires an eye for detail, a passion for clarity, and periodic availability for asynchronous work. You can read more about the editing process and responsibilities for editors in our [editorial guide]({{< relref "editorial-guide.md" >}}). + +The second is much more mundane, but still critically important: contributing financially. As of the time of publishing, we have six wonderful sponsors that collectively contribute nearly $75 per month. We would not be able to operate the way we do today without them, _thank you_. If you would like to sponsor Open Source Stories, you may currently do so through [GitHub Sponsors](https://github.com/sponsors/opensourcestories). + +Until Maintainer Month 2024...keep celebrating maintainers 🥳 diff --git a/data/podcasts.json b/data/podcasts.json index b64fce3..bd18fd3 100644 --- a/data/podcasts.json +++ b/data/podcasts.json @@ -28,5 +28,11 @@ "subscribe": "https://www.google.com/podcasts?feed=aHR0cHM6Ly93d3cub3BlbnNvdXJjZXN0b3JpZXMub3JnL3N0b3JpZXMvaW5kZXgueG1s", "icon": "google.svg", "order": 0 + }, + "amazon": { + "name": "Amazon Music", + "subscribe": "https://music.amazon.com/podcasts/a1bac012-21cb-40eb-9538-1fd9460fafa8/open-source-stories", + "icon": "podcast.svg", + "order": 0 } } \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 9a0140c..fdfa08b 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -25,7 +25,7 @@

{{ end }} {{ if not .Date.IsZero }} -