چیستگنو/لینوکس

نرم‌افزار متن‌باز (Open Source) چیست

آخرین بروزرسانی

در این آموزش قصد داریم شما را با مفهوم «نرم‌افزار متن‌باز» به انگلیسی (Open Source Software = OSS) آشنا کنیم اما قبل از اینکه وارد بحث شویم، نیاز است که چند تعریف و مفهوم بررسی شود.

تعریف سورس کد (کد منبع)

در بحث توسعه نرم‌افزار، مفهومی تحت عنوان «کد منبع» و به انگلیسی Source Code وجود دارد که به اختصار به آن سورس (Source) می‌گویند. اما این Source به چه معناست؟

سورس یک برنامه (Program) یا به‌صورت پیشرفته‌تر در یک نرم‌افزار (Software)، مجموعه کدهایی را شامل می‌شود که توسط انسان با یک زبان برنامه‌نویسی مثل زبان C یا پایتون و… نوشته شدند و در نهایت فایل خروجی را به‌صورت اجرایی برای استفاده عموم مردم ایجاد کردند.

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

یک فایل سورس در محیط‌های برنامه‌نویسی چیزی شبیه تصویر زیر خواهد بود:

نرم‌افزار متن‌باز

و فایل اجرایی همان چیزی است که ما از آن به‌عنوان نرم‌افزار در کامپیوتر استفاده می‌کنیم. معمولاً این فایل، در ویندوز با پسوند exe ارائه می‌شود که فقط کافی است، آن را نصب نموده و از آن استفاده کنیم. (مانند نرم‌افزارهای مختلفی مثل مایکروسافت آفیس، فتوشاپ، و…)

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

 

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

ناگفته نماند که از این جهت که نرم‌افزارهای Close Source، سورس کد را تحت انحصار خود قرار می‌دهند و آن را به کاربر ارائه نمی‌دهند، «نرم‌افزارهای انحصاری» هم نامیده می‌شوند.

اینجا بود که مفهومی تحت عنوان متن‌باز (Open Source) به‌ وجود آمد.

نرم‌افزار متن‌باز

 

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

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

به عبارت ساده‌تر در نرم‌افزار متن‌باز، سورس کد به‌عنوان بخشی از نرم‌افزار به کاربر ارائه شده و اگر آن کاربر به برنامه‌نویسی مسلط باشد می‌تواند نرم‌افزار را با تغییر و اضافه کردن ویژگی‌هایی که تمایل دارد، بهبود دهد.

همانطور که عنوان شد Microsoft Office و Adobe Photoshop نمونه‌هایی از نرم‌افزارهای انحصاری هستند و در نقطه مقابل LibreOffice و GIMP نمونه‌هایی از نرم افزار متن‌باز محسوب می‌شوند.

البته مفهوم «متن‌باز» فقط مختص نرم‌افزار متن باز نیست و قلمروی گسترده‌تری دارد. مثل استانداردهای باز (Open Standards)، مجوزهای متن‌باز (Open Source Licenses)، جنبش متن‌باز و موارد دیگری که سعی خواهد شد در آموزش‌های آینده به آن‌ها بپردازیم.

منبع: JUSTIT نوشته «فرشید نوتاش حقیقت»
https://bit.ly/2QfGO3a
برچسب ها

نوشته‌های مشابه

دکمه بازگشت به بالا
بستن