چهارشنبه ۲۸ آذر ۰۳

متن باز

ایزی پای لرن یه وبلاگ تخصصی در مورد زبان قدرتمند پایتون هستش

متن باز

۱۵۷ بازديد


اصطلاح منبع باز یا متن باز (open source) اشاره به چیزی است که بدلیل ساختار قابل دسترس توسط عموم، مردم می‌توانند آنرا تغییر داده و به اشتراک بگذارند. 

پروژه‌ها و محصولات متن باز یا منبع باز به تبادل باز، همکاری مشارکتی، نمونه‌سازی سریع، شفافیت، شایسته سالاری و توسعه جامعه محور (community-oriented development) مشهور شده‌اند. 

نرم افزار متن باز یا منبع باز (open source) چیست؟

نرم افزار متن باز یا منبع باز به نرم افزاری اطلاق می‌شود که کد منبع (source code) آن توسط هر کسی قابل بازبینی، بررسی، ویرایش و توسعه است. یعنی برنامه‌نویسان رایانه می توانند با دستکاری و ایجاد تغییر در بخشی از نرم‌افزار یا برنامه عملکرد آن را تغییر دهند. برنامه‌نویسان رایانه که به کد منبع نرم‌افزار دسترسی دارند، میتوانند اشکالات آنرا رفع و یا ویژگی‌های جدیدی نیز به آن اضافه نمایند تا عملکردی بهتری داشته باشد.

 

تفاوت نر‌م افزارهای متن باز یا منبع باز با سایر نرم‌افزارها چیست؟

کد منبع برخی از نرم افزارها به صورت انحصاری، فقط توسط شخص، تیم و یا سازمان ایجاد کننده آن قابل رویت، تغییر و انتشار می‌باشد. مردم اینگونه نرم‌افزارها را صلاحاً اختصاصی (proprietary) یا متن بسته (closed source) می‌نامند.

در نرم افزارهای اختصاصی فقط نویسندگان اصلی حق کپی، بازبینی و تغییر و انتشار نرم افزار را دارند. برای استفاده از نرم افزارهای اختصاصی کاربران باید ابتدا توافق‌نامه‌ای را امضا کنند (معمولاً در سیستم‌های نرم افزاری این توافقنامه در اولین باری که سیستم اجرا شود و یا در حین عملیات نصب نمایش داده شده و توسط کاربر تایید می‌شود) که در آن تصریح شده که کاربران نباید کاری را که خلاف میل صاحبان نرم افزار است با آن انجام دهند. مایروسافت ویندوز، آفیس و فوتوشاپ نمونه‌هایی از نرم افزارهای اختصاصی (proprietary) هستند.

نرم افزارهای منبع باز یا متن باز (open source) اما متفاوت هستند. نویسندگان و تهیه کنندگان اولیه این نرم افزارها اجازه دسترسی به کد منبع (source code) این نرم افزارها را در اختیار همه کاربران برای مشاهده، یادگیری، اصلاح، تغییر عملکرد، توسعه و یا انتشار، قرار داده‌اند. 

مانند نرم افزارهای اختصاصی کاربران نرم افزارهای منبع باز یا متن باز (open source) نیز باید قبل از استفاده از این نرم افزارهای شرایط مجوز این نرم افزارها را قبول نمایند، اما این شرایط با شرایط مجوز نرم افزارهای اختصاصی (proprietary) به صورت چشمگیری متفاوت است.

چرا مردم ترجیح می‌دهند از نرم افزارهای منبع باز یا متن باز (open source) استفاده کنند؟

دلایل زیادی وجود دارد که مردم ترجیح می‌دهند از نرم افزارهای متن باز یا منبع باز استفاده کنند. از جمله این دلایل عبارتند از:

کنترل: خیلی از کاربران با توجه به دسترسی عمومی به کد منبع برنامه و امکان کنترل آن توسط خودشان از نرم افزارهای متن باز یا منبع باز استفاده می‌کنند. آنها می‌توانند با بازبینی کد منبع برنامه از عدم انجام کارهایی که نباید انجام شود اطمینان حاصل نموده و یا کارکرد بخشی از نرم افزار را مطابق سلیقه یا نیاز خود تغییر دهند. کاربران غیر برنامه نویس هم به این موضوع علاقه مندند چون می‌توانند به هر منظوری که خودشان دوست دارند از نرم افزار استفاده کنند و فقط محدود به مقاصدی که شخص دیگری برای آنها مشخص نموده نیستند.

آموزش: برخی دیگر به نرم افزارهای منبع باز یا متن باز علاقه‌مندند چون به آنها کمک می‌کند تا برنامه‌نویسان بهتری باشند. از آنجایی که کد منبع این نرم افزارها در دسترس عموم قرار دارد دانش‌اموزان به راحتی می توانند با مراجعه و مطالعه این کدها برنامه نویسی را بهتر بیاموزند.همچنین آن‌ها می توانند با به اشتراک گذاری کد منبع خود از دیگران برای نقد و نظر دعوت کرده و با نظرات آنها توانمندیها و مهارت‌های خود را گسترش دهند. هنگامی که افراد اشتباهاتی را در نرم افزارهای متن باز کشف می کنند با اشتراک این اشتباهات از تکرار آن توسط دیگران نیز جلوگیری به عمل می‌آورند.

امنیت (security): بسیاری از افراد ترجیح می‌دهند از نرم افزارهای متن باز یا منبع باز (open source) استفاده کنند چون این نرم افزارها را امن‌تر و پایدارتر از نرم افزارهای اختصاصی (proprietary) می‌یابند. چون کد منبع آن توسط هرکسی قابل مشاهده بوده و از آنجا که تغییر در بخش‌هایی از ان مستلزم کسب اجازه از نویسنده اصلی نیست میتوان اشکالات یا خطاهای مشاهده شده را نیز رفع نمود. از آنجایی که معمولاً این نرم افزارها دارای جوامع برنامه‌نویسی بزرگی نسبت به تیم‌های توسعه دهنده نرم افزارهای اختصاصی هستند لذا رفع اشکالات و خطاها نیز در آنها سرعتر انجام می‌شود.

ثبات (stability): بسیاری از کاربران ترجیح می‌دهند از برنامه‌های متن باز یا منبع باز در پروژه‌های مهم و دراز مدت خود استفاده کنند. چون با توجه به در دسترس بودن کد منبع برنامه این نگرانی که روزی برنامه‌نویس اصلی سیستم دیگر علاقه یا توان کار کردن بر روی پروژه را نداشته باشد و استفاده کنندگان دچار مشکل شوند وجود ندارد.

معروف ترین نرم‌افزارهای متن‌باز

  • لینوکس
  • پایتون
  • اندروید که خود نیز از هسته‌ی لینوکس می باشد.
  • نرم افزار محبوب تلگرام (البته سمت کلاینت)
  • وردپرس
  • جوملا
  • PHP، زبان اسکریپت نویسی سمت سرور

ویژگی نرم افزارهای Open Source

  • رایگان
  • توزیع مجدد آزاد: نرم‌افزار باید بدون نیاز به حق امتیاز یا هرگونه پرداختی برای فروش، امکان توزیع به صورت آزاد را داشته باشد.
  • کد منبع: کد نرم‌افزار باید شامل نرم‌افزار باشد و اجازه توزیع کد نرم‌افزار داده بشود (برای مثال از یک صفحه‌ی وب قابل دانلود باشد).
  • کار مشتق‌شده: اعمال تغییرات و کارهای بعدی روی نرم‌افزار امکان‌پذیر باشد و این نرم‌افزار جدید را بتوان تحت همان شرایط نرم‌افزار اولیه و اصلی تکثیر کرد.
  • نگهداری تمامیت کد منبع نویسنده اصلی نرم‌افزار: مجوز نرم‌افزار ممکن است اجازه تغییر در اصل متن برنامه را به کاربران ندهد و تنها اجازهٔ افزودن وصله‌های نرم‌افزاری و کامپایل مجدد برنامه را بدهد. در این شرایط توسعه دهندگان تنها می‌توانند توزیع‌هایی به کمک وصله‌های نرم‌افزاری خود ایجاد نمایند. مجوز نرم‌افزاری می‌باید صراحتاً ایجاد توزیع تازه با تغییر مجدد در کد اصلی را محدود نماید. نرم‌افزار توزیع شده تحت این مجوز می‌باید حتمن نام نسخه‌ای تازه را داشته باشد.
  • بین افراد و گروه‌ها تبعیضی گذاشته نشود: اجازه‌نامه نباید بین افراد یا گروه‌ها تبعیضی بگذارد.
  • هیچ تبعیضی در نوع استفاده از نرم‌افزار وجود نداشته باشد: هیچ گونه تبعیض و تمایزی بین هر فعالیتی که در راستای نرم‌افزار انجام می‌گیرد، وجود نداشته باشد. برای مثال نرم‌افزاری نباید بین استفادهٔ تجاری یا تحقیقاتی تبعیض قائل شود.
  • توزیع اجازه‌نامه: مجوز باید به هرکسی که یک کپی از نرم‌افزار را دریافت می‌کند نیز اختصاص یابد، بدون این‌که آن‌ها نیاز به توافق و هماهنگی با اجازه‌نامهٔ دیگری داشته باشند.
  • اجازه‌نامه نباید مخصوص یک محصول باشد: حقوق داده شده در مجوز یک نرم‌افزار نباید وابسته به این باشد که بخشی از بسته بزرگتری است. در صورتی که نرم‌افزار از محصول دریافت شده نیز جدا شود، باید همان حقوق را در استفاده، توزیع و ویرایش، به دریافت کننده نرم‌افزار را اعطا کند. تمام کسانی که آن نرم‌افزار را، که قبلاً به عنوان بخشی از محصول بزرگتری بوده است، دریافت و یا توزیع مجدد می‌کنند باید تمامی حقوق را مانند محصول اصلی داشته باشند.
  • اجازه‌نامه نباید نرم‌افزارهای دیگر را محدود کند: شرایط تعریف شده در مجوز نباید توزیع نرم‌افزار را درکنار نرم‌افزارها با مجوزهای دیگر محدود کند. برای نمونه نمی‌تواند تعیین کند که تمامی نرم‌افزارهای ارائه شده در لوح فشرده ارائه شده باید متن باز باشند.
  • اجازه‌نامه باید از نظر تکنولوژی بی‌طرف باشد: اجازه‌نامه نباید مختص یک تکنولوژی خاص باشد.

مزایای استفاده از نرم افزار منبع باز

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

معایب نرم افزار منبع باز

در نرم افزار منبع باز نیز معایب خاصی وجود دارد. یک نمونه از نگرانی‌هایی که در برخی از این نرم‌افزارها وجود دارد، این است که هیچ پشتیبانی فنی برای آن‌ها وجود ندارد! بنابراین، اگر یک مشکل در این نرم افزار پیش بیاید، ممکن است شخص نتواند آن‌ها را خودش حل کند. این ویژگی را می‌توان به این واقعیت نسبت داد که این نوع نرم افزارها طوری طراحی شده‌اند که تغییر آن توسط کاربران مختلف و پشتیبانی فنی امکان پذیر باشد.

با این حال دانلود نرم افزار، جوانب مثبت و منفی دارد. فرد باید قادر باشد نرم افزار واقعی را از یک نرم افزار مخرب تشخیص دهد.

-------------------------------------------------------------
برای مشاهده‌ی مطالب بیشتر در کانال تگرام ایزی پای لرن عضو شوید.

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در فارسی بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.