سیف جنتیل (Seph Gentle)، یکی از پیشگامان جنبش Local-First Software، در سخنرانی پایانی کنفرانس سالانه اینجتمع، یک دیدگاه شفاف و جرئانه برای آینده تعامل دادهها ارائه داد. او استدلال کرد که مارا در یک «انتخاب نادرست» گیر افتادهایم: یا نرمافزارهای سنتی محلی که دادهها را در اسیر یک دستگاه میکنند، یا سرویسهای ابری که مالکیت داده را از کاربر میربایند. راهحل پیشنهادی جنتیل، یک سیستمعامل Local-First مفهومی است که در آن برنامهها بر یک لایه داده مشترک تکیه کرده و بهصورت مستقل تکامل مییابند، بدون اینکه سازگاریشان نقض شود.
چرا به یک قالب اسکیما (Schema) پایدار نیاز داریم؟
جنتیل تأکید کرد که ستون فقرات این دیدگاه، یک فرمت اسکیما باکیفیت، خودتوصیفکننده (Self-Describing) و استاتیکتایپ (Statically Typed) است. برخلاف JSON که برای پایداری بلندمدت «بسیار مطول (Verbose) و ضعیفتایپ (Weakly Typed)» توصیف شد، یا Protocol Buffers و Cap’n Proto که وابسته به اسکیماهای پیشبه اشتراکگذاشته شده هستند، فرمت مطلوب باید:
- دادههای ناشناس (Foreign Data) را حفظ کند، نه حذف کند.
- برای همگامسازی شبکه و استریم داده بهینه باشد.
- سازگاری را در افقهای زمانی طولانی تضمین نماید.
تکیهگاه نوین: تعبیه اسکیما در هدر فایل
نوآوری محوری جنتیل، ذخیره اسکیما در بایتهای اولیه هر فایل است. این رویکرد «خودتوصیفکننده» بودن واقعی را محقق میسازد: هر ابزاری میتواند بدون نیاز به فایل اسکیما جداگانه، داده را بازبینی و تفسیر کند. در سیستم آزمایشی SchemaBoi (نوشته شده به زبان Rust)، اسکیما فایل با اسکیما داخلی برنامه ادغام میشود. سیستم تایپ از انواع اولیه (Boolean, Integer, Float) تا ساختارهای پیچیده (List, Map, Struct/Enum یکپارچه) را پوشش میدهد.
مکانیزم حیاتی اینجا کار میکند: فیلدهای گمشده با پیشفرض پر شده، و فیلدهای ناشناس حفظ میشوند. این یعنی یکپارچگی داده حتی در مواجهه با نسخههای متفاوت نرمافزار، به-risk نمیافتد.
سه بُعد سازگاری: پیشرو، پسرو و جانبی
جنتیل تعریفهای کلاسیک را توسعه داد و مفهوم سازگاری جانبی (Sideways Compatibility) را معرفی کرد:
- سازگاری پسرو (Backward Compatibility): باز کردن فایلهای قدیمی در برنامههای جدید.
- سازگاری پیشرو (Forward Compatibility): باز کردن فایلهای جدید در برنامههای قدیمی.
- سازگاری جانبی (Sideways Compatibility): امکان توسعه موازی توسط تیمهای متفاوت بدون هماهنگی متمرکز.
برای دستیابی به سازگاری جانبی، جنتیل از شناسههای فیلد بهصورت جهانی یکتا (Globally Unique Field Identifiers) به جای برچسبهای افزایشی (Incrementing Tags) دفاع میکند. این کار از برخورد نامگذاری در توسعه موازی پیشگیری میکند و استقلال تیمها را حفظ میسازد.
دستورالعملهای ایمنی برای تکامل اسکیما
سخنرانی شامل یک چکلیست عملی برای توسعهدهندگان بود:
| عملیات | سطح ریسک |
|---|---|
| اضافه کردن فیلد اختیاری (Optional Field) | ✅ ایمن |
| اضافه کردن متغیر Enum جدید | ✅ ایمن |
| الزام کردن فیلد (Making Required) | ❌ پرخطر |
| تغییر نام فیلد | ❌ پرخطر |
| تغییر نوع فیلد | ❌ پرخطر |
جنتیل با استشهاد از موفقیتهای تاریخی ایمیل و HTTP، بر ترجیح تکامل تدریجی (Incremental Evolution) بر مهاجرتهای اجباری (Forced Migrations) تأکید کرد.
ملاحظات عملیاتی و چشمانداز آینده
در بخش پایانی، جنتیل به کدگذاری قانونمند (Canonical Encoding) برای سیستمهای قابل آدرسدهی بر اساس محتوا و استفاده از فیلدهای must_use به سبک ATProto پرداخت. بنچمارکها نشان میدهند فرمت SchemaBoi از نظر حجم و سرعت بهمراتب از JSON پیشی گرفته، اما او صراحتاً اعلام کرد: «این پروژه همچنان آزمایشی است.»
در نهایت، دیدگاه جنتیل به سمتی اشاره دارد که در آن داده واقعاً متعلق به کاربر است، آزاد از قید و شرط برنامهای که آن را خلق کرده. SchemaBoi گامی جسورانه در مسیر آزادی داده و تداوم دیجیتال است.






