سیاست استفاده از مجوزهای متن‌باز مجاز برای کاربری امن با خدمات آنلاین و کتابخانه‌های Client-Side در کاتالوگ OpenLibs.dev

ما اپلیکیشن‌های وب تعاملی و رابط‌های کاربری (UI) اختصاصی خود را بر روی راهکارهای محبوب Open Source توسعه می‌دهیم، بدون اینکه کد منبع اصلی خود کتابخانه‌ها را تغییر دهیم. ما به شدت بر شفافیت حقوقی قطعات استفاده شده نظارت می‌کنیم و تنها مجوزهای آسان‌گیرانه (permissive) امن را انتخاب می‌کنیم. این امر امنیت حقوقی ۱۰۰٪ را هم برای کاربران خدمات ما و هم برای توسعه‌دهندگانی که از نمونه‌های ما در پروژه‌های تجاری خود استفاده می‌کنند، تضمین می‌کند.

برای کاربران برنامه‌ها
برای توسعه‌دهندگان کتابخانه‌ها

راهنمای سریع سازگاری مجوزها

مجوز وضعیت پذیرش استفاده تجاری بستن کد اختصاصی (UI)
Unlicense مجاز بله بله (کامل، بدون قید و شرط)
MIT مجاز بله بله (حفظ حق تکثیر)
Apache 2.0 مجاز بله بله (حفظ حق تکثیر)
BSD-2-Clause مجاز بله بله (حفظ حق تکثیر)
BSD-3-Clause مجاز بله بله (حفظ حق تکثیر)
ISC مجاز بله بله (حفظ حق تکثیر)
MPL 2.0 مشروط (امن) بله بله (اگر کد ماژول تغییر نکند)
LGPLv3 مشروط (امن) بله بله (با اتصال پویا)
GPLv3 ممنوع همراه با ریسک خیر (نیازمند باز کردن کل وب‌سایت است)
AGPLv3 ممنوع همراه با ریسک خیر (کپی‌لفت کامل ویروسی)
CC-BY-NC ممنوع همراه با ریسک عدم کاربرد (غیر تجاری)

سوالات متداول در مورد مجوزها

بله، ۱۰۰٪ امن است. ما ابزارها را با دقت انتخاب می‌کنیم و مطمئن می‌شویم که آن‌ها منحصراً بر پایه مجوزهای آسان‌گیرانه (MIT, Apache 2.0, BSD-2-Clause, BSD-3-Clause, ISC, Unlicense) یا کپی‌لفت ضعیف (MPL 2.0, LGPLv3) هستند. شما می‌توانید از نمونه‌های تعاملی در توسعه‌های تجاری و بسته خود بدون هیچ‌گونه تعهد پنهانی استفاده کنید.

مجوز MPL 2.0 تنها در صورتی نیاز به افشای کد دارد که فایل‌های منبع خود کتابخانه را تغییر دهید. از آنجا که ما رابط‌های کاربری سفارشی و پوسته‌ها (Wrapper UI Layer) را روی کتابخانه‌ها بدون دست زدن به کد اصلی آن‌ها توسعه می‌دهیم، شرایط کپی‌لفت فعال نمی‌شوند. کد اختصاصی شما کاملاً بسته باقی می‌ماند.

در نرم‌افزارهای کلاسیک، LGPLv3 نیازمند لینک‌دهی پویا به کتابخانه است تا کاربر بتواند به طور مستقل نسخه آن را جایگزین کند. در وب Client-Side، جایی که کدها توسط باندلرها (Vite, Webpack) تجمیع می‌شوند، این مرز از نظر حقوقی مبهم است. با این حال، استفاده در OpenLibs.dev کاملاً امن است: ما آن‌ها را در هسته ادغام نمی‌کنیم، بلکه به عنوان ماژول‌های خارجی کاملاً ایزوله متصل می‌کنیم. از آنجا که کد منبع کتابخانه تغییر نمی‌کند و وب‌سایت شما صرفاً از طریق یک API خارجی با آن تعامل دارد، اثر کپی‌لفت به کدهای اختصاصی شما سرایت نمی‌کند — و کد تجاری سایت ۱۰۰٪ بسته می‌ماند.
Client-Side Only کد کلاینت امن بدون تعهدات پنهان.

مجوزهای آسان‌گیرانه (حداکثر آزادی)

MIT License

ایده‌آل

محبوب‌ترین مجوز در محیط JS. اجازه هر کاری را با کد می‌دهد: تغییر، فروش، بستن یا ادغام آن در نرم‌افزارهای تجاری.

برای Client-Side: توسعه‌دهنده به سادگی اعلان نویسندگی اصلی را در کد صفحه خود باقی می‌گذارد.

ISC License

پیش‌فرض برای npm

معادل حقوقی MIT، اما متن آن به یک پاراگراف کوتاه شده است. مجوز پایه‌ای که توسط دستور npm init ایجاد می‌شود.

برای Client-Side: کاملاً امن برای اپلیکیشن‌های وب. هیچ محدودیتی به جز حفظ حق تکثیر وجود ندارد.

Apache 2.0

حفاظت از پتنت

اجازه استفاده تجاری و بستن کد را می‌دهد، اما علاوه بر این از توسعه‌دهندگان در برابر اختلافات پتنت و ترول‌ها محافظت می‌کند.

برای Client-Side: اگر کد کتابخانه مستقیماً در وب‌سایت تغییر کند، باید مشخص شود کدام فایل‌ها تغییر کرده‌اند.

BSD (2/3-Clause)

امن

اجازه استفاده رایگان، تغییر و فروش را می‌دهد. نسخه 3-Clause به طور خاص استفاده از نام نویسنده کتابخانه را برای تبلیغات وب‌سایت ممنوع می‌کند.

برای Client-Side: سازگاری کامل با هرگونه پروژه‌های فرانت‌اند تجاری.

Unlicense / CC0 (مالکیت عمومی)

مالکیت عمومی

سلب کامل و بی‌قید و شرط هرگونه حق تکثیر در سراسر جهان. کد به مالکیت عمومی تبدیل می‌شود.

برای Client-Side: کاربر سایت ما حق دارد یک تابع JS را کپی کند، تمام ارجاعات را پاک کند و کد را به نام خود ثبت کند. هیچ محدودیتی وجود ندارد.

کپی‌لفت امن (توافق متقابل ضعیف)

MPL 2.0 (Mozilla Public License)

کپی‌لفت در سطح فایل

این مجوز فقط از خود کتابخانه محافظت می‌کند، اما از کد اپلیکیشن وب که آن را از طریق اسکریپت‌ها فراخوانی می‌کند، محافظت نمی‌کند. عالی برای ماژول‌های JS ایزوله.

برای Client-Side: توسعه‌دهنده می‌تواند به راحتی از این کتابخانه JS در وب‌سایت تجاری خود استفاده کند. اما اگر کد داخل فایل‌های خود کتابخانه را تغییر دهد، باید آن فایل‌های تغییر یافته را به صورت عمومی منتشر کند (مثلاً یک فورک در GitHub ایجاد کند). کد اصلی سایت محفوظ و بسته باقی می‌ماند.

LGPLv3 (GNU Lesser General Public License)

اتصال پویا

این مجوز می‌خواهد که کاربر بتواند به طور مستقل نسخه کتابخانه را جایگزین کند. در محیط وب که کدها تجمیع می‌شوند، این موضوع پیچیدگی‌های حقوقی ایجاد می‌کند، اما با معماری ما امن باقی می‌ماند.

برای Client-Side: شما می‌توانید آزادانه از این کتابخانه در سایت تجاری خود استفاده کنید اگر آن را به عنوان یک ماژول خارجی ایزوله (مثلاً از طریق CDN) متصل کنید یا بدون باندل استاتیک با کد اصلی برنامه، با API آن تعامل داشته باشید. اگر کد اصلی کتابخانه را تغییر ندهید، شرایط کپی‌لفت فعال نمی‌شوند و کد تجاری شما کاملاً بسته می‌ماند.

جزئیات مجوز (مجوز دوگانه)

مجوز دوگانه (به عنوان مثال، MIT / GPLv3)

امن در صورت انتخاب MIT

برخی از کتابخانه‌های JS (مانند JSZip محبوب) به طور همزمان تحت دو مجوز عرضه می‌شوند. این کار برای سازگاری با پروژه‌های بزرگ GPL (مانند وردپرس) انجام می‌شود.

برای Client-Side: شما حق قانونی دارید که دقیقاً مجوز MIT را انتخاب کنید. کد اپلیکیشن وب شما خصوصی و بسته باقی خواهد ماند و محدودیت‌های GPLv3 بر شما تأثیری نخواهد گذاشت.