Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
63d4ce1
Fix broken external links with live replacements and Web Archive URLs
mookwoo Apr 4, 2026
7fe75c9
Use specific Web Archive timestamps and fix garbled text
mookwoo Apr 4, 2026
5f8109e
Update link checker ignore list for geekfeminism.fandom.com
mookwoo Apr 4, 2026
c67f571
chore(deps): bump activesupport from 7.2.1.1 to 7.2.3.1
dependabot[bot] Apr 10, 2026
d74573b
chore(deps): bump the dependencies group across 1 directory with 2 up…
dependabot[bot] Apr 20, 2026
e1b13e7
Merge branch 'main' into fix/external-link-rot
ahpook Apr 24, 2026
918c6ca
Initial plan
Copilot Apr 24, 2026
b0b9261
Fix broken external links with Wayback Machine archive URLs
Copilot Apr 24, 2026
343c9a7
Merge pull request #3642 from github/copilot/fix-github-actions-ci-job
ahpook Apr 24, 2026
3fa913d
Merge pull request #3621 from github/dependabot/bundler/activesupport…
ahpook Apr 24, 2026
581fc4b
Merge branch 'main' into fix/external-link-rot
ahpook Apr 24, 2026
28bc3eb
chore(deps): bump rake in the dependencies group across 1 directory
dependabot[bot] Apr 24, 2026
9f99070
Update gitlab link, starred is no longer available in the explore int…
ahpook Apr 24, 2026
2d4818c
Merge pull request #3643 from github/ahpook/fix-gitlab-starred
ahpook Apr 24, 2026
e597b7a
Merge branch 'main' into fix/external-link-rot
ahpook Apr 24, 2026
e60c5cc
Fix stray newline
ahpook Apr 24, 2026
a60b04e
Merge pull request #3644 from github/fix/external-link-rot
ahpook Apr 24, 2026
c98d2cd
Merge pull request #3637 from github/dependabot/bundler/dependencies-…
ahpook Apr 24, 2026
c998445
Merge pull request #3638 from github/dependabot/github_actions/depend…
ahpook Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ jobs:
- name: Set up Git repository
uses: actions/checkout@v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@19a43a6a2428d455dbd1b85344698725179c9d8c # v1
uses: ruby/setup-ruby@7372622e62b60b3cb750dcd2b9e32c247ffec26a # v1
with:
bundler-cache: true
- name: Set up Node
uses: actions/setup-node@v6.3.0
uses: actions/setup-node@v6.4.0
- name: Bootstrap
run: script/bootstrap
env:
Expand Down
21 changes: 11 additions & 10 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (2.0.1)
activesupport (7.2.1.1)
activesupport (7.2.3.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
minitest (>= 5.1, < 6)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.9.0)
Expand All @@ -22,7 +23,7 @@ GEM
io-event (~> 1.11)
metrics (~> 0.12)
traces (~> 0.18)
base64 (0.2.0)
base64 (0.3.0)
benchmark (0.5.0)
bigdecimal (3.3.1)
coffee-script (2.4.1)
Expand All @@ -31,16 +32,16 @@ GEM
coffee-script-source (1.12.2)
colorator (1.1.0)
commonmarker (0.23.10)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
concurrent-ruby (1.3.6)
connection_pool (3.0.2)
console (1.34.3)
fiber-annotation
fiber-local (~> 1.1)
json
csv (3.3.0)
dnsruby (1.72.2)
simpleidn (~> 0.2.1)
drb (2.2.1)
drb (2.2.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
Expand Down Expand Up @@ -139,7 +140,7 @@ GEM
yell (~> 2.0)
zeitwerk (~> 2.5)
http_parser.rb (0.8.0)
i18n (1.14.6)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
io-event (1.15.1)
jekyll (3.10.0)
Expand Down Expand Up @@ -269,7 +270,7 @@ GEM
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.25.1)
minitest (5.27.0)
net-http (0.9.1)
uri (>= 0.11.1)
nokogiri (1.19.2)
Expand Down Expand Up @@ -307,7 +308,7 @@ GEM
public_suffix (5.1.1)
racc (1.8.1)
rainbow (3.1.1)
rake (13.3.1)
rake (13.4.2)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
Expand All @@ -324,7 +325,7 @@ GEM
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.3.1)
securerandom (0.4.1)
simpleidn (0.2.3)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
Expand Down
4 changes: 2 additions & 2 deletions _articles/ar/best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ related:

لا تترك مساهمة لا ترغب بها مفتوحة فقط لأنك تشعر بالذنب أو بدافع اللطف. مع مرور الوقت، تراكم issues و PRs غير المردود عليها سيجعل العمل على مشروعك أكثر توترًا ويخلق شعورًا بالرهبة.

من الأفضل أن تقوم بإغلاق المساهمات التي تعلم مسبقًا أنك لن تقبلها، وبشكل فوري. وإذا كان مشروعك يعاني بالفعل من backlog كبير، فإن @steveklabnik يقدّم نصائح ممتازة حول [كيفية إجراء triage للـ issues بطريقة فعّالة](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
من الأفضل أن تقوم بإغلاق المساهمات التي تعلم مسبقًا أنك لن تقبلها، وبشكل فوري. وإذا كان مشروعك يعاني بالفعل من backlog كبير، فإن @steveklabnik يقدّم نصائح ممتازة حول [كيفية إجراء triage للـ issues بطريقة فعّالة](https://steveklabnik.com/writing/how-to-be-an-open-source-gardener).

أيضًا، تجاهل المساهمات يرسل إشارة سلبية إلى الـ community. المشاركة في مشروع مفتوح المصدر قد تكون خطوة مخيفة، خصوصًا إذا كانت هذه أول تجربة للشخص. حتى إن لم تقبل المساهمة، فمن المهم الاعتراف بجهد صاحبها وشكره على اهتمامه، فمجرد مشاركته هو بمثابة مجاملة كبيرة للمشروع!

Expand Down Expand Up @@ -227,7 +227,7 @@ related:
أنا أؤمن بأن tests ضرورية لكل code يعمل عليه الناس. فلو كان code صحيحًا وكاملًا تمامًا، لما احتاج إلى أي تعديل – نحن نكتب code فقط عندما يكون هناك خلل، سواء كان سببًا في It crashes أو لغياب ميزة معينة .
وبغض النظر عن التغييرات، تظل tests أساسية لاكتشاف أي regressions قد تدخلها عن طريق الخطأ
<p markdown="1" class="pquote-credit">
— @edunham, ["Rust's Community Automation"](https://edunham.net/2016/09/27/rust_s_community_automation.html)
— @edunham, ["Rust's Community Automation"](https://web.archive.org/web/20161020132400/https://edunham.net/2016/09/27/rust_s_community_automation.html)
</p>
</aside>

Expand Down
6 changes: 3 additions & 3 deletions _articles/ar/building-community.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ related:
<img src="https://avatars.githubusercontent.com/okdistribute?s=180" class="pquote-avatar" alt="avatar">
الحقيقة هي أن وجود مجتمع داعم أمر أساسي. لم أكن لأتمكن من القيام بهذا العمل بدون مساعدة زملائي، الغرباء الودودين على الإنترنت، وقنوات IRC الممتعة للتحدث. (...) لا تقبل بأقل من ذلك. ولا تقبل بالأشخاص السلبيين (assholes).
<p markdown="1" class="pquote-credit">
— @okdistribute, ["كيفية إدارة مشروع FOSS"](https://okdistribute.xyz/post/okf-de)
— @okdistribute, "كيفية إدارة مشروع FOSS"
</p>
</aside>

Expand Down Expand Up @@ -165,7 +165,7 @@ related:

* **ابدأ بملف CONTRIBUTORS أو AUTHORS في مشروعك** يسرد جميع من ساهم في مشروعك، كما يفعل [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).

* إذا كان لديك مجتمع كبير، **أرسل newsletter أو اكتب مدونة** لشكر المساهمين. أمثلة جيدة على ذلك: Rust's [This Week in Rust](https://this-week-in-rust.org/) و Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html).
* إذا كان لديك مجتمع كبير، **أرسل newsletter أو اكتب مدونة** لشكر المساهمين. أمثلة جيدة على ذلك: Rust's [This Week in Rust](https://this-week-in-rust.org/) و Hoodie's [Shoutouts](https://web.archive.org/web/20160516163538/http://hood.ie/blog/shoutouts-week-24.html).

* **امنح كل مساهم صلاحية commit.** وجد @felixge أن هذا جعل الناس [أكثر حماسًا لتحسين التعديلات الخاصة بهم](https://felixge.de/2013/03/11/the-pull-request-hack.html)، وحتى وجد مساهمين جدد لمشاريع لم يعمل عليها منذ فترة.

Expand All @@ -179,7 +179,7 @@ related:
<img src="https://avatars.githubusercontent.com/gr2m?s=180" class="pquote-avatar" alt="avatar">
من مصلحتك جذب المساهمين الذين يستمتعون ويستطيعون القيام بالأشياء التي لا تستطيع القيام بها. هل تحب البرمجة لكن لا تحب الرد على issues؟ إذن حدد هؤلاء الأشخاص في مجتمعك ودعهم يتولون ذلك.
<p markdown="1" class="pquote-credit">
— @gr2m, ["المجتمعات الترحيبية"](http://hood.ie/blog/welcoming-communities.html)
— @gr2m, ["المجتمعات الترحيبية"](https://web.archive.org/web/20160516130845/http://hood.ie/blog/welcoming-communities.html)
</p>
</aside>

Expand Down
4 changes: 2 additions & 2 deletions _articles/ar/getting-paid.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ related:
أخيرًا، في بعض الأحيان تضع مشاريع المصادر المفتوحة مكافآت على المشكلات التي قد تفكر في المساعدة في حلها.

* @ConnorChristie تمكن من الحصول على أجر مقابل [مساعدة](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol العمل على مكتبة JavaScript الخاصة بهم [من خلال مكافأة على gitcoin](https://gitcoin.co/).
* @mamiM قامت بترجمة @MetaMask إلى اللغة اليابانية بعد [تم تمويل هذه المشكلة على شبكة Bounties Network](https://explorer.bounties.network/bounty/134).
* @mamiM قامت بترجمة @MetaMask إلى اللغة اليابانية بعد [تم تمويل هذه المشكلة على شبكة Bounties Network](https://web.archive.org/web/20210902135755/https://explorer.bounties.network/bounty/134).

## العثور على تمويل لمشروعك

Expand All @@ -117,7 +117,7 @@ related:
ومن أمثلة المشاريع التي تم تمويلها ما يلي:

* **[webpack](https://github.com/webpack)** يجمع الأموال من الشركات والأفراد [من خلال OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** منظمة غير ربحية تدفع مقابل العمل على [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), وغيرها من مشاريع البنية التحتية ل Ruby
* **[Ruby Together](https://web.archive.org/web/20221213183825/https://rubytogether.org/),** منظمة غير ربحية تدفع مقابل العمل على [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), وغيرها من مشاريع البنية التحتية ل Ruby

### إنشاء مصدر للإيرادات

Expand Down
10 changes: 5 additions & 5 deletions _articles/ar/how-to-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ related:
<img src="https://avatars.githubusercontent.com/errietta?s=180" class="pquote-avatar" alt="avatar">
العمل على <span dir="rtl">Freenode</span> ساعدني على اكتساب الكثير من المهارات التي استخدمتها لاحقًا في دراستي الجامعية وفي عملي الفعلي. أعتقد أن العمل على مشاريع مفتوحة المصدر يساعدني بقدر ما يساعد المشروع!
<p markdown="1" class="pquote-credit">
— [@errietta](https://github.com/errietta), ["Why cd opensourceI love contributing to open source software"](https://www.errietta.me/blog/open-source/)
— [@errietta](https://github.com/errietta), ["Why I love contributing to open source software"](https://web.archive.org/web/20251207070642/https://www.errietta.me/blog/open-source/)
</p>
</aside>

Expand Down Expand Up @@ -70,7 +70,7 @@ related:
<img src="https://avatars.githubusercontent.com/orta?s=180" class="pquote-avatar" alt="avatar">
أنا معروف بعملي على<span dir="rtl">CocoaPods</span> لكن في الواقع، معظم الناس لا يعلمون أنني لا أقوم بأيّ عمل حقيقيّ على أداة <span dir="rtl">CocoaPods</span> نفسها. معظم وقتي في المشروع يُقضى في أمور مثل توثيق المشروع والعمل على <span dir="rtl">(branding)</span> بناء هُويّته.
<p markdown="1" class="pquote-credit">
— [@orta](https://github.com/orta), ["Moving to OSS by default"](https://academy.realm.io/posts/orta-therox-moving-to-oss-by-default/)
— [@orta](https://github.com/orta), ["Moving to OSS by default"](https://web.archive.org/web/20190922123729/https://academy.realm.io/posts/orta-therox-moving-to-oss-by-default/)
</p>
</aside>

Expand All @@ -93,7 +93,7 @@ related:

* اكتُب وطوّر توثيق المشروع, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151)
* نظّم مجلدًا يحتوي على أمثلة توضح كيفية استخدام المشروع
* أطلِق نشرة إخبارية للمشروع، أو نظّم أبرز المحتويات من قائمة البريد الإلكتروني, [like @opensauced did for their product](https://news.opensauced.pizza/about/)
* أطلِق نشرة إخبارية للمشروع، أو نظّم أبرز المحتويات من قائمة البريد الإلكتروني, [like @opensauced did for their product](https://web.archive.org/web/20231001000000*/https://news.opensauced.pizza/about/)
* اكتب شروحات <span dir="rtl">(Tutorials)</span> للمشروع, [like PyPA's contributors did](https://packaging.python.org/)
* اكتب ترجمة لتوثيق المشروع, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)

Expand Down Expand Up @@ -231,8 +231,8 @@ related:
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
* [GitLab Explore](https://gitlab.com/explore/projects/starred)
* [OpenSauced](https://web.archive.org/web/20250911171437/https://opensauced.pizza/)
* [GitLab Explore](https://gitlab.com/explore/projects/trending)

### قائمة تحقّق قبل أن تساهم {#قائمة-تحقّق-قبل-أن-تساهم}

Expand Down
2 changes: 1 addition & 1 deletion _articles/ar/leadership-and-governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ related:

* **BDFL:** BDFL اختصار لعبارة "المستبد الخيّر مدى الحياة". في هذا الهيكل، يكون لشخص واحد (عادة مؤلف المشروع الأصلي) الكلمة الأخيرة في جميع القرارات الكبرى للمشروع. [بايثون](https://github.com/python) يُعد مثال Python كلاسيكيًا على هذا الهيكل، غالبًا ما تكون المشاريع الصغيرة BDFL بشكل افتراضي، نظرًا لوجود مشرف واحد أو مشرفين فقط، كما أن المشروع الذي نشأ داخل شركة قد يندرج أيضًا تحت فئة BDFL.

* **الحوكمة على أساس الجدارة:** **(ملاحظة: مصطلح "meritocracy" يحمل دلالات سلبية لدى بعض المجتمعات وله [تاريخ اجتماعي وسياسي معقد](http://geekfeminism.wikia.com/wiki/Meritocracy).)** في هيكل الحوكمة على أساس الجدارة (Meritocracy)، يُمنح المساهمون النشطون في المشروع (أي الذين يظهرون "جدارتهم") دورًا رسميًا في اتخاذ القرارات، عادةً ما تُتخذ القرارات بناءً على إجماع التصويت البحت، تم تطوير مفهوم الحوكمة على أساس الجدارة بواسطة [مؤسسة Apache](https://www.apache.org/); [جميع مشاريع Apache](https://www.apache.org/index.html#projects-list) تتبع نموذج الحوكمة على أساس الجدارة، ويمكن تقديم المساهمات فقط من قبل أفراد يمثلون أنفسهم، وليس من قبل أي شركة.
* **الحوكمة على أساس الجدارة:** **(ملاحظة: مصطلح "meritocracy" يحمل دلالات سلبية لدى بعض المجتمعات وله [تاريخ اجتماعي وسياسي معقد](https://geekfeminism.fandom.com/wiki/Meritocracy).)** في هيكل الحوكمة على أساس الجدارة (Meritocracy)، يُمنح المساهمون النشطون في المشروع (أي الذين يظهرون "جدارتهم") دورًا رسميًا في اتخاذ القرارات، عادةً ما تُتخذ القرارات بناءً على إجماع التصويت البحت، تم تطوير مفهوم الحوكمة على أساس الجدارة بواسطة [مؤسسة Apache](https://www.apache.org/); [جميع مشاريع Apache](https://www.apache.org/index.html#projects-list) تتبع نموذج الحوكمة على أساس الجدارة، ويمكن تقديم المساهمات فقط من قبل أفراد يمثلون أنفسهم، وليس من قبل أي شركة.

* **Liberal contribution:** في نموذج Liberal contribution، يُعترف بالأشخاص الذين يقومون بأكبر قدر من العمل على أنهم الأكثر تأثيرًا، لكن هذا الاعتراف يعتمد على العمل الحالي وليس على المساهمات التاريخية، تُتخذ القرارات الكبرى في المشروع بناءً على عملية البحث عن التوافق (مناقشة القضايا الكبرى) بدلاً من التصويت البحت، مع السعي لإشراك أكبر عدد ممكن من وجهات نظر المجتمع، من الأمثلة الشهيرة على المشاريع التي تستخدم نموذج Liberal contribution: [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).

Expand Down
4 changes: 2 additions & 2 deletions _articles/best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ If you receive a contribution you don't want to accept, your first reaction migh

Don't leave an unwanted contribution open because you feel guilty or want to be nice. Over time, your unanswered issues and PRs will make working on your project feel that much more stressful and intimidating.

It's better to immediately close the contributions you know you don't want to accept. If your project already suffers from a large backlog, @steveklabnik has suggestions for [how to triage issues efficiently](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
It's better to immediately close the contributions you know you don't want to accept. If your project already suffers from a large backlog, @steveklabnik has suggestions for [how to triage issues efficiently](https://steveklabnik.com/writing/how-to-be-an-open-source-gardener).

Secondly, ignoring contributions sends a negative signal to your community. Contributing to a project can be intimidating, especially if it's someone's first time. Even if you don't accept their contribution, acknowledge the person behind it and thank them for their interest. It's a big compliment!

Expand Down Expand Up @@ -223,7 +223,7 @@ If you add tests, make sure to explain how they work in your CONTRIBUTING file.
<img src="https://avatars.githubusercontent.com/edunham?s=180" class="pquote-avatar" alt="avatar">
I believe that tests are necessary for all code that people work on. If the code was fully and perfectly correct, it wouldn't need changes – we only write code when something is wrong, whether that's "It crashes" or "It lacks such-and-such a feature". And regardless of the changes you're making, tests are essential for catching any regressions you might accidentally introduce.
<p markdown="1" class="pquote-credit">
— @edunham, ["Rust's Community Automation"](https://edunham.net/2016/09/27/rust_s_community_automation.html)
— @edunham, ["Rust's Community Automation"](https://web.archive.org/web/20161020132400/https://edunham.net/2016/09/27/rust_s_community_automation.html)
</p>
</aside>

Expand Down
Loading
Loading