📦 Alin Li · نواتج المشاريع مفتوحة المصدر

Every Type of نتاج برمجي مفتوح المصدر

مكتبة، إطار عمل، حزمة، ملف ثنائي، صورة حاوية، شيفرة مصدرية، برمجيات ثابتة — يأتي المصدر المفتوح بأشكال متعددة. يختلف كل نوع في طبيعته واستخدامه والتحقق منه. يشرح هذا الدليل جميع الأنواع — وكيف تحميك مجاميع SHA الاختبارية من الملفات المتلاعب بها.

جميع الأنواع 📦What is SHA? 🔐
🧠 الصورة الشاملة

ما المقصود بـ «مخرجات البرمجيات» في المصادر المفتوحة؟

📦 الناتج البرمجي = أي شيء ينتجه مشروع برمجي

In software, an «مخرج برمجي» is any file or package that a project creates and distributes. When a developer writes code and shares it, the things they publish — the compiled program, the library file, the Docker image, the source code archive — are all artifacts.

Different artifacts serve different purposes, are installed differently, and need to be verified differently. Understanding the types is essential because: you wouldn't install a library the same way you install an operating system, and you wouldn't verify a container image the same way you verify source code.

🍳

Kitchen Analogy: Think of a restaurant kitchen. The recipe (الشيفرة المصدرية) تخبرك بكيفية الطهي. أما ingredients (المكتبات/الاعتماديات) هي المواد الخام. أما prepared meal (ملف ثنائي/حزمة) هو الناتج الجاهز للأكل. أما meal kit (صورة حاوية) هي كل المكونات مقاسة مسبقًا في علبة — فقط سخّن وقدّم. أما cookbook (الوثائق) تشرح جميع الوصفات. عناصر برمجية مختلفة لاستخدامات مختلفة.

📦 جميع الأنواع

أنواع مخرجات المصادر المفتوحة

📜

Source Code Foundation of Everything

The raw human-readable instructions — the recipe itself

Source code is the original text written by developers in a programming language (Python, C, Java, JavaScript, etc.). It's what you see on GitHub. It's human-readable — you can open it in a text editor and understand what it does. ALL other artifacts are created FROM source code.

How you get it: Clone a Git repository, download a .tar.gz or .zip archive from GitHub/GitLab, or extract it from a source package.

🍳

تشبيه: The recipe written on paper. You can read it, modify it, and cook from it — but you need a kitchen (compiler/interpreter) to turn it into a meal.

Getting source code
# استنسخ من Git (الأكثر شيوعًا) $ git clone https://github.com/nextcloud/server.git # نزّل كأرشيف $ wget https://github.com/project/repo/archive/v2.0.tar.gz $ tar -xzf v2.0.tar.gz # تحتاج الشيفرة المصدرية إلى الترجمة أو التفسير لتعمل # C/C++/Rust → ترجم أولًا → ثم شغّل الملف الثنائي # Python/JS/PHP → تشغيل مباشر (بالتفسير)
الشيفرة المصدرية لنواة LinuxPython scriptsAny GitHub repoأرشيفات .tar.gz / .zip
🔐 الأمن

Source code is the MOST transparent artifact — you can read every line and verify there's nothing malicious. This is why open source is more trustworthy: anyone can audit the source code. Always prefer reviewing source when security is critical.

📚

مكتبة (lib) Reusable Building Block

Pre-written code that YOUR program calls — you don't run it alone

المكتبة مجموعة من pre-written functions that developers use inside their own programs. You don't run a library directly — you import it into your code and call its functions. Libraries save developers from reinventing the wheel.

For example, instead of writing your own code to parse JSON, you use a JSON library. Instead of writing your own encryption, you use OpenSSL (a library). Libraries are the LEGO bricks of software.

🧱

تشبيه: LEGO bricks. You don't play with a single brick — you combine many bricks to build something. Each library is a specialized brick (one for colors, one for shapes, one for sounds).

Using libraries
# Python: استورد مكتبة import requests # مكتبة HTTP import numpy as np # مكتبة رياضيات import pandas as pd # مكتبة تحليل البيانات # JavaScript: استورد مكتبة import React from 'react'; # مكتبة واجهة مستخدم import axios from 'axios'; # مكتبة HTTP # C: اربط مكتبة أثناء الترجمة $ gcc myprogram.c -lssl -lcrypto # اربط مكتبة OpenSSL
OpenSSL (تشفير)React (UI)NumPy (رياضيات)FFmpeg (video)SQLite (database)zlib (compression)
📁 أنواع الملفات

Linux: .so (كائن مشترك)، .a (أرشيف ثابت) — مثل libssl.so
Windows: .dll (مكتبة ربط ديناميكي) — مثل openssl.dll
macOS: .dylib (مكتبة ديناميكية)
Python: ملفات .py أو .whl المترجمة (wheel)
Java: .jar (أرشيف Java)

🏗️

Framework Skeleton + Rules

مكتبة تتحكم في سير التنفيذ — وأنت تملأ الفراغات

إطار العمل يشبه المكتبة، لكن بينهما فرقًا أساسيًا: a library is called BY your code; a framework CALLS your code. يوفّر إطار العمل البنية (التوجيه وقاعدة البيانات والمصادقة)، وأنت تضيف الأجزاء الخاصة بك (منطق العمل والصفحات والبيانات).

🏠

تشبيه: A house frame (جدران وسقف وتمديدات صحية جاهزة). لا تبني الأساسات — بل تضيف الأثاث والطلاء والزينة. يحدّد إطار العمل مواضع الأبواب، وأنت تختار ألوانها.

Django (Python web)React (UI)Spring (Java)Laravel (PHP)Express.js (Node)Flutter (mobile)Next.js (React)
🤔 المكتبة أم إطار العمل — مبدأ هوليوود

المكتبة: «أنت تتصل بنا.» شيفرتك هي التي تقرر متى تستخدم المكتبة. Framework: «لا تتصل بنا، سنتصل نحن بك.» إطار العمل هو الذي يدير الأمور ويستدعي شيفرتك في اللحظات المناسبة. ويُسمى هذا «عكس التحكم» — the framework is in charge, not you.

📦

حزمة Ready to Install

Source code + metadata + dependencies bundled for easy installation

الحزمة هي bundled, installable unit — it contains the code (source or compiled), metadata (name, version, author, license), and a list of dependencies (other packages it needs). Package managers install, update, and remove packages automatically.

📬

تشبيه: A mail-order package — labeled with sender, contents list, and delivery instructions. The package manager is the postal service that delivers and installs it for you.

Installing packages with different managers
# حزم نظام Linux (.deb / .rpm) $ sudo apt install nginx # Debian/Ubuntu (.deb) $ sudo dnf install nginx # Fedora/RHEL (.rpm) # حزم Python (.whl من PyPI) $ pip install flask # من pypi.org # حزم JavaScript (من npm) $ npm install express # من npmjs.com # حزم Rust (crates) $ cargo install ripgrep # من crates.io # حزم Linux الشاملة $ snap install nextcloud # حزمة Snap $ flatpak install org.gimp.GIMP # حزمة Flatpak
📁 تنسيقات الحزم

.deb — Debian/Ubuntu/Mint (installed by apt/dpkg)
.rpm — Fedora/RHEL/SUSE (installed by dnf/yum/zypper)
.whl — Python wheel (installed by pip)
.gem — Ruby (installed by gem)
.jar / .war — Java (installed by Maven/Gradle)
.snap — Universal Linux (installed by snap)
.flatpak — Universal Linux (installed by flatpak)
.AppImage — Portable Linux app (just download and run!)

⚠️ Package Registries — Where They Live

PyPI (pypi.org) — Python · npm (npmjs.com) — JavaScript · crates.io — Rust · Maven Central — Java · RubyGems — Ruby · NuGet — .NET · مستودعات APT — Debian/Ubuntu · Flathub — Flatpak · Snap Store — Snap. Each language has its own registry.

⚡

Binary / Executable Compiled & Ready to Run

شيفرة الآلة — ينفّذها الحاسوب مباشرةً، دون حاجة إلى ترجمة

الملف الثنائي هو compiled machine code — the CPU runs it directly. When source code (C, C++, Rust, Go) is compiled, the result is a binary. You can't read it (it's 1s and 0s) — but it's FAST because the CPU doesn't need to translate anything.

Important distinction: Binaries are platform-specific! A Linux binary won't run on Windows, and an ARM binary won't run on x86. That's why projects publish binaries for EACH platform: linux-amd64, linux-arm64, windows-x64, macos-arm64, etc.

🍽️

تشبيه: The cooked meal — ready to eat immediately. You can't see the recipe by looking at it (decompilation is hard and imperfect), and it only fits certain plates (platforms).

Working with binaries
# ترجم الشيفرة المصدرية → ملف ثنائي $ gcc -o myprogram myprogram.c # C → ملف ثنائي $ go build -o myapp main.go # Go → ملف ثنائي $ cargo build --release # Rust → ملف ثنائي # نزّل ملفًا ثنائيًا مترجمًا مسبقًا $ wget https://example.com/tool-linux-amd64 $ chmod +x tool-linux-amd64 $ ./tool-linux-amd64 # شغّله! # تحقّق من نوع الملف الثنائي $ file tool-linux-amd64 tool-linux-amd64: ELF 64-bit LSB executable, x86-64
.exe (Windows)ELF (Linux)Mach-O (macOS).apk (Android).AppImage (ملف Linux محمول)
🚨 تحذير أمني

Binaries are OPAQUE — you can't easily verify what's inside. A binary COULD contain malware you can't see. This is why SHA checksums and GPG signatures are critical for binaries. ALWAYS verify the hash of downloaded binaries before running them. More on this below.

🐳

Container Image (Docker) Complete Environment

The application + ALL its dependencies + OS layer in one portable file

صورة الحاوية هي complete, self-contained package that includes: the application binary, all its libraries, configuration files, and even a minimal OS layer. It runs identically on ANY machine with Docker/Podman installed — no "works on my machine" problem.

📦

تشبيه: A meal kit box — contains the meal, plates, utensils, and even a mini-oven. You don't need anything except a table (Docker engine). Everything is pre-packaged to work perfectly together.

Working with container images
# اسحب صورة من Docker Hub $ docker pull nginx:latest $ docker pull nextcloud:28 $ docker pull postgres:16 # شغّله $ docker run -d -p 8080:80 nginx # ابنِ صورتك الخاصة من Dockerfile $ docker build -t myapp:1.0 . # تُخزّن الصور في السجلات: # Docker Hub (hub.docker.com) # GitHub Container Registry (ghcr.io) # Quay.io (Red Hat)
Docker Hub imagesصور OCIPodmanghcr.ioquay.io
🔐 التحقّق من صورة النظام

Container images have digests (بصمات SHA256 لكل طبقة). استخدم docker pull nginx@sha256:abc123... to pull by exact digest — guaranteeing you get the EXACT image, not a tampered version. Also check for Cosign signatures (التوقيع الحديث لصور الحاويات).

🔧

Firmware / ROM Embedded Software

Software burned into hardware — routers, Arduino, IoT devices, BIOS

Firmware is software that lives inside hardware devices — your router, your Arduino, your printer, your TV, your car's computer, your BIOS/UEFI. It's usually a binary image that gets "flashed" (written) to the device's memory chip. Open-source firmware gives you control over your hardware.

OpenWrt (أجهزة التوجيه)Coreboot (BIOS)Arduino sketchesTasmota (smart plugs)LineageOS (phones)ESPHome (IoT)
🚨 اكتب البرمجيات الثابتة بحذر!

Flashing wrong firmware can «لبنة» your device (make it completely non-functional). ALWAYS verify the SHA checksum of firmware files before flashing. ALWAYS follow the exact instructions for your specific hardware model.

💿

ISO Image / Disk Image Bootable System

Complete operating system or installation media in one file

صورة ISO هي complete disk image — usually a full operating system installer. You download it, write it to a USB drive (using Etcher), and boot from it to install an OS. Named after the ISO 9660 file system standard for CD-ROMs.

Linux Mint .isoZorin OS .isoUbuntu .isoProxmox .isoTails .iso (privacy OS)
🔐 تحقّق دائمًا من ملفات ISO!

صور ISO لأنظمة التشغيل الهدف رقم #1 لهجمات سلسلة التوريد — إن عدّل المهاجم ISO يمكنه زرع باب خلفي في النظام كاملًا. تنشر كل توزيعة Linux مجاميع SHA256 بجانب صور ISO. تحقّق دائمًا قبل التثبيت.

📖

Documentation & Assets Knowledge

أدلة، وإرشادات، ووثائق API، وترجمات، وموارد تصميم

Documentation is often overlooked but is a crucial artifact: READMEs, API references, tutorials, man pages, translation files, design files (icons, logos), and configuration examples. Good documentation is what separates usable software from abandoned experiments.

README.mdman pagesتوثيق API ‏(Swagger/OpenAPI)Wiki pagesTranslation .po filesملفات التراخيص
🧠

نماذج الذكاء الاصطناعي ومجموعات البيانات The Newest Type

Trained neural networks and training data — the AI age's artifacts

فئة جديدة من المخرجات البرمجية: أوزان نماذج الذكاء الاصطناعي (المعاملات المدرَّبة لشبكة عصبية، وغالبًا ما يبلغ حجمها GB–TB) و datasets (البيانات المستخدمة لتدريبها). تُوزَّع عبر Hugging Face وOllama وسجلات النماذج.

Getting AI model artifacts
# نزّل النموذج عبر Ollama $ ollama pull llama3.2:8b # أوزان النموذج بحجم 4.7 GB # نزّل من Hugging Face $ pip install huggingface_hub $ huggingface-cli download meta-llama/Llama-3.2-8B # تأتي النماذج كملفات: .gguf و.safetensors و.bin و.pt
Llama 3 (.gguf)Stable Diffusion (.safetensors)Whisper (.pt)Common Crawl (dataset)ImageNet (dataset)
🔐 SHA والتحقّق

ما SHA؟ وكيف تتحقق من التنزيلات

The most important security skill you'll learn today.

🔐 SHA = خوارزمية التجزئة الآمنة — آلة بصماتك الرقمية

SHA is a mathematical function that takes ANY file — no matter how big — and produces a fixed-length "fingerprint" (يُسمّى hash أو checksum). تتميّز هذه البصمة بخصائص مذهلة:

• Unique: Even changing ONE bit in the file produces a COMPLETELY different hash
• Fixed size: Whether the file is 1 KB or 100 GB, the hash is always the same length
• اتجاه واحد: You can't reverse-engineer the file from the hash
• Deterministic: The same file ALWAYS produces the same hash

👁️ See It in Action — How One Character Changes Everything

Input: "Hello"

SHA256:

185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

Input: "hello" (lowercase!)

SHA256:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Input: "Hello!" (add !)

SHA256:

334d016f755cd6dc58c53a86e183882f8ec14f52fb05345887c8a5edd42c87b7

See? Changing ONE character produces a completely different hash. If someone modifies a single byte in a 4 GB ISO file, the entire SHA256 hash changes. This is how you detect tampering.

📊 أنواع SHA — أيّها تستخدم؟

خوارزميةHash LengthالأمنUse Today?
MD5128 بتًا (32 محرفًا سداسيًا)❌ BROKENلا — اكتُشفت تصادمات عام 2004. يمكن للمهاجمين إنشاء ملفين مختلفين ببصمة MD5 نفسها.
SHA-1160 بتًا (40 محرفًا سداسيًا)⚠️ WEAKAvoid — Google proved a collision attack (SHAttered) in 2017. Still used by some old systems.
SHA-256256 بتًا (64 محرفًا سداسيًا)✅ STRONG⭐ YES — the standard. Used by Bitcoin, TLS, most Linux distros, Docker.
SHA-512512 bits (128 hex chars)✅ VERY STRONGYes — slightly stronger, used for passwords and high-security contexts.
SHA-3 (Keccak)Variable✅ STRONGESTYes — newest standard (2015), completely different algorithm from SHA-2. Used where future-proofing matters.
🔑 قاعدة عملية

Use SHA-256 for everything. It's the industry standard, supported everywhere, and has no known weaknesses. Only use SHA-512 or SHA-3 if you have specific high-security requirements. لا تستخدم MD5 أوSHA-1 أبدًا for security purposes.

🛡️ خطوة بخطوة: كيفية التحقّق من ملف نزّلته

When you download a Linux ISO, firmware, or any important file — here's how to verify it hasn't been tampered with:

Verify a download using SHA256
# الخطوة 1: نزّل الملف ومجموعه الاختباري معًا $ wget https://linuxmint.com/linuxmint-22-cinnamon-64bit.iso $ wget https://linuxmint.com/sha256sum.txt # الخطوة 2: احسب SHA256 للملف الذي نزّلته $ sha256sum linuxmint-22-cinnamon-64bit.iso a1b2c3d4e5f6... linuxmint-22-cinnamon-64bit.iso # الخطوة 3: قارن بالمجموع الاختباري الرسمي $ cat sha256sum.txt a1b2c3d4e5f6... linuxmint-22-cinnamon-64bit.iso # إذا تطابقا → فالملف أصلي! ✅ # إذا لم يتطابقا → فالملف تالف أو جرى العبث به! ❌ # سطر سريع للتحقق التلقائي: $ sha256sum -c sha256sum.txt linuxmint-22-cinnamon-64bit.iso: OK

🔏 توقيعات GPG — ما وراء SHA (سلسلة الثقة)

SHA tells you the file hasn't changed. But what if an attacker hacked the website and replaced BOTH the file AND the checksum? Then the SHA would match a tampered file!

GPG signatures solve this: the developer digitally signs the checksum file with their private key. You verify the signature with their public key. Even if the website is hacked, the attacker can't forge the developer's signature without their private key.

Verify GPG signature
# استورد مفتاح GPG الخاص بالمشروع $ gpg --keyserver keyserver.ubuntu.com --recv-keys ABCD1234 # تحقّق من توقيع ملف المجاميع الاختبارية $ gpg --verify sha256sum.txt.gpg sha256sum.txt gpg: Good signature from "Linux Mint ISO Signing Key" # إذا ظهرت "Good signature" → فالمجموع الاختباري أصلي # ثم تحقّق من ISO بمقارنته بالمجموع الاختباري (كما سبق) # هاتان طبقتان للتحقق: التوقيع + البصمة
🔐 سلسلة الثقة الكاملة

Developer writes code → compiles binary → calculates SHA256 hash → signs the hash with GPG key → publishes file + hash + signature. You download all three → verify GPG signature (proves authenticity) → verify SHA256 (proves integrity). If both pass, you can trust the file.

📋 طرق التحقّق بحسب نوع الناتج البرمجي

📜 الشيفرة المصدرية

Git commit hashes (SHA-1 → moving to SHA-256), signed tags (git tag -v)، وشارات التحقق من GitHub

📦 الحزم (.deb/.rpm)

Repos are GPG-signed. apt/dnf verify signatures automatically. apt-key manages trusted keys

📦 حزم pip/npm

PyPI has hash pinning (pip install pkg==1.0 --hash sha256:abc...). يستخدم npm خوارزمية SHA-512 في ملفات القفل

⚡ Binaries

SHA256 checksum files + GPG signatures. Always verify BOTH before running

🐳 Container Images

Image digests (sha256:abc...)، وتوقيعات Cosign، وDocker Content Trust ‏(Notary)

💿 صور ISO

SHA256 checksum files + GPG signatures. CRITICAL to verify — the #1 supply chain target

🔧 البرمجيات الثابتة

SHA256 checksums from manufacturer. Some use Secure Boot (signed firmware only)

🧠 نماذج الذكاء الاصطناعي

SHA256 on Hugging Face model cards. GGUF files have embedded checksums. Ollama verifies automatically

«يَا أَيُّهَا الَّذِينَ آمَنُوا إِن جَاءَكُمْ فَاسِقٌ بِنَبَإٍ فَتَبَيَّنُوا»
«يا أيها الذين آمنوا إن جاءكم فاسق بنبإ فتبينوا» — القرآن 49:6

Tabayyanoo — Verify! The Quran commands us to verify information before acting on it. SHA checksums are the digital form of this command. When you download a file from the internet, you don't blindly trust it — you VERIFY its integrity. This is Tabayyanoo in the digital age.

📋 مرجع سريع

مرجع سريع لمخرجات البرمجيات

TypeWhat It IsFile TypesHow to GetVerify With
📜 الشيفرة المصدريةHuman-readable instructions.py .js .c .rs .go .javagit clone, .tar.gzGit commit hash, signed tags
📚 المكتبةReusable code you import.so .dll .dylib .jar .whlpip, npm, aptتوقيعات مدير الحزم
🏗️ FrameworkSkeleton that calls YOUR codeSource + templatespip, npm, cargoمدير الحزم وبصمات ملف القفل
📦 حزمةBundled installable unit.deb .rpm .whl .gem .snapapt, dnf, pip, npmGPG repo signatures
⚡ BinaryCompiled machine codeELF, .exe, Mach-ODirect downloadSHA256 + GPG signature
🐳 Container ImageApp + dependencies + OSطبقات صور OCIdocker pullImage digest, Cosign
🔧 البرمجيات الثابتةSoftware for hardware.bin .hex .imgموقع الشركة المصنّعةSHA256 from official source
💿 صورة ISOBootable OS installer.isoDistro websiteSHA256 + GPG (CRITICAL!)
📖 التوثيقGuides, API docs, translations.md .html .po .rstIn the repoGit commit history
🧠 نموذج ذكاء اصطناعيTrained neural network.gguf .safetensors .pt .binOllama وHugging FaceSHA256 on model card
📦🔐✨

Know Your Artifacts. Verify Everything.

أصبحت تفهم كل أنواع عناصر المصدر المفتوح — من الشيفرة الخام للملفات الثنائية، ومن صور Docker لنماذج الذكاء الاصطناعي. وتعرف التحقق منها بمجاميع SHA وتواقيع GPG. لا تثق بملف منزّل دون تدقيق مجددًا. فتبيّنوا — تحقّق!

📜
Read source
🔐
Verify SHA
🔏
Check GPG
✅
Trust, then run

«وَأَلَنَّا لَهُ الْحَدِيدَ»

Every artifact is a piece of softened iron — powerful and useful. But just as a blacksmith tests the quality of iron before forging, you must verify every artifact before trusting it. ✨